Skip to content

Track the bounded two-pass extraction-retention split from #1925 #2081

Description

@zhiyuzhang001-a11y

Track the standalone bounded two-pass indexing split requested and approved in #1925 (maintainer ruling: #1925 (comment); detailed scope: #1925 (comment)).

The current full-cache path retains every file's complete extraction result through global resolution. #2013 already moved traversal scratch out of those results; the remaining extraction retention still scales with the entire repository. This is the retention portion discussed in #1997, not a claim to enforce a process-wide memory budget or solve all of that issue's consequences.

The approved split adds opt-in bounded batches: register definitions and retain only compact definition/import metadata in pass A, build cross-file registries against the complete project, then re-extract/resolve/release one batch at a time in pass B. It must preserve Java cross-file resolution, CBM_DISABLE_LSP_CROSS, graph/surface output and parse-coverage diagnostics. Every commit must build independently, with graph parity and memory/time measurements separated from unconditional optimizations.

No global scheduler, worker-scoping patch, TSNodeStack/result-array optimization or complexity-order rewrite is included. Worker scoping and complexity ordering remain with #2076 and #2079. #1925 remains the overall discussion entry point.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority/normalStandard review queue; useful PR with ordinary maintainer urgency.stability/performanceServer crashes, OOM, hangs, high CPU/memory

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions