Repository navigation
simplify(diagnostics): share daemon compiler admission and bounds - #4546
ScriptedAlchemy wants to merge 3 commits into
Conversation
Share compiler child capacity across admitted project producers and charge active children to the installed background CPU authority. Keep permits with the bounded runner through cancellation and reap. Replace eager per-run semaphore tasks with a bounded lazy stream. Refuse deadline and output overruns instead of publishing clean reports. Close queued and running compiler work when daemon admission closes. Verify isolated producer limits, wait/run cancellation, output refusal, large valid reports, generation reuse, and daemon shutdown through Bazel.
|
There was a problem hiding this comment.
🔍 Devin Review: 1 flag
Not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
|
Independent source review at exact head
A separate correction worker is now implementing actual compiler supervision and project-owned terminal settlement with deterministic regressions. The dependent #4440 publication is held until the correction is reviewed and verified. No timeout increase, higher capacity, clean empty result, or branch rewrite is proposed. The existing local test report is preserved, but does not discharge these untested lifetime boundaries. |
…lify/diagnostics-compiler-admission
…lify/diagnostics-compiler-admission
Why
Each producer had its own four-child compiler pool and effectively unlimited subprocess capture. Concurrent project producers did not share their child capacity.
What changed
Scope
Fixes #4439. Parent link is #4545 on
simplify/diagnostics-project-compiler-status.The project-owned status cutover remains intact. Compiler-owned configuration evidence in #4440 and operation retirement in #4403 remain separate links. This change does not modify #4524.
Tradeoffs
The existing background CPU authority meters active compiler work. A daemon-owned semaphore additionally bounds live compiler children without another scheduler or a process-global registry. No RSS reduction or production budget calibration is claimed.
Blast Radius
Automatic project-pinned TypeScript diagnostics now share daemon admission. A stalled or excessive-output compiler fails rather than publishing clean evidence. Retrieval still reads generation-bound publications without running a compiler.
Verification