First step of #6897, split smaller after two tries went red in a test they did not touch (test/merge-queue-gate-result.test.ts, which passes alone on main).
Done:
[ ] A new HTTP test seeds a forge big enough for the flow panel to be work to read (hundreds of open crew pulls across repositories and tens of thousands of events), then loads /boards as an admin while it polls /healthz every 25 ms.
[ ] It fails if any gap between /healthz answers goes over 250 ms, and it names the longest gap in its failure message.
[ ] It runs in under 10 s.
[ ] Code changes only if the test is red on main. readIdlePulls is already bounded and cached since #6912, so it may well pass as it is; a green pin is the point.
Files: test/boards-healthz-gap.test.ts
If the test finds the behaviour wrong, fix the module it names in the same pull and say so. If the check fails in a test this pull does not touch, name it in the pull rather than widening the change.
Before pushing: bun x tsc --noEmit and the new test.
First step of #6897, split smaller after two tries went red in a test they did not touch (
test/merge-queue-gate-result.test.ts, which passes alone on main).Done:
/boardsas an admin while it polls/healthzevery 25 ms./healthzanswers goes over 250 ms, and it names the longest gap in its failure message.readIdlePullsis already bounded and cached since #6912, so it may well pass as it is; a green pin is the point.Files: test/boards-healthz-gap.test.ts
If the test finds the behaviour wrong, fix the module it names in the same pull and say so. If the check fails in a test this pull does not touch, name it in the pull rather than widening the change.
Before pushing:
bun x tsc --noEmitand the new test.