Development record
The ci.yml check job carries timeout-minutes: 15 while its macOS leg takes fourteen minutes on a quiet pull-request run (run for PR 589: started 01:28:58Z, completed 01:43:12Z). In the merge-group run for the same PR the macOS leg was cancelled at fifteen minutes inside the race lane, the merge queue removed the entry, and auto-merge was disarmed, with no code at fault. A job budget one minute above the observed quiet-run duration is a wall-clock assertion on a shared runner, the same class as iss-2608292246210181 and the bootstrap self-check site: every queue entry inherits a coin flip. The fix is headroom proportionate to the measured duration, and the durable remedy is the class remedy those records already name.
The ci.yml check job carries timeout-minutes: 15 while its macOS leg takes fourteen minutes on a quiet pull-request run (run for PR 589: started 01:28:58Z, completed 01:43:12Z). In the merge-group run for the same PR the macOS leg was cancelled at fifteen minutes inside the race lane, the merge queue removed the entry, and auto-merge was disarmed, with no code at fault. A job budget one minute above the observed quiet-run duration is a wall-clock assertion on a shared runner, the same class as iss-2608292246210181 and the bootstrap self-check site: every queue entry inherits a coin flip. The fix is headroom proportionate to the measured duration, and the durable remedy is the class remedy those records already name.
Grounds
- pursued: the queue drop was a timing wobble on a shared runner, not a code fault; headroom proportionate to the measured duration is the class remedy the sibling records name, and the workflow is the only place the budget lives
Frontmatter
| id | iss-2609020215079051 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | major |
.abcd/work/issues/resolved/iss-2609020215079051-the-ci-yml-check-job-carries-timeout.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2608292246210181TestGallopingProbeCostIsLinearInLineLength in internal/adapter/scanner is a wall-clock scaling test (quadruple the line, require under 8x) that sits in release.yml's verify job, so a loaded shared runner can refuse a tag on timing alone: the v0.6.9 auto-release measured 8.4x (2.16s to 18.1s) after the same tree passed the merge-queue check leg, while the release machine measures 4.0x across three runs; the tag was already minted, so the refusal consumed nothing but needed a manual rerun. The scaling property should be asserted on operation counts or a deterministic probe budget rather than elapsed time, or the test excluded from the verify lane.