You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks for the measured TS/JS call-resolution report. Triage: high-priority parsing/call-graph correctness under #592.
The failure mode is clear: unresolved receivers should not fall through to weak same-name strategies and fabricate CALLS edges to unrelated project symbols. I see #836 already targets this. Review should verify the TS/JS guard suppresses only weak member-call matching and does not drop resolved LSP-backed calls.
changed the title [-]TS/JS: unresolved-receiver method calls bind to same-named project symbols via weak strategies (~12.6% fabricated edges on a real monorepo)[/-][+]Withdrawn by author[/+]on Jul 4, 2026
Fixed on main via the resolver change that suppresses weak short-name strategies for TS/JS member calls with unresolved receivers — so a call like re.test() no longer fabricates a CALLS edge to an unrelated same-named symbol (e.g. SalesforceRestClient.test), and high-fan-in 'magnet' symbols stop poisoning get_architecture/trace_path. LSP-resolved calls are unaffected. Full credit to @tecnos-okazaki, whose work landed via a recovery PR (#840) after the original fork was deleted mid-merge. A retest on main/next release would be welcome. Note: genuinely cross-file inherited TS method resolution remains a separate gap, now tracked with a red reproduction.
Activity
DeusData commentedon Jul 4, 2026
Thanks for the measured TS/JS call-resolution report. Triage: high-priority parsing/call-graph correctness under #592.
The failure mode is clear: unresolved receivers should not fall through to weak same-name strategies and fabricate CALLS edges to unrelated project symbols. I see #836 already targets this. Review should verify the TS/JS guard suppresses only weak member-call matching and does not drop resolved LSP-backed calls.
[-]TS/JS: unresolved-receiver method calls bind to same-named project symbols via weak strategies (~12.6% fabricated edges on a real monorepo)[/-][+]Withdrawn by author[/+]DeusData commentedon Jul 4, 2026
Fixed on main via the resolver change that suppresses weak short-name strategies for TS/JS member calls with unresolved receivers — so a call like re.test() no longer fabricates a CALLS edge to an unrelated same-named symbol (e.g. SalesforceRestClient.test), and high-fan-in 'magnet' symbols stop poisoning get_architecture/trace_path. LSP-resolved calls are unaffected. Full credit to @tecnos-okazaki, whose work landed via a recovery PR (#840) after the original fork was deleted mid-merge. A retest on main/next release would be welcome. Note: genuinely cross-file inherited TS method resolution remains a separate gap, now tracked with a red reproduction.