Skip to content

🐛 Separate passive-supervision bootstrap from subscription checks - #1096

Merged
taras merged 2 commits into
mainfrom
codex/passive-supervision-1091-postmerge
Nov 4, 2026
Merged

taras merged 2 commits into
mainfrom
codex/passive-supervision-1091-postmerge

Conversation

@taras

@taras taras commented Nov 4, 2026 •

Copy link
Copy Markdown
Owner

Main CI2398 failed four passive-supervision subscription checks. Their five-second guard included preparation and two CLI startups, so it could expire before a subscription was possible. This follow-up to #1094 separates bounded bootstrap from active observation in the test fixture, using the existing successful authenticated hello reply. The subscription and progress checks retain their five-second limits; production code and the prior cleanup correction are unchanged.

A real-path 5.1-second startup hold now completes the original journey. A second witness withholds follow delivery after authentication and verifies failure at the existing subscription limit, with joined cleanup. The original traffic, turn-count, canonical-result, progress and cleanup assertions remain.

Validation at signed feedback commit 8c1159dcedb432b5d99030ee97c626f9456eff08:

  • Installed Node 22.23.2, ordinary unfiltered file: 54 passes, zero failures, cancellations or skips.
  • Affected Deno file: 9 suites and 54 steps pass; focused lint and formatting pass.
  • Retained pre-correction acquisition-delay witness fails before native startup; the corrected delayed-start and stalled-subscription witnesses distinguish the phase correction from a blanket timeout increase.

The controlled failure establishes the fixture boundary defect; the historical Linux startup delay remains unknown. Local evidence is macOS and does not establish Linux CI success or restoration of main health. The first failed CI log is preserved. Original Planner acceptance and the affected independent Fable closeout pass on this exact head. CI2402, including composability and all three runtime matrices, passed on attempt 1. The formerly failing Linux Node 6/16 shard passed; no CI retry was used.

Main-health issue #1095 stays under Main Health. The maintainer-authorized ci-main-red-fix label is applied; composability passed in place of the main-health lookup. Main remains red until a successful post-merge run proves its new head. Merge requires separate authorization.

@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown

PR #1096: 🐛 Separate passive-supervision bootstrap from subscription checks

1 files, +312 / -109

Scope

🟡 421 lines changed. PRs under 400 receive more thorough review.

Structural

✅ No structural bloat detected.

Slop

✅ Slop indicators look low.

Static Analysis

✅ Oxlint found no issues.

Correctness

No extraneous code patterns detected.

@taras taras added the ci-main-red-fix Maintainer-controlled: lands one PR while main is red, only with the full clean-checkout proof label Nov 4, 2026
@taras
taras marked this pull request as ready for review November 4, 2026 00:16

@taras taras left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent Fable affected closeout: PASS at 8c1159dcedb432b5d99030ee97c626f9456eff08. All C1–C3 clauses were examined; no blocking findings. This is the authorized closeout of the fixture delta, preserving the original review rather than repeating it.

The existing authenticated hello separates finite bootstrap from the unchanged five-second subscription/progress checks. The delayed-start positive and withheld-follow negative witnesses pass; the original traffic, result, turn and cleanup assertions remain.

Nonblocking observations and dispositions:

  1. No Bun run accompanies this delta; the Architect's evidence item 4 names installed Node 22 and the Deno task only, and the file's Bun coverage stays with CI. Note for the delivery gate rather than a gap in the selected matrix. Disposition: Bun exhaustive coverage remains an explicit required CI gate; the selected local evidence matrix is Node22 and Deno.

  2. countWaitRequests compares the accepted descriptor to published.descriptor with JSON.stringify, which is key-order dependent. Both currently originate from the same server object, so it holds; a future reordering would turn readiness into a 15 s 'did not bootstrap' failure, which is a visible verdict rather than a wrong pass. Disposition: No source change: this fixture compares descriptors emitted by the same server object. Future ordering drift fails visibly within the bootstrap bound; no production interface is affected.

  3. waitBootstrap.take() hands the pending resolver to whichever connection sends the next hello after arm(). That is correct for the four fixtures because each arms after its producer connection has already passed hello. A caller that arms before spawning its producer would mis-correlate and silently degrade to the old 5 s window; the helper carries no guard or comment against that. Disposition: No source change: all four supported fixture callers arm after the producer connection has completed its hello; the exact-head reviews verify those call sites. Revisit if callers or concurrency change.

  4. The delayed-bootstrap variant consumes 5.1 s of the 15 s allowance before native start, leaving roughly 10 s for CLI startup plus handshake. A Linux runner slower than that fails with 'The wait document did not bootstrap', a finite verdict, not a stall. Historical Linux timing remains unknown, as the decision records. Disposition: Keep the finite bootstrap cap and report an actual CI failure if it occurs. The controlled local witness is not represented as historical Linux timing reconstruction.

  5. Retained from the a3bdd03 review: the local baseline stall's initiating event was never identified; the regression rescue hard-codes sleep(5000) alongside deadline()'s default; the early-error regression's spawned prompt task is halted by scope destruction while cleaned===true proves the entry cleanup joined. All three remain accurate at this head. Disposition: Preserve all three prior nonblocking observations and their original evidence. The finalizer and early-error regression remain unchanged; none blocks the current bounded fixture correction.

Reviewer: Claude fable, high effort, original independent session. No benchmark is needed for this test-only change. Historical Linux timing remains unknown; review does not establish CI success or main-health restoration. Required CI2402 remains the delivery gate.

@taras
taras enabled auto-merge November 4, 2026 00:30
@taras
taras merged commit 8639637 into main Nov 4, 2026
112 of 114 checks passed
@taras
taras deleted the codex/passive-supervision-1091-postmerge branch November 4, 2026 00:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-main-red-fix Maintainer-controlled: lands one PR while main is red, only with the full clean-checkout proof

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant