Development record
TestHookSessionEndRetriesATransientRootFailure fails on main whenever the machine is loaded: the session-end hook begins a retry only when its pause and a detection costed at the first detection's time end inside the 1.2-second sessionEndRetryBudget, and at a load average of 25 the first detection alone used that up, so the hook skipped the retry ('no time is left to ask again'), staged nothing, and the test failed reproducibly, on main and on a merge alike. Every make preflight on a busy machine therefore fails in internal/surface/cli, and the skip path itself had no test.
TestHookSessionEndRetriesATransientRootFailure fails on main whenever the machine is loaded: the session-end hook begins a retry only when its pause and a detection costed at the first detection's time end inside the 1.2-second sessionEndRetryBudget, and at a load average of 25 the first detection alone used that up, so the hook skipped the retry ('no time is left to ask again'), staged nothing, and the test failed reproducibly, on main and on a merge alike. Every make preflight on a busy machine therefore fails in internal/surface/cli, and the skip path itself had no test.
Grounds
- pursued: both tests pass at a load average near 25, where the old test failed every run; a test that fails on a busy machine again would show this wrong
Frontmatter
| id | iss-2610241235133916 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2610241235133916-testhooksessionendretriesatransientrootf.md
open on GitHub ↗ · commit history ↗
mentions1
- iss-2610241157493381TestHookSessionEndRetriesATransientRootFailure fails on an unchanged branch from origin/main (2026-10-24): the session-end hook's retry after a simulated transient git failure finds 'no time is left to ask again' and stages nothing, so the retry budget is spent before the retry on a loaded machine (several concurrent sessions and test runs); the test asserts timing-dependent behaviour against wall-clock time.