Conversation
Carry declared instance-field types through extraction and result compaction into the shared Python type registry so chained calls through imported classes resolve their receiver types. Refs #1277 Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
Copy inherited field-type pointer arrays into the writable registry arena before Python refines an existing field. Keep shared type objects intact and avoid retaining per-file scratch types in the sealed fallback. Add deterministic shared-state and later-overlay coverage, retaining the sequential Python field regression and adding a forced-parallel variant. Refs #1277 Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
Memoize C expression evaluation, index repeated scope and registry queries, and report incomplete walks explicitly on memo or depth failure. Refs #1527 Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
Preserve the arena-owned raw Module caller name so top-level resolutions join the extractor in both pipeline drivers. Add occurrence and ownership controls, including package modules and named lambdas. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
Use tracked zeroed storage for the parallel LSP failure array and release it with the matching memory class after worker joins. Keep existing raw-allocation allowances unchanged. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
|
Checkpoint and handover (2026-10-03 UTC) Published head: Python module callers are published with three new tests, unrun locally. Prerequisite: #2522. The tracked parallel-array allocator correction is included. This is the next prerequisite for #2528. Hosted snapshot at 2026-10-03 21:54:20 UTC: 3 queued. Confirm the required checks on this exact head before treating it as ready. No additional local build, test, lint, sanitizer, benchmark or CI runs were performed at this checkpoint, as requested. Earlier executed evidence remains historical; prepared tests and the newer source-reviewed changes must still be validated by the hosted gate. The campaign is paused at the maintainer’s request. Local monitoring has stopped; hosted jobs remain running. No merge was performed. Thanks for reviewing this change. |
Python extraction attributes a top-level call to its Module node, but the LSP added
.__module__to the caller. Exact caller joins therefore missed those resolutions. Copy the raw module QN without that suffix while preserving arena-owned caller strings.Adds exact-occurrence regressions for raw and cross/prebuilt resolution, mutable input lifetime, ordinary and package Module callers, function/method controls, and module-level lambda deduplication. Sequential and forced-parallel integration fixtures check real source/target nodes and LSP-resolved CALLS edges.
Parallel resolver error slots use matching tracked allocation and cleanup. The existing raw-allocation allowances are unchanged.
Validation: source review and
git diff --checkpassed. Builds, tests, compiler/syntax checks, revert proof and local CI are UNRUN, as requested.Package-local
__init__.pysymbol-scope normalization remains separate. Existing indexes need reindexing to refresh affected CALLS edges.Depends on #2522 (which includes #2498). This main-target PR contains that prerequisite.