Resolve the three service scenarios that change with UrlResolver 0.0.1331
Written 2026-10-22 00:05 UTC.
RE-VERIFY: This is a write-time snapshot. Recheck the three PR URLs with gh pr view and inspect the configured required checks. Read the evidence branch before repeating tests. CI continues independently while this handoff is prepared.
Owner requirements
Dated 2026-10-21, from the lane request:
- "Still prohibited: merging, enqueueing, production deploys, restarts, route edits, SSH."
- "Never commit lane evidence (logs, tarballs, .lane*/, lane-evidence/) to the product PR branches. Evidence goes only to a separate wip/laneP2REL-evidence branch."
- This lane was authorized to publish ONE new UrlResolver version. That authorization is already used by foundation.url:resolver:0.0.1331. Do not publish another version or replace a claimed coordinate without new owner authorization.
- Preserve test iteration counts and time limits. Use existing public APIs, real in-process dependencies, and deterministic scenarios. Before a lifecycle change, record resource creators, owners, closers, terminal states, callback re-entry, mid-operation close, and persisted-state restart behavior.
Mission
Resolve the three service scenario outcomes before treating the dependency draft as validated. The publication and both dependency branches are reviewable. WUI validation is green. Service local validation is 574/577 first-attempt passes; three scenarios also do not pass individually with the new resolver. No runtime fix or test logic change was made.
Findings and completed work
The owner requested a release carrying the reconnect change at https://github.com/CodexCoder21Organization/UrlResolver/pull/1336. Old published resolver 0.0.1330 was built from earlier source and contains neither of two new reconnect classes. Requested main https://github.com/CodexCoder21Organization/UrlResolver/commit/c7dce77f156849735a52844202f8f19d26813688 contains reconnect merge https://github.com/CodexCoder21Organization/UrlResolver/commit/7eb2c95858dc02f733dda70df5a17ac403a9b171, confirmed by git log and ancestry check.
Release source https://github.com/CodexCoder21Organization/UrlResolver/commit/d50e6cf98238ef9d2816f1b105af44fc99957f74 changes only build.kts coordinate 0.0.1330 to 0.0.1331. Both jar and pom returned 404 before upload. Publisher 0.0.6 completed once with exit 0. Downloaded jar/pom bytes equal local build. JAR SHA-256 6b8b27255b80d9ac81d8b8b7dc9ce13ea67663d279c1be820ae65835b7c42a96; POM SHA-256 99abfbe5e458f5e8586e96427f5e91f36efe4fa8816de7f9bfd887c5a3692461. Both files were rechecked present with HTTP 200 during handoff preparation.
The POM declares protocol 0.0.1429, SJVM 0.0.55, simple clock 0.0.16, hierarchical clock 0.0.6, libp2p snapshot-32, observable core 0.3.25. The only resolved dependency-version difference between old and new resolver POMs is observable core 0.3.22 to 0.3.25.
WUI changes one coordinate declaration. Service changes 697 coordinate occurrences in 222 .kts files, including stale test declarations. Existing test logic and assertions are unchanged. Independent review found that every changed line differs only in coordinate versions and no lane evidence is on product branches. Both fat jars contain exactly one copy each of CachedConnectionStreamSetupException, FreshConnectionStreamSetupException, and UrlResolver; every checked class entry matches the downloaded release byte for byte. Jar listings and javap output are in evidence.
WUI complete suite: 80 distinct tests, 80 first-record successes, zero extra attempt records. XML SHA-256 75bed26b3cdb4ca3a613a46681cfa5ddc7024c6112df01a1f0c95e3a10d6186a. Its focused check is also 1/1. Required bld-build CI is GREEN, and its observers ended.
Service complete suite: exit 1; 577 distinct tests, 574 first-record successes, three nonpasses, zero extra attempt records. XML SHA-256 1d17015715731402a7b1cf0872706d20dc9f2693c411ea64aaaa2793cf207a29. Exact scenario names and raw traces are in https://github.com/CodexCoder21Organization/UrlResolver/blob/wip/laneP2REL-evidence/service-nonpasses.json and https://github.com/CodexCoder21Organization/UrlResolver/blob/wip/laneP2REL-evidence/service-suite.xml; use numeric case IDs in neutral notes.
Case 1 and case 3 do not observe the fixture's transport-clock waiting signal; the outer scenario reaches its existing time limit. Case 2 does not observe the expected first stream write. No time limits or assertions were changed.
Three-way isolated controls, one record per scenario:
| Resolver | Observable core | Outcome |
| --- | --- | --- |
| 0.0.1330 | 0.3.22 | 3/3 pass |
| 0.0.1331 | 0.3.25 | 0/3 pass, matching full-suite symptoms |
| 0.0.1330 | 0.3.25 | 3/3 pass |
These controls isolate the observed difference to the resolver artifact rather than observable core or full-suite ordering. All controls used original main service source https://github.com/CodexCoder21Organization/DigitalOceanDropletServiceServer/commit/ffe02fb5e287450deffa8a7375eb8b150c8fffcd or exact updated head https://github.com/CodexCoder21Organization/DigitalOceanDropletServiceServer/commit/d1f0d42df9bf5bfb72270b3cc6f0115d61429f11. Temporary core-only declaration changes were restored, and all checkouts are clean.
Candidate internal mechanism, NOT established: src/foundation/url/resolver/sandbox/LazyReconnectingMethodDispatcher.kt differs between old publication source https://github.com/CodexCoder21Organization/UrlResolver/commit/c5bc50c6ca5763271e4294c1ea3f34073e4fb333 and https://github.com/CodexCoder21Organization/UrlResolver/commit/c7dce77f156849735a52844202f8f19d26813688 only in the cleanup selection: the new code always waits for activity completion before generation cleanup, where old code selected immediate cleanup in some states. A controlled local reversal has not been run. Do not describe this as proven root cause or restore the old selection without covering the reconnect invariants.
Relevant PRs and remote branches
| Repo |
Branch |
Remote head |
PR |
State |
| UrlResolver |
https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/laneP2REL-resolver-release |
https://github.com/CodexCoder21Organization/UrlResolver/commit/d50e6cf98238ef9d2816f1b105af44fc99957f74 |
https://github.com/CodexCoder21Organization/UrlResolver/pull/1406 |
OPEN, published, focused check 1/1; CI pending at writing |
| DigitalOceanDropletWui |
https://github.com/CodexCoder21Organization/DigitalOceanDropletWui/tree/wip/laneP2REL-wui-resolver |
https://github.com/CodexCoder21Organization/DigitalOceanDropletWui/commit/e513f52ef8b5f0d5bf9644d4f8807ad7bfae1fef |
https://github.com/CodexCoder21Organization/DigitalOceanDropletWui/pull/22 |
OPEN, 80/80 first-attempt passes, required CI GREEN |
| DigitalOceanDropletServiceServer |
https://github.com/CodexCoder21Organization/DigitalOceanDropletServiceServer/tree/wip/laneP2REL-service-resolver |
https://github.com/CodexCoder21Organization/DigitalOceanDropletServiceServer/commit/d1f0d42df9bf5bfb72270b3cc6f0115d61429f11 |
https://github.com/CodexCoder21Organization/DigitalOceanDropletServiceServer/pull/171 |
OPEN DRAFT, 574/577 first-attempt passes, CI confirmation ongoing |
| UrlResolver evidence |
https://github.com/CodexCoder21Organization/UrlResolver/tree/wip/laneP2REL-evidence |
71f0de3c2e92a96b705da9fa663548b11e59c4a5 at preparation; branch advances with final report |
no PR |
controls, XML, notes, publication hashes and observer records |
No stashes or local-only commits remain in the five touched product/control checkouts. Original and control checkouts contain no uncommitted source changes. Build outputs and dependency caches are deliberately omitted; exact class hashes and artifact paths are in root-artifact-review.json and can be rebuilt from remote heads.
Published but not merged
foundation.url:resolver:0.0.1331 is published at https://kotlin.directory/foundation/url/resolver/0.0.1331/resolver-0.0.1331.pom from https://github.com/CodexCoder21Organization/UrlResolver/commit/d50e6cf98238ef9d2816f1b105af44fc99957f74, which is NOT on main and is in the open release PR. Its runtime source is the requested main https://github.com/CodexCoder21Organization/UrlResolver/commit/c7dce77f156849735a52844202f8f19d26813688 plus the version declaration. Reconcile the open release PR through the owner's review process; this lane has no merge authority. No production application was deployed or restarted. Both consumer branches remain unmerged and were not deployed.
Next steps
- Read https://github.com/CodexCoder21Organization/UrlResolver/blob/wip/laneP2REL-evidence/dependency-control-summary.json, https://github.com/CodexCoder21Organization/UrlResolver/blob/wip/laneP2REL-evidence/rP2REL-findings.md, and the exact three scenario paths in service-nonpasses.json. Keep the original full-suite result as reported.
- Reproduce via scripts/test.bash --local --test FUNCTION --log OUTPUT.xml, taking FUNCTION from each numeric case's manifest name after its final dot. Run one scenario at a time. The old source checkout uses original main https://github.com/CodexCoder21Organization/DigitalOceanDropletServiceServer/commit/ffe02fb5e287450deffa8a7375eb8b150c8fffcd; updated source is https://github.com/CodexCoder21Organization/DigitalOceanDropletServiceServer/commit/d1f0d42df9bf5bfb72270b3cc6f0115d61429f11. Core-only controls changed only core declarations in build.kts and the three scripts, then restored them.
- Identify the exact resolver mechanism with a deterministic local control before proposing a fix. Start from the cleanup-selection candidate, but preserve returned-value lifetime and sibling-stream behavior. If the implementation is wrong, fix its upstream owner with consumer and upstream public-API reproducers. If an existing assertion encodes incorrect behavior, record it precisely and cover the correct public behavior with a new test rather than relaxing the old limit.
- A new remote publication is outside this lane's one-version authorization. Complete a concrete reviewable fix and seek owner direction before any additional release. No queue entry, merge, production change, or SSH is authorized.
Operational notes
All complete suites used /tmp/claude-501/-code/79f96be0-ae83-4479-b38c-8894e2722ba8/scratchpad/out/suite-slot.sh. WUI XML completed 23:32:39.573; service slot launcher queued 23:25:26, suite shell started 23:32:39, Java 23:32:42. Exact PIDs and lock-FD inode confirmed the queue/execution distinction; there is no evidence of overlapping complete suites.
Service bootstrap requested cs-aarch64-pc-linux.gz and got HTTP 404. A temporary jars/coursier link to the installed working /home/leslie/bin/coursier allowed the unchanged wrapper to run. Remove temporary bootstrap files when finished. Earlier observer API reads returned HTTP 403 while current gh reads worked. Observers were refreshed once with current credential acquisition; WUI then confirmed GREEN without an API notice. No CI runs were repeated or changed.
Source CI and service CI were observed with build-watchman 0.0.21, plain PR mode, --idle-timeout-minutes 150. Keep CI verdicts separate from local suite results. Final observer exit records and final live PR snapshots will be added to the evidence branch.
Read before test changes: https://github.com/CodexCoder21Organization/DocumentationRepository/blob/main/architecture/TESTING.md and https://github.com/CodexCoder21Organization/DocumentationRepository/blob/main/PHILOSOPHY.md.
Final lane snapshot — 2026-10-22 00:22 UTC
This snapshot supersedes earlier pending CI observations. WUI required CI is green; its full local suite is 80/80 on the first attempt. Service required CI and its test check are red; its artifact check is green. Service full local suite is 574/577 on the first attempt, with the same three scenario identities present in CI. Zero repeated records occurred in either local full suite. All CI observers have stopped. Source release required CI was still pending when its observer stopped. No CI run was repeated.
The lane deliverable is complete: published coordinate and byte verification, both open consumer PRs, artifact proof, suite counts and consumer verdicts. Service validation remains unresolved and its PR remains a draft. Continue the three-scenario investigation from the committed source and evidence; do not treat the candidate cleanup change as a proven cause. The one authorized publication has been used; another publication requires renewed authorization.
Final source commit: https://github.com/CodexCoder21Organization/UrlResolver/commit/d50e6cf98238ef9d2816f1b105af44fc99957f74
Final WUI head: https://github.com/CodexCoder21Organization/DigitalOceanDropletWui/commit/e513f52ef8b5f0d5bf9644d4f8807ad7bfae1fef
Final service head: https://github.com/CodexCoder21Organization/DigitalOceanDropletServiceServer/commit/d1f0d42df9bf5bfb72270b3cc6f0115d61429f11