fix(dataflow): extract nested programs in their compiler context - #127
fix(dataflow): extract nested programs in their compiler context#127MikeeI wants to merge 1 commit into
Conversation
|
Thanks for this, and sorry it crossed with my own fix — #137 landed on Two designs. Mine extracts once after the whole call-graph loop, with a per-program AST index and disposal as it goes. Yours interleaves — each program extracted immediately after its own call-graph pass, reusing one worker pool. I genuinely expected yours to bound residency better. Apache Superset frontend (39 tsconfigs, 1,841 modules) — identical results:
Two independent implementations landing on the same numbers is the best corroboration either of us could ask for. microsoft/vscode at
Yours is slightly leaner and about two minutes quicker, but both hit the same wall. My hypothesis that interleaving would clear it was wrong — the residual cost is not the orchestration, so I am closing this as superseded rather than swapping the merged implementation for it. On the diff itself, since you are a new contributor here and I reviewed it properly: analyzer source and tests only, no workflow, packaging or dependency changes, no network calls, no process spawning, no dynamic evaluation. Clean. One thing worth passing on — the commits are authored as The remaining vscode gap is tracked in #112: incremental reuse and per-program sharding, which change the growth curve rather than shaving the constant. If that interests you, the interleaving you have built here is a reasonable foundation for the sharding step — it already establishes the per-program boundary that work needs. |
Summary
Extract each program's callables with its owning compiler context.
Resolve the missing L3/L4 coverage reported in #111 while reusing one worker pool.
Evidence
Changes
Risks and boundaries
Verification
bun test test/multi-tsconfig.test.tsbun testbun run typecheckI checked the relevant issues, comments, pull requests, and discussions; this pull request is not a duplicate.
Disclosure
Investigated thoroughly with GPT-5.6 at extra-high reasoning effort.
I used Oh My Pi as the agent framework.
This report is not generic or unreviewed AI-generated output.
Its claims were checked against the cited evidence.
It includes the relevant detail intended to help maintainers resolve the issue.
If reports like this are not useful to the project, please let me know.
I will refrain from submitting similar reports.
My intent is to help without wasting maintainer time or energy or discouraging their work.
Thank you for your work.