Skip to content

fix(pipeline): suppress weak Python member calls - #1324

Draft
Enferlain wants to merge 1 commit into
DeusData:mainfrom
Enferlain:fix/1276-python-weak-member-calls
Draft

fix(pipeline): suppress weak Python member calls#1324
Enferlain wants to merge 1 commit into
DeusData:mainfrom
Enferlain:fix/1276-python-weak-member-calls

Conversation

@Enferlain

Copy link
Copy Markdown

What does this PR do?

Fixes #1276.

Python attribute calls were not consistently classified as member calls, allowing weak suffix_match, unique, and field_type_hint resolutions to create false-positive CALLS edges when no import-reachable target existed.

This change marks non-self/cls/super receiver calls as method calls and applies the existing weak-member suppression policy consistently in sequential and parallel resolution. Strong LSP, import, same-module, and service resolutions remain available. Regression coverage exercises extraction plus both pipeline modes.

Verification

  • make -f Makefile.cbm test-focused TEST_SUITES='cypher extraction registry pipeline mcp index_resilience'
  • Result: 884 passed, 2 skipped

Checklist

  • Every commit is signed off (git commit -s) and follows the Contributor License Agreement
  • Full test suite passes locally (make -f Makefile.cbm test) — focused sanitized suites passed
  • Lint passes (make -f Makefile.cbm lint-ci) — not run locally
  • New behavior is covered by regression tests that would fail without this fix

Signed-off-by: imi <hoshinoimi@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Python unresolved member calls produce false-positive CALLS edges via suffix_match and field_type_hint

1 participant