Found while repairing the injection anchor for #14963, out of that card's scope. Filed unassigned.
The reading
probeEarlyReturn spawns both the baseline and the mutated run with
export function probeEarlyReturn(absFile, entry, { timeout = 120000 } = {}) {
and spawnSync's timeout kills the child with SIGTERM, which the probe reads (correctly) as NOT MEASURED — killed by SIGTERM. That budget is smaller than at least one self-test in the census.
Measured on cf6b67164, in an installed worktree, one process at a time:
time node scripts/pm/dispatch-gates.mjs --self-test
# real 6m39.690s — exit 0, `✓ dispatch-gates self-test: 1415 cases pass.`
and the probe over that same file, through main()'s own entry selection:
--- main()'s default timeout (120s) --- 120.2s
{ "verdict": "NOT MEASURED", "why": "killed by SIGTERM" }
The baseline is killed at 120s and the mutated run is never spawned, so a plain --probe cannot reach a verdict on this file however the anchor is spelled.
Why it matters
It is the safe direction — NOT MEASURED, never a false HELD — and the row does name its own reason, which is more than the ledger null it replaces did. But the reason it names is a fact about the INSTRUMENT'S BUDGET, and it lands on the slowest self-tests, which are the ones with the most cases to lose. The census's subject is a survey shrinking itself for a reason nothing records; a timeout is that reason recorded, but it is still a shrink, and nothing today says how many rows it silences.
How many rows: NOT SWEPT here. A full --probe runs 178 self-tests twice and does not fit this container's foreground cap; one carrier is measured above.
Boundary — what this is NOT
Options, not chosen here
Whether the repair is a larger default, a per-row budget in the ledger, a timeout scaled from a measured baseline duration, or leaving it and teaching the sweep to report the timed-out population as its own number, is the instrument's own question — the same standing question as #15391 / #15371 / #14963.
Filed from #14963.
Generated by Claude Code
Found while repairing the injection anchor for #14963, out of that card's scope. Filed unassigned.
The reading
probeEarlyReturnspawns both the baseline and the mutated run withand
spawnSync'stimeoutkills the child withSIGTERM, which the probe reads (correctly) asNOT MEASURED — killed by SIGTERM. That budget is smaller than at least one self-test in the census.Measured on
cf6b67164, in an installed worktree, one process at a time:and the probe over that same file, through
main()'s own entry selection:The baseline is killed at 120s and the mutated run is never spawned, so a plain
--probecannot reach a verdict on this file however the anchor is spelled.Why it matters
It is the safe direction — NOT MEASURED, never a false HELD — and the row does name its own reason, which is more than the ledger
nullit replaces did. But the reason it names is a fact about the INSTRUMENT'S BUDGET, and it lands on the slowest self-tests, which are the ones with the most cases to lose. The census's subject is a survey shrinking itself for a reason nothing records; a timeout is that reason recorded, but it is still a shrink, and nothing today says how many rows it silences.How many rows: NOT SWEPT here. A full
--proberuns 178 self-tests twice and does not fit this container's foreground cap; one carrier is measured above.Boundary — what this is NOT
scripts/). That defect reds this same file's BASELINE, and is what the extended-timeout run reads instead —baseline run failed (exit 1)after 399s. The two mask each other: with the shipped timeout you see SIGTERM, with a larger one you see [finding] measure-self-test-floor's probe writes its mutated copy INTO scripts/, so gates that scan that tree read it — check-pnpm-filter-targets' green self-test records NOT MEASURED (baseline exit 1) for that reason alone #15515.Options, not chosen here
Whether the repair is a larger default, a per-row budget in the ledger, a timeout scaled from a measured baseline duration, or leaving it and teaching the sweep to report the timed-out population as its own number, is the instrument's own question — the same standing question as #15391 / #15371 / #14963.
Filed from #14963.
Generated by Claude Code