Handoff: approve correcting two existing relay recovery test contracts
Written 2026-10-19. RE-VERIFY: Read the current head and description of https://github.com/CodexCoder21Organization/UrlResolver/pull/1314 and the owner's latest answer before acting. This is a decision snapshot, not permission to merge, publish or deploy.
Design decisions in force
The owner requested: “Leave it as a draft.” “Never raise timeouts, reduce iteration counts, weaken or delete assertions, or disable tests.” “Do NOT mark ready, merge, enqueue, publish or deploy. Do not re-run CI blindly.”
The read global test instruction in ~/.claude/CLAUDE.md:407 requires explicit approval before changing a genuinely wrong existing test contract. The question was sent during r59 and has not been answered.
Decision needed
Approve correcting these two existing assertions to match the draft's documented behavior, preserving complete error text, exact dispatch/reconnect counts, and the independent reader/close-future assertions:
testPersistentConnectionReconnectFailsWhenNoAlternativePeers supplies a circuit-only route but expects generic persistent reconnect to be direct-only. RelayConfig(enableRelay=false) disables acting as a relay, not outbound fallback. The draft intentionally recovers its original provider through that supplied route; the test should expect the actual relay no-target error with zero additional provider executions.
testServerCloseCompletionIsNotCallerBarrier receives typed whole-frame zero-byte evidence (StreamClosedBeforeWriteException) but expects an ambiguous result and zero reconnects. The draft intentionally permits replay in this case. Keep the held-reader/close-completion checks, and prove exactly one replacement execution/reconnect rather than asserting the old request result.
Recommendation: approve those contract corrections. Keeping the old expectations would require changing the documented public behavior and re-scoping the work; it is not a reason to quietly alter assertions.
Verified context
The draft is OPEN at1168eddb5806770178cf95307b80918730fddc92 and stays draft. The original3 failing cases are branch-induced: matched local XML first0/3 on PR versus3/3 on main046396a677e14cf950dc7c3d102cbc2c187b75a1; PR raw0/9, mainraw3/3. One of those3 is a repaired stale fixture. The other2 are the contracts above.
The prepared test-only checkpoint https://github.com/CodexCoder21Organization/UrlResolver/commit/accbd77853bdd09be17d6d3f7ac1b86164f44dd2 passed21/21 first local attempts, zero retries. Every new test has a failing main-runtime or review-fix-reverted control. It is on https://github.com/CodexCoder21Organization/UrlResolver/tree/fix/r59-verified-test-guards and has not been applied to the PR branch. Full failure records, runner XML and reviews are on https://github.com/CodexCoder21Organization/UrlResolver/tree/notes/r59-relay-verification/investigations/r59 . No source/pin change, production action, publication, merge or queue entry was made.
No code was created by this decision record, so no separate work branch is needed. Once the owner answers, record the exact answer and complete this decision record; resume the main verification handoff and preserve its no-merge/no-publication limits.