You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
class (a): pnpm check:pm-dispatch-gates cannot complete inside the container's ~10-minute foreground cap — measured 9m0s then exit 124, twice; the wall-clock twin of #17708 #18201
Surfaced by #17708's dev as a class-(a) out_of_scope_findings entry, deliberately NOT fixed there (different gate, different mechanism). ⛔ Unlabelled for domain:* and ungraded — routing and grading are triage's. ⛔ The filer did not dedupe; dedupe words at the bottom.
Class (a) — a gate every lane derives, runs, and can never read
pnpm check:pm-dispatch-gatescannot complete inside this container's foreground cap.
measured 9m0s and still emitting self-test lines when `timeout 540` killed it
exit 124, reproduced TWICE
⇒ Every os-dev that derives its gate roster hits this: the command is in the derived set, it is started, it burns nine minutes of the agent's budget, and it is killed before it can return a verdict. The dev reported it honestly as 1 UNRUN rather than dressing it as a pass — but an UNRUN that recurs on every dispatch is not a reading anyone gets.
⭐ Why this is worth its own card and not an acceptance note
It is structurally the same defect as #17708, which landed today as f0b2db30d:
#17708's own filer recorded that the finding's discoverer judged it not worth filing and the seat overrode that — and #17708 turned out to have a real root cause (the min was taken over the gate process's limits, not the tsc children's) that no one had seen. ⇒ The same courtesy is owed here: the symptom is cheap to dismiss as "that gate is just slow", and it may not be.
Suggested shape (⛔ a proposal, not a prescription)
Measure where the nine minutes go before changing anything — a battery count and a per-battery wall clock would say immediately whether this is size or a hot spot.
If it is genuinely irreducible, the honest answer may be that it is CI-only and should say so loudly to a local caller, rather than being derived into every agent's roster and silently killed.
Acceptance
A profile, not a guess: where the wall clock goes, with the battery count beside it.
Whatever changes, a local run either completes or refuses loudly and quickly with a remedy naming why — ⛔ never a silent nine-minute kill.
⛔ No gate weakened: the assertions it makes today must still be made by somebody, and the PR says by whom.
Dedupe words
check:pm-dispatch-gates · foreground cap exit 124 · gate cannot complete locally · self-test wall clock · derived gate never read
⚠️ Related, ⛔ not asserted as duplicates: #17708 (the heap twin, landed f0b2db30d) and #17097 (a self-test running under continue-on-error, i.e. the other way a gate stops being read).
Surfaced by #17708's dev as a class-(a)
out_of_scope_findingsentry, deliberately NOT fixed there (different gate, different mechanism). ⛔ Unlabelled fordomain:*and ungraded — routing and grading are triage's. ⛔ The filer did not dedupe; dedupe words at the bottom.Class (a) — a gate every lane derives, runs, and can never read
pnpm check:pm-dispatch-gatescannot complete inside this container's foreground cap.⇒ Every
os-devthat derives its gate roster hits this: the command is in the derived set, it is started, it burns nine minutes of the agent's budget, and it is killed before it can return a verdict. The dev reported it honestly as1 UNRUNrather than dressing it as a pass — but an UNRUN that recurs on every dispatch is not a reading anyone gets.⭐ Why this is worth its own card and not an acceptance note
It is structurally the same defect as #17708, which landed today as
f0b2db30d:check:type-check-debtcheck:pm-dispatch-gatesNODE_OPTIONScap reached tsc's ceiling)exit 3— NOT MEASUREDexit 124— killed, UNRUN#17708's own filer recorded that the finding's discoverer judged it not worth filing and the seat overrode that — and #17708 turned out to have a real root cause (the min was taken over the gate process's limits, not the tsc children's) that no one had seen. ⇒ The same courtesy is owed here: the symptom is cheap to dismiss as "that gate is just slow", and it may not be.
⛔ What is NOT established
check:type-check-debtcannot be measured under the NODE_OPTIONS ceiling its callers mandate — tsc OOMs at 4033/4096 MB and the gate falls to exit 3, so a lane derives it, runs it, and never reads it #17708 — that card's cause was a heap-ceilingmin()over the wrong process, which has no wall-clock analogue. The cause here is unmeasured.scripts/pm/dispatch-gates.mjs, which [finding]check:type-check-debtcannot be measured under the NODE_OPTIONS ceiling its callers mandate — tsc OOMs at 4033/4096 MB and the gate falls to exit 3, so a lane derives it, runs it, and never reads it #17708's diff does not touch, so this is not fallout from that landing.Suggested shape (⛔ a proposal, not a prescription)
continue-on-errorin CI — both convert a gate nobody can read into a gate nobody notices, which is the [finding]dispatch-gates.mjshas 28 self-test cases and no CI job runs any of them #8162 / [finding]report-test-timings --self-testruns in CI but undercontinue-on-error, so a broken timing parser stays green — a self-test with no teeth, one step subtler than the #8162 family #17097 family this repo keeps filing cards about.Acceptance
Dedupe words
check:pm-dispatch-gates·foreground cap exit 124·gate cannot complete locally·self-test wall clock·derived gate never readf0b2db30d) and #17097 (a self-test running undercontinue-on-error, i.e. the other way a gate stops being read).Generated by Claude Code