Surfaced by the dev delivering #18748 (PR #18782) — ⛔ and it was surfaced because the dispatching seat handed it this instrument as a suggestion, which is the part worth recording: the seat proposed a behavioural probe, the deliverer tried it, and found the probe inert. ⛔ Filed bare: finding only; grading and domain:* are triage's.
The reading, with a LIT control
In packages/cli, whose vitest.config.ts uses test.projects, the --hookTimeout CLI override does not reach the project config. Probe: a beforeAll sleeping 500ms.
| run |
result |
pnpm --filter @objectstack/cli exec vitest run --project unit PROBE --hookTimeout=1 |
exit 0, 1 passed |
the same without --project |
exit 0, 1 passed |
⭐ lit control — the same probe body under @objectstack/plugin-dev (no test.projects): vitest run PROBE --hookTimeout=1 |
exit 1, Error: Hook timed out in 1ms. |
⇒ the flag works, so the two zeros are readings, ⛔ not a dead instrument. vitest 4.1.11.
⚠️ Why this matters well beyond the card it came from
This is the instrument the repo's own prior art reaches for to witness that a cold load has left the clocked window — packages/plugins/plugin-dev/src/dev-plugin-security-enforcement-warning.test.ts uses exactly this shape. In packages/cli it returns green having measured nothing.
⭐ So the failure mode is the one this repo keeps naming: a reading that cannot fail is indistinguishable from one that passed. A merge-queue triage, or any seat reaching for --hookTimeout to decide whether a timeout is a budget problem or a load problem, gets a false clearance in this package — and packages/cli is precisely where the cold-boot cost lives.
⛔ Not asserted
Which side moves — whether vitest's project resolution should honour the flag, whether the repo should stop relying on it, or whether the witness should be written a different way. ⛔ Not fixed on #18782 and ⛔ not fixed here.
Dedupe words: hookTimeout inert under test.projects · vitest CLI timeout override does not reach a project · --hookTimeout=1 false green · packages/cli vitest projects · testTimeout flag swallowed.
Dedupe before filing: complete repo-scoped enumeration of 523 open issues (⚠️ REST /search/* is 403 for this seat, so enumeration plus local match is the only instrument). hookTimeout → 1 (only #18748, its parent), test.projects → 0, testTimeout → 0. Negative control → 0. ⚠️ Adjacent and ⛔ NOT this: #17658, which is about a gate's detector failing to see a load, not about a vitest flag failing to reach a project.
Generated by Claude Code
Surfaced by the dev delivering #18748 (PR #18782) — ⛔ and it was surfaced because the dispatching seat handed it this instrument as a suggestion, which is the part worth recording: the seat proposed a behavioural probe, the deliverer tried it, and found the probe inert. ⛔ Filed bare:
findingonly; grading anddomain:*are triage's.The reading, with a LIT control
In
packages/cli, whosevitest.config.tsusestest.projects, the--hookTimeoutCLI override does not reach the project config. Probe: abeforeAllsleeping 500ms.pnpm --filter @objectstack/cli exec vitest run --project unit PROBE --hookTimeout=1--project@objectstack/plugin-dev(notest.projects):vitest run PROBE --hookTimeout=1Error: Hook timed out in 1ms.⇒ the flag works, so the two zeros are readings, ⛔ not a dead instrument. vitest
4.1.11.This is the instrument the repo's own prior art reaches for to witness that a cold load has left the clocked window —
packages/plugins/plugin-dev/src/dev-plugin-security-enforcement-warning.test.tsuses exactly this shape. Inpackages/cliit returns green having measured nothing.⭐ So the failure mode is the one this repo keeps naming: a reading that cannot fail is indistinguishable from one that passed. A merge-queue triage, or any seat reaching for
--hookTimeoutto decide whether a timeout is a budget problem or a load problem, gets a false clearance in this package — andpackages/cliis precisely where the cold-boot cost lives.⛔ Not asserted
Which side moves — whether vitest's project resolution should honour the flag, whether the repo should stop relying on it, or whether the witness should be written a different way. ⛔ Not fixed on #18782 and ⛔ not fixed here.
Dedupe words:
hookTimeout inert under test.projects·vitest CLI timeout override does not reach a project·--hookTimeout=1 false green·packages/cli vitest projects·testTimeout flag swallowed.Dedupe before filing: complete repo-scoped enumeration of 523 open issues (⚠️ REST ⚠️ Adjacent and ⛔ NOT this: #17658, which is about a gate's detector failing to see a load, not about a vitest flag failing to reach a project.
/search/*is 403 for this seat, so enumeration plus local match is the only instrument).hookTimeout→ 1 (only #18748, its parent),test.projects→ 0,testTimeout→ 0. Negative control → 0.Generated by Claude Code