test(cli): band the legacy and query inner timers at the supervisor (#1873) #1928

Merged
jason.woltje merged 2 commits from org-timing2 into refactor 2026-11-11 08:58:39 +00:00
Owner

Tests only (#1873): the last load-sensitive timing bands in Case 1 and case2-unit.

  • The five row276 legacy inner-timeout tests (talk, pm-list, claude-version, node-version, precheck) and the case2-unit row253 C4 <query> tests now band the inner timer where it fires, measured at the supervisor through private-copy observers, not the whole call around start-up and cleanup. This is the same approach #1925 took for P10.
  • Bands: legacy 0.5 s timer in [0.25, 1.25), query 5 s timer in [4.25, 5.75). The new lower bound catches a zero timer, which the old tests missed. Exact status, reason and descendant cleanup checks stay. The 4.5 s and 9.5 s fixture guards stay armed, so a call that waits for the guard instead of the timer still fails.
  • New case-inner-timing.test.mjs checks the observer fixture itself: anchors, byte reversal, quoting, malformed pairs.
  • No change to packages/*/src, scripts/ or roles/.

Tradeoff, accepted by the Lead: these tests no longer bound cleanup duration. A slow-cleanup regression of about 2 s would pass them. A separate unloaded cleanup-duration test is a follow-up.

Lane: Sol. Review: Opus, changes 2. P2: common unit() template overrides hid broken shipped defaults; fixed so only the C4 call gets them (shipped script 103/0, broken-defaults mutant 44/59). P3: the tradeoff above is now stated. Proof: under paired organization and bus load, BASE failed the legacy group every round and the query group in two of three rounds, while the candidate passed every round. Too-short, too-long and 60 s timer mutants all fail. Lane gate on afe131444: cli suite 1484/0, test-case2 21/0. Lead Case 1 alone on afe131444: 60/1 at load 11-15. The red was row253 P10 refuses unsafe metadata (F10 node-version inner-session, exit 85 from the case1-accept.sh supervisor loop). This PR does not touch that test or the script. Reruns of that test: BASE 3/3 pass, candidate 5/5 pass, at load 9-12. Recorded as a load flake in the shipped supervisor, follow-up filed with the Lead.

Tests only (#1873): the last load-sensitive timing bands in Case 1 and case2-unit. - The five row276 legacy inner-timeout tests (talk, pm-list, claude-version, node-version, precheck) and the case2-unit `row253 C4 <query>` tests now band the inner timer where it fires, measured at the supervisor through private-copy observers, not the whole call around start-up and cleanup. This is the same approach #1925 took for P10. - Bands: legacy 0.5 s timer in [0.25, 1.25), query 5 s timer in [4.25, 5.75). The new lower bound catches a zero timer, which the old tests missed. Exact status, reason and descendant cleanup checks stay. The 4.5 s and 9.5 s fixture guards stay armed, so a call that waits for the guard instead of the timer still fails. - New `case-inner-timing.test.mjs` checks the observer fixture itself: anchors, byte reversal, quoting, malformed pairs. - No change to packages/*/src, scripts/ or roles/. Tradeoff, accepted by the Lead: these tests no longer bound cleanup duration. A slow-cleanup regression of about 2 s would pass them. A separate unloaded cleanup-duration test is a follow-up. Lane: Sol. Review: Opus, changes 2. P2: common `unit()` template overrides hid broken shipped defaults; fixed so only the C4 call gets them (shipped script 103/0, broken-defaults mutant 44/59). P3: the tradeoff above is now stated. Proof: under paired organization and bus load, BASE failed the legacy group every round and the query group in two of three rounds, while the candidate passed every round. Too-short, too-long and 60 s timer mutants all fail. Lane gate on afe131444: cli suite 1484/0, test-case2 21/0. Lead Case 1 alone on afe131444: 60/1 at load 11-15. The red was `row253 P10 refuses unsafe metadata` (F10 node-version inner-session, exit 85 from the case1-accept.sh supervisor loop). This PR does not touch that test or the script. Reruns of that test: BASE 3/3 pass, candidate 5/5 pass, at load 9-12. Recorded as a load flake in the shipped supervisor, follow-up filed with the Lead.
jason.woltje added 2 commits 2026-11-11 08:58:35 +00:00
jason.woltje merged commit afe131444c into refactor 2026-11-11 08:58:39 +00:00
Sign in to join this conversation.