← Priority list
Blocked

Clear the main-test CI blocker for UrlProtocol ordered-unregister repairs

Resolve the separately tracked main host-stop failure before completing required-suite verification of https://github.com/CodexCoder21Organization/UrlProtocol/pull/956 at 3a68bae7d. All three review repairs and their evidence are complete; build is green, but bld-all-tests remains red after the single permitted failed-shard rerun. No further unchanged rerun, merge, enqueue or publication is authorized.

Required bld-all-tests fails unchanged main host-stop test after the one permitted rerun; separately tracked upstream repair/adoption is required.

Handoff document

Markdown

Handoff: Clear the main-test CI blocker for UrlProtocol ordered-unregister repairs

Written 2026-10-24 18:21 UTC.

RE-VERIFY: This is a write-time snapshot. Recheck https://github.com/CodexCoder21Organization/UrlProtocol/pull/956 with gh pr view ... --json state,headRefOid,statusCheckRollup and Actions run 40109913940 before acting. Source, required checks and upstream publication may have changed.

Design decisions in force

The lane brief requires: "no new timeout, retry, poll, sleep or join; exactly one reply per accepted request" and "No timeout increases, no iteration cuts, no edits to tests that exist on main, no reflection or mocks, no merge, enqueue or publish." Evidence runs use disposable commits only; never dispatch evidence or cancel a run on the PR head. No subagents. Never complete the parent handoff. These constraints remain in force; this handoff does not authorize publishing, merging or changing the existing main test.

Mission summary

The original goal is to expose UrlResolver extreme-condition bugs with failing-first tests and fix them. This lane was asked to repair three review findings on https://github.com/CodexCoder21Organization/UrlProtocol/pull/956 and get its required checks green. All three repairs and their tests are complete and pushed. The unmet requirement is required bld-all-tests: its unchanged main test testRejectedDrainLoggingDoesNotHoldOutboxMonitor fails on host stop. Its existing separate repair is tracked at https://github.com/CodexCoder21Organization/UrlProtocol/pull/954 and upstream https://github.com/CodexCoder21Organization/jvm-libp2p/pull/71 . No more blind reruns are authorized; one permitted failed-job rerun has already been used.

Parent effort: url://handoff/handoffs/hf-2026-10-14-land-the-urlresolver-extreme-condition-bug-fixes-fix-the-two-merge-queue-flakes-then-merge-the-reviewed-prs-and-finish-the-rest . Do not complete it.

What was found and done

  1. Close suppliers bypassed the normal handler normalization and could return RelayRequestNotDispatchedException after a real handler started. Added .withoutNotDispatchedMarker() before existing identity validation, plus the real-handler-started public-API regression and README/KDoc contract. Failing first on reviewed source: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40108393313 .
  2. Added S212's completed-but-queued handler scenario as its own file, preserving the existing delivered-handler test. It holds the real transport loop after a normal-lane warmup and verifies the completed reply precedes unregister without invoking the close supplier.
  3. Strengthened only the PR-added admission scenario. Hold the close supplier after sealing, resume the late reader while the stream remains live, and check its reservation is released before retirement, with no extra handler or close-supplier ownership. The existing transport observer provides the release event; no internal hook, reflection or mock.
  4. Fixed controls: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40109542149/job/120918191045 — 3/3 first-attempt passes. Marker removal fails 3/3: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40109542149/job/120918190897 . Handler-FIFO membership removal fails 3/3: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40109542149/job/120918191160 . Seal removal fails 3/3: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40109542149/job/120918191085 . Evidence commits are disposable descendants of final source, with only workflow/checker additions.
  5. Twenty separate first invocations of each new/changed scenario: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40109718601 — 60/60 first-attempt passes, zero failures/retries, exactly 20 per scenario. All fourteen PR scenarios also passed first attempt in the full suite.
  6. Rebased on main 0b1c9363690a3471480256eb21c7b5bd6563b55c before pushing final source 3a68bae7d2dc548abd984d1234e1ec5f173b6fcc. Required build is SUCCESS: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40109913904 . Required full suite is FAILURE: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40109913940 .
  7. Initial native full-suite counts: 3,398/3,399 first-attempt passes, one failure, two retries. Only unchanged main test testRejectedDrainLoggingDoesNotHoldOutboxMonitor fails all three attempts at serverHost.stop().get (generated line 302). Exact-base main run https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40103057617 has byte-identical first-failure stack: first two fail, third passes. Original artifact 12568246167; base proof artifact 12565536410. No base test is missing: native base set 3,385, PR set 3,399, difference exactly fourteen added scenarios.
  8. common.md explicitly allows one failed-job rerun after demonstrating a main flake. Ran it once at 17:13 UTC, preserving three green shards. Attempt 2 completed FAILURE at 18:19. Its artifact 12570054428 has 849/850 first-attempt passes, one failure and two retries; same test fails 3/3 again with byte-identical main stack. Latest combined counts remain 3,398/3,399, one failure, two retries. Failed rerun job: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40109913940/job/120934683389 . Required aggregate: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40109913940/job/120949717604 . No further rerun requested.
  9. PR description was updated via the requested REST PATCH and read back byte-identically; it states the red required gate, original/rerun counts, exact-main attribution and existing repair ownership. S212's FIFO/admission evidence branches have no PRs to close. Dedicated test and code review passes found no repair issue. No main test was edited. No merge, enqueue, deployment or artifact publication was invoked by this lane.

Relevant PRs / refs

Repo Branch Remote head PR Contents State
UrlProtocol https://github.com/CodexCoder21Organization/UrlProtocol/tree/fix/s211-ordered-relay-unregister 3a68bae7d2dc548abd984d1234e1ec5f173b6fcc https://github.com/CodexCoder21Organization/UrlProtocol/pull/956 Final repair source/tests/docs Build green; full suite blocked by demonstrated main defect
UrlProtocol https://github.com/CodexCoder21Organization/UrlProtocol/tree/wip/s213-fix-checkpoint 3a68bae7d2dc548abd984d1234e1ec5f173b6fcc no PR Same repair source Checkpoint, superseded by PR branch
UrlProtocol https://github.com/CodexCoder21Organization/UrlProtocol/tree/wip/s213-review-evidence 094661e8c9647d9a5de9a73d87fbf18d3dff2b24 no PR Control + three mutation workflow Control PASS; mutations intentionally fail
UrlProtocol https://github.com/CodexCoder21Organization/UrlProtocol/tree/wip/s213-twenty-first 829a73422114057ec9922e75e2887e5483e4c49a no PR Twenty-invocation workflow and checker 60/60 first-attempt passes
UrlProtocol https://github.com/CodexCoder21Organization/UrlProtocol/tree/wip/s213-records 364e9924d31eba7db7822784f9a1abce8eabc78a no PR Detailed incremental findings and complete failure stacks Checkpoint; read current remote head

Detailed record: https://github.com/CodexCoder21Organization/UrlProtocol/blob/wip/s213-records/review/s213-findings.md . No unpublished/deployed code from this lane; the final source is unmerged in the open PR.

Next steps

  1. Re-verify current PR/head/checks and the existing upstream repair state. Do not infer publication from the old proposal body.
  2. Coordinate the separately owned main defect at the two repair PRs above. At lane exit, https://github.com/CodexCoder21Organization/UrlProtocol/pull/954 remains OPEN at dd22e57d69bd26d39453d143b5f558fa52180ff4. Its body describes an upstream close-future converter fix, an unpublished version pin and an owner-held cleanup proposal. Publishing, merging and editing the established main test need separate authorization; none is granted here.
  3. Once the actual upstream/adoption fix is available under authorized work, rebase/update the affected source, run appropriate verification, and restore required bld-build/bld-all-tests. A head change requires fresh review and any evidence tied to the final source. Do not repeat the same failed job again unchanged.
  4. Preserve initial first-attempt counts and every failure in the PR description. Do not label the required gate green while it is red. The three requested review repairs need no speculative rewrite.
  5. The parent orchestrator owns merge/queue/publication decisions and parent completion. This handoff covers only the remaining CI blocker for this repaired PR.

Reusable / operational knowledge

  • Use GitHub-runner evidence on disposable commits, per common.md; this box is not the test executor. Required gates are bld-build and bld-all-tests, not informational App checks.
  • Native XML successful first attempts appear as test rows without attempt-history; failures have attempt-history/attempt children. Compare first attempts, not only final success. Original and rerun artifacts share a name but have distinct IDs/timestamps.
  • build-watchman 0.0.21 warns that the aggregate bld-all-tests is missing while its dependency shards run. Inspect the active workflow's needs graph before rerequesting anything. No informational App suite was re-requested.
  • Jobs-list REST calls occasionally returned HTTP 502; workflow-level status reads remained usable. A failed status read is not proof a job stopped.
  • No local build/cache artifact is needed to resume. Source, scenarios, runner workflows, counts and stacks are remote. The lane checkout/cache and lane-owned watcher are removed/stopped at exit.

Model usage

Recorded agent work, including concurrent agents

No model usage has been recorded for this handoff yet.

Record work with handoff-cli usage report hf-2026-10-24-clear-the-main-test-ci-blocker-for-urlprotocol-ordered-unregister-repairs.

Latest status report

1 report
Blocked s213 2 hours ago

2026-10-24 18:23 UTC — BLOCKED on the separately tracked main-test defect. The three requested review repairs are complete on https://github.com/CodexCoder21Organization/UrlProtocol/pull/956 at 3a68bae7d2dc548abd984d1234e1ec5f173b6fcc, but required full-suite verification remains unmet.

Close replies now use the existing handler delivery-status normalization. The added queued-handler scenario verifies reply order before unregister. The admission scenario verifies reservation release while the sealed registration remains live, before retirement. README/KDoc and the PR description are updated; REST readback matched. No existing-main test was changed.

Required build is SUCCESS: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40109913904 . Required bld-all-tests is FAILURE after the sole permitted failed-job rerun: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40109913940 . Initial and final combined native totals both have 3,398/3,399 first-attempt passes, one failure and two retry attempts. Rerun shard alone: 849/850 first-attempt passes, one failure, two retries. Only unchanged testRejectedDrainLoggingDoesNotHoldOutboxMonitor fails, 3/3 attempts in each invocation. Its complete first stack is byte-identical to base main in https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40103057617 . Existing repair ownership: https://github.com/CodexCoder21Organization/UrlProtocol/pull/954 and https://github.com/CodexCoder21Organization/jvm-libp2p/pull/71 . No further unchanged rerun is authorized/requested.

Focused fixed controls are 3/3 first-attempt PASS; all three mutations fail 3/3 as intended: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40109542149 . Twenty independent invocations per new/changed scenario pass 60/60 first attempts, zero failures/retries: https://github.com/CodexCoder21Organization/UrlProtocol/actions/runs/40109718601 . All fourteen PR scenarios passed first attempt in the full suite; native comparison preserves all 3,385 baseline tests plus exactly fourteen additions.

Remaining-work handoff: url://handoff/handoffs/hf-2026-10-24-clear-the-main-test-ci-blocker-for-urlprotocol-ordered-unregister-repairs . Detailed findings: https://github.com/CodexCoder21Organization/UrlProtocol/blob/wip/s213-records/review/s213-findings.md . All five lane branches are pushed and linked from the handoff. Sole checkout/cache and lane watcher/shell are absent, verified 18:23:22 UTC. No merge, enqueue, publication, deployment, PR-head cancellation or parent handoff completion.

Delegated work: none. Hold: required-suite failure pending the existing main repair. No idle landing gates within this lane's authorization. Owner direction captured: none new. Next: resolve/adopt the separately tracked upstream repair under appropriate authorization, then verify required CI on the resulting reviewed source; do not repeat this unchanged failed job again.

Lessons: keep initial native failures visible after reruns; demonstrate main attribution with exact native evidence; distinguish completed repair proofs from an unmet required-suite gate.

Add dependency

Complete this handoff

Moves it out of every priority list and into ArchiveArea.