Handoff: Attribute three first-attempt failures in UrlResolver's green full suite
Written 2026-10-22 18:19 UTC.
RE-VERIFY: This is a write-time snapshot. Recheck https://github.com/CodexCoder21Organization/UrlResolver/actions/runs/39820249405 and the raw receipt linked below; use gh pr view https://github.com/CodexCoder21Organization/UrlResolver/pull/1460 --json state,headRefOid,statusCheckRollup before acting. No root cause is claimed for these three failures.
Design decisions in force
The lane brief says: "Open a PR on main whose description opens with this provenance; bld-build green (build-watchman plain). Do not merge or enqueue. Time box 2 h." Shared rules say: "Once that bar is met, stop — no extra verification batches." They also require a main-branch reproduction before calling another failure unrelated. Those constraints explain why these observations are handed on rather than silently dismissed or tested further in the completed lane. No permission to merge, enqueue, deploy or publish is carried by this handoff. No timeout increase, iteration reduction, skipped test, weakened assertion, reflection or mock.
Mission summary
The wider user request was to expose and fix UrlResolver bugs through failing-first end-to-end tests under extreme conditions. Lane s114 was assigned the specific main-branch flake testObservablePushInvalidationReplaysAfterProviderClose, reported while attributing https://github.com/CodexCoder21Organization/UrlResolver/pull/1163. That assigned fix is complete for review: https://github.com/CodexCoder21Organization/UrlResolver/pull/1460 is OPEN/CLEAN with green bld-build at e080ec53076a3a5506cec38163c501afb076b52d, not merged or enqueued. Its full receipt exposed the three other first-attempt failures below. They need attribution and owners; they are not called unrelated or fixed.
What was found and done
- The replay test incorrectly asserted callback count immediately after an RPC response. README expressly promises immediate stale marking and eventual notification on a separate worker. Holding the first callback until after replay response deterministically reproduced original expected 2 / actual 1 in 10/10 cases and all 30 built-in attempts. The test now releases that callback after response and awaits callback2 before the unchanged exact count. All original 20 assertion lines and every existing timeout remain unchanged.
- Fixed runner https://github.com/CodexCoder21Organization/UrlResolver/actions/runs/39820328403 passed 20/20 first attempts without histories. Dropping equal-revision replay through two revision-guard mutations failed 3/3 cases and all 9 attempts at the new callback wait, https://github.com/CodexCoder21Organization/UrlResolver/actions/runs/39820380762 . No product change is on the actual PR.
- Exact-head full https://github.com/CodexCoder21Organization/UrlResolver/actions/runs/39820249405 completed SUCCESS at e080ec5307: 2,405/2,405 final tests, 17/17 rules, exact source inventory, replay target first attempt PASS. It was NOT entirely first-attempt clean: 2,402 first passes, three automatic attempt2 recoveries. No job was manually rerun.
- Those failures, with all traces at https://github.com/CodexCoder21Organization/UrlResolver/blob/wip/s114-artifacts/investigations/s114/full-first-failures.json :
- testDiscoveryHalfCloseReceiptRequiresApplication: ExecutionException wrapping io.libp2p.mux.UnknownStreamIdMuxerException, stream id dada5dfffefc04f5-000075d5-00000004-76160469d02ab65d-06d87a34/7 not found, test line294. Cause chain reaches PeerBinding initChannel line132, YamuxHandler.onLocalDisconnect line549 and MuxChannel.doDisconnect. Attempt2 passes.
- testCircuitBreakerFastPruneRetainsRecoveredPeer: AssertionError
Gossip attempt 2 must record an unreachable-peer failure, test line67. Attempt2 passes.
- testPersistentRelayReconnectLogsUnaugmentedProviderRecord: AssertionError at line205: provider shutdown returned
RPC request 'publish' failed: RELAY_FORWARD_FAILED ending Timeout or invalid response waiting for relay response, instead of an existing deadline or target-close result. Attempt2 passes.
- All production code and all three scenario files are identical to recorded/current main e35254fecc225e72c7c626d3b046d98a10d2ffd8. This is source identity, NOT runtime main reproduction or a root-cause finding. Shared lane findings search found only pin inventory mentions, no earlier failure receipts/owners. Read the actual raw traces before forming hypotheses.
Relevant PRs and branches
Every branch is in CodexCoder21Organization/UrlResolver; remote SHAs verified by git ls-remote at write time.
| Branch |
Remote head SHA |
PR |
State / contents |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/fix/s114-observable-replay-callback |
e080ec53076a3a5506cec38163c501afb076b52d |
https://github.com/CodexCoder21Organization/UrlResolver/pull/1460 |
OPEN/CLEAN, green bld-build, one existing test changed; no merge or enqueue |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/s114-artifacts |
e6dcac179549975cea8116d274e561cd72b7d7bc |
no PR |
findings, full raw baseline/positive/mutation/full XML, complete traces, validator, manifests and PR description; final metadata and verified cleanup recorded |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/s114-failfirst |
52f1f121a0372393f3a586f8d2bbff16cb419a5f |
https://github.com/CodexCoder21Organization/UrlResolver/pull/1459 |
CLOSED unmerged, ten deterministic negative cases; evidence-only workflow |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/s114-positive |
d843331c20c0d8be4abfc74fa0c751784a84e8e8 |
https://github.com/CodexCoder21Organization/UrlResolver/pull/1461 |
CLOSED unmerged, 20 clean first attempts; only workflow differs from source PR |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/s114-mutation |
280ff67d0e3b8bce06c50216750b3296d4df1fbc |
https://github.com/CodexCoder21Organization/UrlResolver/pull/1462 |
CLOSED unmerged, deliberate two-guard product mutation; do not adopt this product change |
No deployment or Maven publication occurred. Only branches, PRs, CI verification and handoff records changed. No in-progress source work is local-only; all branches were pushed and verified. Cleanup verified: source and artifact worktrees removed, matching task cache absent, and all owned watchers exited. Recover from GitHub, not local paths.
Next steps
- Re-verify current state first; download the exact full receipt from run39820249405 or clone artifact branch and read investigations/s114/receipts/full/test_log_file.xml, summary and full-first-failures.json. No reason to rerun the completed replay register.
- The parent orchestrator for https://www.handoff.wasmserver.com/handoffs/hf-2026-10-22-attribute-two-full-suite-first-attempt-failures-for-urlresolver-stream-admission-fixes should assign ownership for each of these three distinct failure observations. Do not assume one common mechanism from the fact they share a run.
- Read https://github.com/CodexCoder21Organization/DocumentationRepository/blob/main/architecture/TESTING.md and PHILOSOPHY.md, especially deterministic ordering, hermetic tests, and root-cause reproduction. Use fix-flakey-test skill. Clone fresh in workspace. Establish each failure on main before classifying it unrelated to the PR; force the named condition deterministically once understood. Do not use retries, load reduction or timeout increases as a fix.
- If a real defect is found, write failing-first end-to-end coverage, fix it at its owning layer, preserve the raw failure evidence and open its own reviewed PR. Respect current no-merge/no-publish authority unless the user explicitly changes it.
Operational knowledge
- Raw records: https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/s114-artifacts/investigations/s114/receipts/full . Validator source: https://github.com/CodexCoder21Organization/UrlResolver/blob/wip/s114-artifacts/investigations/s114/validate.py . The XML has attempt-history elements; success alone does not mean first-attempt clean.
- Runtime test inventory was pre-registered from source and matched exactly: investigations/s114/full-manifest.json, 2,405 functions. All 17 rules passed.
- Read the original three scenario files and their actual fixtures. The completed lane did not diagnose them and has no hidden fix or guessed mechanism.
- Native required check is bld-build; informational App checks are not gates. Use build-watchman plain mode, never --to-merged under this authorization. Respect shared quota and at least60s between status reads.
- Brief-named ~/.claude/skills/fix-flakey-test/SKILL.md and catalogue ~/.codex copy were byte-identical. Handoff spec README still includes old handoff PR merging text; current create-handoff skill supersedes it with direct handoff-cli service writes, with no PR/queue mutation.