GitNexus/gitnexus/test/unit/scope-resolution/python
Gergő Magyar 191a954bf6
Some checks are pending
CodeQL / Analyze (javascript-typescript) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
Gitleaks / gitleaks (push) Waiting to run
Publish / Classify release event (push) Waiting to run
Publish / RC guard (marker + release-PR skip) (push) Blocked by required conditions
Publish / ci (push) Blocked by required conditions
Publish / Publish to npm (push) Blocked by required conditions
Publish / Build & Push RC Docker images (push) Blocked by required conditions
Scorecard / Scorecard analysis (push) Waiting to run
Trivy Image Scan / Trivy (gitnexus-cli) (push) Waiting to run
Trivy Image Scan / Trivy (gitnexus-web) (push) Waiting to run
fix(python): resolve calls through module-returning accessors (#3542)
* test(accuracy): retire repaired Python accessor gaps

* fix(python): connect module accessor resolution

* fix(python): resolve calls through module-returning accessors

Bind `_pc().target()` and `m = _pc(); m.target()` to the module's
function when a local accessor returns an imported module, and count
capped-out dropped names in the impact lower bound.

Closes #3497

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* refactor(python): share module-accessor position key (#3542)

- Reuse the capture-side positionKey in the receiver namespace resolver
  instead of a second line:col helper plus an inline template.
- Note why the synthetic { moduleScope, scopes: [] } input is sufficient
  for createNamespaceTargetCache (sealed disk-backed ParsedFile shape).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* refactor(python): reuse subtype-dispatch positionKey (#3542)

- Export the existing line:col positionKey from subtype-dispatch instead of
  defining an identical copy in module-accessors, so both Python capture
  side channels key positions through one helper.
- Apply prettier to the Function-scope indexing line.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(ci): unique test titles and rebaseline Python benches (#3542)

- impact-epistemic-lower-bound: `%j` rendered null, NaN and Infinity all as
  `null`, so the test-completeness audit rejected the duplicate identities.
  Use `%s` so every parameterized case has a distinct title.
- python-scope: capture fingerprint changes with the new module-accessor
  capture facts (golden captures were already updated).
- receiver-resolution: +4 Python call drops (125 -> 129). The two-step
  `x = f(); x.m()` form is now counted as an unresolved call instead of
  vanishing: fastapi-depends `router.get/post` (unknown, x3) and
  python-method-chain-binding `user.get_city()` (in-program; `User` has no
  `get_city`, so the site is genuinely unresolvable).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Gergo Magyar <gergomagyar0@gmail.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-10 18:41:51 +01:00
..
cached-tree-parity.test.ts feat(python): scope-based call resolution + registry-primary flip + perf + generalization (RFC #909 Ring 3) (#980) 2026-04-21 15:50:00 +01:00
python-builtin-descriptors.test.ts fix(python): model restoring helper calls in decorator identity (#3415) 2026-09-29 12:37:27 +01:00
python-captures-golden.test.ts fix(deps): upgrade native tree-sitter to 0.25.1 (#3531) 2026-10-10 13:07:59 +03:00
python-constructor-field-bindings.test.ts fix(python): resolve calls through constructor-injected fields (#2628) 2026-07-22 16:32:53 +01:00
python-fixtures.test.ts fix(scope): resolve local imports by lexical ownership (#3532) 2026-10-10 08:13:55 +03:00
python-generic-annotation-reduction.test.ts fix(resolution): resolve calls through a generic-typed field receiver in every language (#2833) (#2855) 2026-08-07 17:14:13 +01:00
python-global-declarations.test.ts fix(scope): resolve local imports by lexical ownership (#3532) 2026-10-10 08:13:55 +03:00
python-hooks.test.ts fix(test): align fixtures and mocks with current types (#3471) 2026-10-05 04:47:37 +01:00
python-import-probe-count.test.ts perf(import-resolvers): index every scanning resolver, consolidate the memo, gate every registered language (#2911) 2026-08-10 17:22:51 +01:00
python-import-target-parity.test.ts fix(python): resolve classes through module imports (#2770) 2026-08-01 06:02:47 +01:00
python-importer-ancestors.test.ts perf(import-resolvers): index every scanning resolver, consolidate the memo, gate every registered language (#2911) 2026-08-10 17:22:51 +01:00
python-local-imports.test.ts fix(scope): resolve local imports by lexical ownership (#3532) 2026-10-10 08:13:55 +03:00
python-module-accessors.test.ts fix(python): resolve calls through module-returning accessors (#3542) 2026-10-10 18:41:51 +01:00
python-module-namespace-construction.test.ts fix(python): resolve calls through aliased package re-exports (#3504) 2026-10-08 13:51:20 +03:00
python-subtype-dispatch.test.ts fix(python): resolve decorator identity like CPython (#3411) 2026-09-29 08:12:52 +00:00