Handoff: Audit the final Actions result for held Ping cleanup
RE-VERIFY: Written 2026-10-28. All CI and branch state is a snapshot. CI was checked at 14:27 UTC: build succeeded and full tests were running at https://github.com/CodexCoder21Organization/UrlResolver/actions/runs/40703921896 . Recheck https://github.com/CodexCoder21Organization/UrlResolver/pull/1610 with gh pr view --json state,headRefOid,statusCheckRollup before acting.
Design decisions in force
The 2026-10-28 brief says: "Never merge, enqueue, deploy or publish (report what should be published; the orchestrator publishes)." Also: "Poll GitHub at most once every 4 minutes. Never raise a timeout or weaken an assertion." Use local targeted tests; no remote buildtest suite, JVM tuning, reflection, mocks, skipped tests or CI reruns to seek a pass.
Mission and findings
The owner reported "I feel like https://droplets.wasmserver.com/ is super unreliable ..." and requested root causes. LIBP2P traced current resolver main through protocol 1451: its transitive libp2p 25 loses to resolver's direct snapshot 32. Netty transport is 4.2.10.2-codexcoder21. All 41 direct dependency roots, published POMs, binary hashes and ancestry are on the evidence branch.
Main's bootstrap guard fails every runner attempt at the unchanged two-second open (preparation counts 0/0); the pause guard passes first attempt. Snapshot 32 lacks all three requested fixes. Snapshot 41 has readiness and retained-parent handling but lacks the pause fix. Candidate source https://github.com/CodexCoder21Organization/jvm-libp2p/commit/0f92730cb08dd789babe98b350c9b589ee793b99 contains all three.
The release recommendation is path (b), with a Netty prerequisite. Existing auto-read transport 4.2.10.1-codexcoder21-auto-read has shouldAutoRead but is evicted by the current .2 family and excludes its shutdown corrections. A proposed combined transport 4.2.10.3-codexcoder21-auto-read must retain .2 plus the hook, followed by libp2p 42 and a fresh protocol build. Exact source and consumer pin sequence: https://github.com/CodexCoder21Organization/UrlResolver/blob/wip/LIBP2P-evidence/LIBP2P/recommendation.md . None was published or adopted by this lane. Keep https://github.com/CodexCoder21Organization/UrlResolver/pull/1603 open/draft pending that work.
Both Ping fixtures had the reviewed real-EOF bug: failing held writes synchronously call back and append during list iteration. The fix marks closing terminal and detaches/clears before callbacks. Tests exercise the same installed gate through real loopback TCP, both close paths, promise results and buffer release, then retain the original Ping cases. Original 19/21 checks remain in order; eight cleanup checks were added per test.
An initial six-sample follow-up was 5/6 first-attempt clean. Netty completes the physical close future before posting inactive delivery, so the new probe's barrier could inspect too soon. A forced public-close-future ordering failed every attempt before adding the actual inactive observation. Final actual tests plus fresh samples pass 10/10 first attempts (8 on snapshot 32, 2 on 41), zero retries. Both final old-gate controls fail all three attempts on the full CME assertion. The earlier rejected head is not counted. Native XML, all controls, exact sample sources, manifest, census.py, reviews and assertion audit are on the evidence branch.
Relevant refs
| Repository |
Branch |
Remote head |
PR |
State |
| UrlResolver |
https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/LIBP2P-ping-cleanup |
8ff9d3acf34c1f45e31dfa5a94b7892904b321aa |
https://github.com/CodexCoder21Organization/UrlResolver/pull/1610 |
Two tests only; local first-attempt gate clean; Actions pending at write time |
| UrlResolver |
https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/LIBP2P-evidence |
7bdfbc85933ff67eadbd9c54f665c1bf930a2f67 |
no PR |
Findings, dependency proof, full traces, XML, source controls and release recommendation |
All working checkouts are clean; temporary probes were moved out after preserving their sources remotely. No stashes remain. Build outputs and nonessential intermediate download thread dumps are deliberately omitted. This lane merged, enqueued, published, deployed and restarted nothing, changed no route and accessed no production droplet state. Handoff health was read-only.
Next steps
- Re-verify the PR head and Actions run; do not merge, queue, deploy or publish.
- Watch plain PR mode: coursier launch buildwatchman:build-watchman:0.0.21 -r https://kotlin.directory -- --repo CodexCoder21Organization/UrlResolver --pr 1610 . Use a tracked PID and deadline; stop every watcher before ending.
- Download the exact final-head Actions test-attempt-records artifact. Run LIBP2P/census.py on native XML, counting nested attempt-history. Any retry is a flake; diagnose locally before another code change, never rerun CI unchanged.
- Send the final CI census to the orchestrator. The orchestrator owns the separate Netty/libp2p publications and resolver/protocol adoption sequence.
Operational notes
The optional kotlin-build-ci-test suite had zero dispatched runs; it was not re-requested. Required bld-build is the Actions gate. Old gh pr edit fails on deprecated projectCards; REST PATCH /repos/CodexCoder21Organization/UrlResolver/pulls/1610 with a JSON body file works. No auto-merging challenge CLI was used. Testing architecture, engineering philosophy, repository README/FORK/build sections and prior REV1603 evidence were read.