← Priority list
Blocked

Resume UrlResolver CI after buildtest allocation recovers, then prove main with three clean full-suite runs

Buildtest's rate gate is down: three of the latest twelve scheduled terminal or executing runs failed during allocation. Leave existing UrlResolver runs queued and start no new checks until the rate falls below three. The diagnostics PR has green bld-build (1847/1847) and queued remote CI; the half-close fixture PR has green local full suite (1845/1845), a new head after one upload-check recovery, and pending required checks. Then land dependent PRs through supervisor review and prove main with three parallel clean remote full suites.

Buildtest allocation failures reached 3 of the latest 12 scheduled terminal or executing runs; resume after the rate drops below 3.

Handoff document

Markdown

Finish UrlResolver CI and flake fixes, then prove main with three clean full-suite runs

RE-VERIFY: This is a 2026-09-27 01:06 UTC snapshot. Recheck claims, PR states and exact heads, both required checks per PR, the last twelve scheduled terminal or executing buildtest runs, and all remote branch heads before acting. The queue and supervisor merges can change after this write.

Remaining work first

The exit gate remains open: UrlResolver main needs one batch of three parallel remote full-suite runs with zero genuine failures after the known fixes merge. This lane has not merged, enqueued, or deployed anything. The buildtest rate gate is down at this snapshot: three of the latest twelve scheduled terminal/executing runs failed during allocation: https://buildtest.kotlin.build/run?id=46dbc634 and https://buildtest.kotlin.build/run?id=83770e50 report listDroplets stalled for 30000ms; https://buildtest.kotlin.build/run?id=2bac9877 reports a 30-second timeout in DropletServiceClientImpl.listDroplets(). Stop new check requests until the rate falls below three; queued runs should be left alone.

  1. Finish https://github.com/CodexCoder21Organization/UrlResolver/pull/1122 at 008243ecc78310602b9de7d1442d6a6292754562. Required GitHub Actions bld-build passed on this head at https://github.com/CodexCoder21Organization/UrlResolver/actions/runs/36280903910/job/108512387462; required kotlin.build (remote) is queued at https://buildtest.kotlin.build/run?id=0f505c69. Build-watchman is tracking them in lane L3c. Its diagnostic test previously failed because a timed relay hold expired during setup; the current test holds the relay until an observed failed round and passed 10/10 local repeats plus a pre-push pass. L3b reviewed the four-file diff and wrote merge-candidate-1122.md, still PENDING-CI. If this one run fails only during allocation, the rate-based policy permits one evidence-backed rerequest while fewer than three of the latest twelve runs are allocation failures. The diagnostics do not fix the separate bootstrap recovery stall.
  2. Finish https://github.com/CodexCoder21Organization/UrlResolver/pull/1124, opened from https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/sweep4-L3b-half-close-receipt at ce2865586545a0f43182d6e785ea06e53808cc5e. It fixes the false first-exchange setup failure in testDiscoveryHalfCloseReceiptRequiresApplication that blocked https://github.com/CodexCoder21Organization/UrlResolver/pull/1121's required bld-build at https://github.com/CodexCoder21Organization/UrlResolver/actions/runs/36056270588; the sibling test shares the same fixture sequence. The old test failed 5/5 under a forced close ordering; diagnostic evidence showed the response had been applied before UnknownStreamIdMuxerException; each corrected test passed 10/10, one post-rebase run in L3b, and one fresh targeted local run in L3c. The full local suite passed 1845/1845 tests in L3c before a no-content amend; the amended tree is identical. A kotlin-build-ci-test check suite was queued without runs; after one warm/rerequest at suite 98248441668, two check runs dispatched. The first required remote run https://buildtest.kotlin.build/run?id=074ba17a failed before tests because a chunked upload stopped with zero chunks. One check-run rerequest did not detach the check from that terminal run, so a no-content amend under the repo lock created this new head and fresh checks; the new required remote run is https://buildtest.kotlin.build/run?id=9a6fb7b8 and is PENDING. Build-watchman is tracking this PR. Require green bld-build and kotlin.build (remote) on this exact head before supervisor merge.
  3. After the supervisor merges the focused fixture PR, rebase https://github.com/CodexCoder21Organization/UrlResolver/pull/1121 from cdec7438bc6a6e10dcaaf92a3149558c73cb8bde on current main. Run its targeted fixture, obtain both required checks, review the final diff, and present it to the supervisor. Its earlier bld-build failure was the separate half-close fixture issue above. This worker must never merge or enqueue.
  4. After the supervisor merges https://github.com/CodexCoder21Organization/UrlResolver/pull/1121, re-rebase and push https://github.com/CodexCoder21Organization/UrlResolver/pull/1120 and https://github.com/CodexCoder21Organization/UrlResolver/pull/1118 with local tests, final review, both required checks, and supervisor merge. Saved clean rebases are https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/sweep3-w6-r83-rebased-1120 at 6c1b8ccf and https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/sweep3-w6-r83-rebased-1118 at 464a0935; rebase again on whatever main becomes. The first injects a ManualClock into an idle-close fixture without timeout or assertion changes. The second updates 58 protocol test pins from 0.0.524 to 0.0.527 without test-body changes. Then rebase, test, review, and obtain both required checks for https://github.com/CodexCoder21Organization/UrlResolver/pull/1119 at c3d12149e44ee1153e22835410919c4d8ac5df7b; its stream-open budget design was previously approved.
  5. Continue the independent main flake list: stressTestBootstrapServiceResyncDoesNotGiveUpUnderSaturation; stressTestFindPeersUsesRegistryRelayAddressAfterConfiguredAddressGoesStale (diagnostic branch https://github.com/CodexCoder21Organization/UrlResolver/tree/fix/stale-registry-relay-address-flake, main failures https://buildtest.kotlin.build/run?id=387fe030 and https://buildtest.kotlin.build/run?id=a4c988cd); testSandboxedProxyRedialsAfterSilentPersistentRpcTimeout; stressTestBytecodeFetchAggregatesRelayFailureDetailsUnderConcurrentCalls; the UrlProtocol2.close host-creation family; and the separate bootstrap recovery stall. The campaign fail-first branch is https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/sweep3-w6-r83-bootstrap-recovery-box at 99e13099. Each needs a reliable failing reproducer before a fix. Once all fixes merge, run the three parallel remote full suites against the same current main and require zero genuine failures.

Observed evidence and inference

OBSERVED: At 00:24 UTC, the latest twelve scheduled terminal or executing buildtest runs had zero allocation failures. At 00:29 UTC, the refreshed set still had zero. At 01:04 UTC the new three-of-twelve allocation failures listed above superseded the earlier healthy samples. The prior lane's two failures at https://buildtest.kotlin.build/run?id=f7ab3aa4 and https://buildtest.kotlin.build/run?id=b9f36c44 are outside the current twelve-run window. The rate policy now requires stopping new required check requests until the allocation-failure count drops below three. The kotlin.build (kompile-remote-build) check is informational; bld-build and kotlin.build (remote) are required in UrlResolver.

OBSERVED: https://github.com/CodexCoder21Organization/UrlResolver/pull/1122 remains OPEN at 008243ec. Its prior trace showed DIRECT_STREAM_ATTEMPT=REUSED_CONNECTION and a confirmed first round after the old 1.5-second relay gate expired. The revised diagnostic test passed 10/10 local runs in L3b. INFERRED: The old gate did not force a pending dial; the current gate checks that premise with a held relay connection and exact pending-dial trace.

OBSERVED: The half-close PR changes only two test files (39 insertions, 5 deletions). Each first waits for an applied receipt, resets that stream, requires the exact already-removed close result, and keeps the later exchange assertions. The forced old fixture failed 5/5; the corrected tests passed 10/10 each in L3b and one each in L3c. INFERRED: The old positive-control latch sat after peer-side close, so a fully applied response could leave it unset when close reported an already removed stream. The focused PR fixes the fixture's ordering and changes no production path or established timeout.

Remote refs and live state at this write

Work Remote head State
https://github.com/CodexCoder21Organization/UrlResolver/pull/1122 and https://github.com/CodexCoder21Organization/UrlResolver/tree/fix/bootstrap-repull-gate-denial-names-its-owner 008243ecc78310602b9de7d1442d6a6292754562 OPEN; bld-build green, remote required check pending
https://github.com/CodexCoder21Organization/UrlResolver/pull/1124 and https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/sweep4-L3b-half-close-receipt ce2865586545a0f43182d6e785ea06e53808cc5e OPEN; full local suite 1845/1845, fresh required checks pending
https://github.com/CodexCoder21Organization/UrlResolver/pull/1121 cdec7438bc6a6e10dcaaf92a3149558c73cb8bde OPEN; waiting for focused fixture fix on main
https://github.com/CodexCoder21Organization/UrlResolver/pull/1120 and https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/sweep3-w6-r83-rebased-1120 6c1b8ccf7214ffc29cb3b3e0cd6529d834b7d64e saved rebase OPEN; re-rebase after prerequisite merges
https://github.com/CodexCoder21Organization/UrlResolver/pull/1118 and https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/sweep3-w6-r83-rebased-1118 464a093521e1de43f136c33ca0758f155dc3c420 saved rebase OPEN; re-rebase after prerequisite merges
https://github.com/CodexCoder21Organization/UrlResolver/pull/1119 c3d12149e44ee1153e22835410919c4d8ac5df7b OPEN; later in sequence
https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/sweep3-w6-r83-bootstrap-recovery-box 99e130994a6efacb4400438a96a5007482eb4b80 fail-first branch for separate recovery stall

The fresh L3c checkout has no uncommitted source change, stash, or local-only commit. The no-content amend changed only the commit ID: a direct diff between 7692b146 and ce286558 is empty. No code outside these remote refs needs reconciliation. No production change, Maven publication, merge, or enqueue occurred.

Dependencies and process

The protocol-pin handoff hf-2026-09-14-reconcile-urlresolver-main-protocol-pins-then-finish-pr-1039 depends on https://github.com/CodexCoder21Organization/UrlResolver/pull/1118 merging. The stale-registry handoff hf-2026-09-16-reproduce-the-stale-registry-relay-address-flake-before-proposing-a-fix depends on a verified item-3 fix. Hold the UrlResolver repo lock before every push or rebase. Recheck claims and recent commits before taking ownership. Never merge or enqueue from a worker lane.

Documents read in L3c: lane policy; prior L3b checkpoint, findings, candidate, and campaign handoff; UrlResolver README and build scripts; Testing Architecture; Engineering Philosophy; github-repos, watch-build, fix-flakey-test, status-report, and create-handoff skills.

No status reports yet.

Add dependency

Complete this handoff

Moves it out of every priority list and into ArchiveArea.