test: fix the case2 fixture's missing request ops and the P10 timing band (#1873) #1925

Merged
jason.woltje merged 2 commits from org-base-reds into refactor 2026-11-11 06:38:10 +00:00
Owner

Two base reds (#1873), tests and test fixtures only.

  • test-case2 went 13 OK / 8 FAIL to 21/0. git bisect names f23a998ee (#797): it made every launch call request.admission and updated every in-process launcher fixture except scripts/case2/launch.mjs. The case2 fixture host answered invalid-host-request, so S3b never launched, and S3c, S4, S6, S7, S8 and S10 failed after it. The S6/S7 unauthenticated came from the missing thread capability, not from sign-in. The fixture now spreads the shared requestHostOps(runtime) map the cli fixtures use.
  • Case 1 row253 C4 P10 inner: the 2.75 s band now times the inner timer at the supervisor, not start-up plus the whole-host cleanup scan. The numbers and the shipped script are unchanged. The 1 s and 3 s timer mutants both fail.

Lane: Opus. Review: Sol, approve, no findings. It confirmed the cause by reverse and sufficiency controls and confirmed no assertion got weaker. Lane gate 1756/1, where the one red is row276 pm-list legacy inner timeout, byte-identical to base and flaky there too. It is a separate follow-up lane.

Rebased by the Lead onto 99ce579e3 (#1924), range-diff all =. On e588fb32c, test-case2 passed 21/0 and Case 1 alone passed 57/0.

Two base reds (#1873), tests and test fixtures only. - test-case2 went 13 OK / 8 FAIL to 21/0. `git bisect` names f23a998ee (#797): it made every launch call `request.admission` and updated every in-process launcher fixture except `scripts/case2/launch.mjs`. The case2 fixture host answered `invalid-host-request`, so S3b never launched, and S3c, S4, S6, S7, S8 and S10 failed after it. The S6/S7 `unauthenticated` came from the missing thread capability, not from sign-in. The fixture now spreads the shared `requestHostOps(runtime)` map the cli fixtures use. - Case 1 `row253 C4 P10 inner`: the 2.75 s band now times the inner timer at the supervisor, not start-up plus the whole-host cleanup scan. The numbers and the shipped script are unchanged. The 1 s and 3 s timer mutants both fail. Lane: Opus. Review: Sol, approve, no findings. It confirmed the cause by reverse and sufficiency controls and confirmed no assertion got weaker. Lane gate 1756/1, where the one red is `row276 pm-list legacy inner timeout`, byte-identical to base and flaky there too. It is a separate follow-up lane. Rebased by the Lead onto 99ce579e3 (#1924), range-diff all `=`. On e588fb32c, test-case2 passed 21/0 and Case 1 alone passed 57/0.
jason.woltje added 2 commits 2026-11-11 06:38:07 +00:00
test-case2.sh failed 8 of 21 steps on base from S3b on. Bisect names
f23a998ee (#797, "close project archive admission races") as the first
bad commit: it made every launch call request.admission and updated each
in-process launcher fixture except scripts/case2/launch.mjs. The fixture
host refused the op with invalid-host-request, so no launch started; the
S6/S7 "unauthenticated" and S8/S10 reds followed from the missing launch
capability, not from a separate session change.

The fixture now spreads requestHostOps from packages/cli/tests, the shared
map every other fixture uses, so it tracks the production protocol.
The row299 root-side pair (mos-1409) spans supervisor start-up and
clean_session, which scans every /proc entry on the host. With about
1,850 processes that adds 0.6 to 1.6 s, so the unchanged inner probe read
2.5 to 3.9 s and failed the [1.25, 2.75) band, while the 1 s inner-timer
mutant read 2.06 to 2.38 s and passed. Widening the bound alone would
have kept that mutant alive.

A second observer pair, also confined to the private test copy, brackets
only the inner timer: begin just before the supervisor starts its sleep,
end at the start of finish(). It writes only for the SO_PEERCRED peer and
at most one pair. The unchanged band now applies to that interval
(2.01 s on base, 1.00 s and 3.00 s for the 1 s and 3 s mutants, so both
fail). The root pair remains required and must contain the timer pair;
probe-inner-timeout already places it before the outer bound.
jason.woltje merged commit e588fb32cb into refactor 2026-11-11 06:38:10 +00:00
Sign in to join this conversation.