Finish configured recovery ownership verification and CI
Written: 2026-10-27 07:40 UTC
RE-VERIFY: Check https://github.com/CodexCoder21Organization/UrlResolver/pull/1582 before acting. At the final read it is OPEN at ecd0af74657c25b48558a3346f1e3cb00a682471. FLK1582 did not update its source branch or description. Its old green check still contains the reconnect second attempt.
Direction
The active brief makes Actions CI the complete-suite gate and says not to run or wait on a remote buildtest suite. Use build-watchman 0.0.21 plain --pr when the source update is ready. Never merge, enqueue, deploy or publish. Keep every existing bound, iteration count and test assertion. The two-hour engineering box has ended; owned local work was stopped and the claim is being released.
Mission and provenance
Finish verification of the compound configured recovery correction, update the existing open PR, then confirm initial-attempt counts from its required Actions XML. The owner reported that https://droplets.wasmserver.com/ "is super unreliable, frequently rendering various errors/notices due to bugs in UrlResolver or UrlProtocol or something else" and asked for the underlying root cause to be fixed; the ContainerNursery route stops the WUI after 5 idle minutes, so most human visits are cold starts.
What was found
Ordinary peer eligibility still filtered configured targets after observed membership was removed. A public real-node comparison retains peer history below pruning, restores the same identity and endpoint, verifies the present-record control, then removes membership. The next periodic selection still waited with count=6 even though configured peer and address admission were eligible. The exact original PR production source was checked without instrumentation: nine completed initial errors and 27 matching stored errors. The tenth planned invocation was interrupted at the time box and is excluded.
An initial correction let absent configured targets use their configured admission. It passed ten initial executions and its exact-operand reversal was red three times, but it also made the unchanged retained-withdrawal multi-address case red on all three attempts: nine connections in a late 30000 ms window against an unchanged cap of eight. That initial correction is not ready to land.
A second public comparison pauses a retained sender before dequeue, removes observed membership, restores the real endpoint and observes periodic recovery adding a connection while that sender already owns delivery. It is red on all four initial executions and all twelve stored attempts. The final compound correction reads queued/in-flight withdrawal ownership under the existing admission-then-sender lock order. Missing-target recovery keeps ordinary eligibility while that owner is pending; it uses the configured recovery exemption when the owner is absent. No new resource, interface, timing constant or persisted model is added.
The final compound source is 774e3f3d3d6fc6ea6a43d450a5aba5c50dd96896. Both canonical scenarios pass initially in 19103 and 19127 ms. Their repeated verification and the unchanged 180-second rate rerun were still active at the time box and were stopped; they are not a passing gate. Eighteen temporary verification copies were removed. Their manifest records body equality after only renaming each function declaration. The replay script regenerates them. All original tests remain unchanged.
The two other original CI cases predate the source PR: testRelayRegistrationPrunesSelectedAddressHistory and stressTestFreshJoinWithdrawalDeliveryUnderConcurrentReannounce each use second attempts on https://github.com/CodexCoder21Organization/UrlResolver/actions/runs/40425832663 and https://github.com/CodexCoder21Organization/UrlResolver/actions/runs/40415308490 . Their records are preserved and remain separate fixes.
Durable source and evidence
Use https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/FLK1582-handoff at 4256ad1d9377635172835a648ffd451c0612e662 for the full checkpoint. The clean source-only parent is 774e3f3d3d6fc6ea6a43d450a5aba5c50dd96896; checking out that commit excludes evidence files from a source PR. The only source update files relative to the original PR are UrlResolver.kt, README.md and the two new canonical scenarios.
Findings: https://github.com/CodexCoder21Organization/UrlResolver/blob/wip/FLK1582-handoff/review/FLK1582/findings.md
Replay: https://github.com/CodexCoder21Organization/UrlResolver/blob/wip/FLK1582-handoff/review/FLK1582/replay-verification.py
Prior findings: https://github.com/CodexCoder21Organization/UrlResolver/blob/wip/V1501s-evidence/review/V1501s/findings.md
Original CI: https://github.com/CodexCoder21Organization/UrlResolver/actions/runs/40445031344
| Branch |
Verified remote head |
State |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/FLK1582-correction |
dad51b03376f2b12134e935c3e5bee654f28a721 |
Superseded initial correction; root case green but rate bound red |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/FLK1582-evidence |
dad51b03376f2b12134e935c3e5bee654f28a721 |
Earlier correction evidence; superseded by final handoff branch |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/FLK1582-handoff |
4256ad1d9377635172835a648ffd451c0612e662 |
Final compound source and all evidence; repeated/rate verification unfinished |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/FLK1582-neighbors |
08ef0796d6c218632ce8e72ee321189fd89e04fa |
Initial correction; eight initial passes and red rate bound |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/FLK1582-owner-baseline |
925ba58c26ca6f9e9f707361b857026b7b66f2ef |
Paused-owner case red before the ownership correction |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/FLK1582-owner-correction |
1323b1bde105d237086d543c150cacee8fc81e49 |
Final compound source; both canonical cases pass initially |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/FLK1582-pr-update |
99d1d664f6e0bd630fecdd850b5b7f4c8f6a8ff9 |
Superseded initial correction; do not land: rate bound red |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/FLK1582-raw-baseline |
f866cfb924d4713499544cc104eae243a6111902 |
Exact original PR production source plus the public-only scenario |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/FLK1582-reconnect |
2de0afd3905a3f549fc69330dd87086e75efc028 |
Instrumented baseline; original eligibility; red reproducer |
| https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/FLK1582-reversal |
dbac2297b428d8ef5966359f61116df8eda81ab3 |
Initial correction operand removed; red reversal |
Next concrete steps
- Clone the final checkpoint fresh and read its findings. Use
JAVA_OPTS='-Xmx768m' JAVA_TOOL_OPTIONS='-Xmx768m' python3 review/FLK1582/replay-verification.py from that checkout to regenerate the function-name-only verification copies and run them with the unchanged rate case. The script removes the copies in its completion path. Read per-case attempt histories; zero-duration preparation errors and interrupted entries are excluded.
- Obtain the complete final compound targeted gate before updating the source PR. Preserve all negative records and rerun the canonical cases, original reconnect and relevant unchanged neighbors as needed. No higher wait, smaller loop count or weaker assertion is permitted. Finish final-source reversal and review checks where the current evidence does not establish them.
- Prepare a clean branch from 774e3f3d3d6fc6ea6a43d450a5aba5c50dd96896, fetch/rebase latest main, verify the PR remains OPEN and update it with only the four source files. Its description must start with the owner provenance above, explain both mechanisms, state the measured counts and end with the required Claude Code footer.
- Watch only required Actions CI using build-watchman 0.0.21 plain --pr. On completion inspect uploaded XML and record the initial results for the original reconnect and both new scenarios. Do not merge or enqueue.
Deployed or published state
FLK1582 merged nothing, entered no queue, deployed nothing, restarted no production process, published no artifact and submitted no remote buildtest suite. It did not update the source PR. All meaningful source, observations, valid XML, review notes, partial verification records and replay instructions are remote. The final process audit follows in the status report.