Measure the retained graph
The full topology exposed roughly 90,000 parent-linked TypeScript ASTs held by an unbounded canonical cache.
100,000 MODULES · 10 GiB HEAP · STABLE SYMBOLS
Kudzu now bounds complete canonical TypeScript records while preserving stable source-position identity and reparsing evicted modules only when needed.
BOUNDED COMPILER MEMORY
The full topology exposed roughly 90,000 parent-linked TypeScript ASTs held by an unbounded canonical cache.
A small LRU releases old complete records while source text and stable module identities remain authoritative.
Evicted modules reparse to the same source-position symbol IDs, declarations, diagnostics, and output.
The complete 10,110,000-line topology finishes under the same 10 GiB heap that previously exhausted memory.
The retained session recompiles ten modules, renders one page, and matches a clean changed-source build.
The change affects compiler scratch only and adds no semantic primitive, runtime concept, or browser artifact.
UPGRADE
npm install @kudzujs/core@^0.16.16