HHandoff

Live work queue

Default

Drag the grip to reprioritize. Blocked work stays exactly where you ranked it.

53 open handoffsHighest priority first
01

Investigate and fix the dominant infrastructure root cause behind the `testNetlab*` flaky-test family on `CodexCoder21Organization/UrlResolver` CI. The user explicitly prohibited retries, sleeps, and timeout increases in tests or UrlResolver; required roughly ten recent failures classified as acquisition, upload/dial wedge, or post-setup assertion; required a fail-first fix at the owning infrastructure layer; and preferred `STUCK + findings` if a correct fix crossed a single-repository boundary. Code PRs must not be merged.

02

Autonomous-loop shepherding of a batch of **UrlResolver** PRs to green/merge-ready. Mid-session the user asked, verbatim: **"Did you create a PR which fixes the testBytecodeFetch flake?"** — expanding the mission to **creating and landing a de-flake PR** for `testBytecodeFetchAggregatesRelayFailureDetails` (now **[#767](https://github.com/CodexCoder21Organization/UrlResolver/pull/767)**, green), which was the highest-frequency flake blocking the whole `foundation.url:resolver` pipeline. The user is now actively merging the batch. **Nothing is merged by the agent without explicit user approval** (handoffs excepted); this doc is NOT authorization to merge code PRs.

03

Original standing request (this session): **"drive [the 2026-07-06 flake-elimination handoff] to completion"** — whose one surviving concrete goal is getting **[UrlResolver #700](https://github.com/CodexCoder21Organization/UrlResolver/pull/700)** merged (a trivial PR that only *ports a regression test* for the already-fixed gossip bug #656). The user has **approved merging #757 and #700** ("approved to merge, proceed").

04

Original user request (verbatim intent): **"https://github.com/CodexCoder21Organization/UrlResolver/pull/752 is red — ensure it goes green and gets merged."** The merge was explicitly **user-authorized**.

05

Standing directives inherited from the 2026-07-09 handoff: root-cause fixes only (never band-aids / never a timeout-or-retry mitigation of an unexplained contradiction); never blind-retry CI — diagnose every eviction across all three watch layers; codex `gpt-5.6-sol` for heavy lifting; and **merge-when-genuinely-green is pre-approved** (so merging these PRs is *my* remaining step, not a user blocker). The 2026-07-09 handoff closed 16 PRs and all four infra issues; its only open items were the **#707 → #680 merge tail** and a DODSS pacer re-land. This session discharged #707, root-caused and fixed a *residual* resurrection race the earlier fixes did not close ([issue #746](https://github.com/CodexCoder21Organization/UrlResolver/issues/746) → [PR #749](https://github.com/CodexCoder21Organization/UrlResolver/pull/749)), and is shepherding a three-PR flaky-test fix suite — **[#749](https://github.com/CodexCoder21Organization/UrlResolver/pull/749) → [#748](https://github.com/CodexCoder21Organization/UrlResolver/pull/748) → [#751](https://github.com/CodexCoder21Organization/UrlResolver/pull/751), landed serially** — plus #680, to merge so the handoff can be closed out.

06

Original user request (verbatim intent): *"The container nursery server, including even https://kotlin.directory/ - appears to be super slow right now. Something is clearly wrong. Perform a comprehensive forensic analysis. What is the root cause of the performance issues?"*

07

Fix buildtest.kotlin.build run pages loading slowly / never loading (user request 2026-07-12 ~13:30 UTC). Root cause was proven with live production thread dumps: the WUI marshaled every field of every test result through the interpreted SJVM sandbox (10,000+ crossings per page) behind one global cache lock with a 2s TTL; renders stalling >30s after the ~24KB header flush were killed by ContainerNursery's HTTPS-facade idle-read timeout (the "never loads" truncation at ~24.25KB).

08

User request (2026-07-12 ~06:05Z): *"Some sort of infra failure or something, it seems this build failed, we need to understand why and fix it: https://buildtest.kotlin.build/run?id=dee74ca2"* — that run was the merge-queue CI candidate for [UrlResolver PR 653](https://github.com/CodexCoder21Organization/UrlResolver/pull/653) ("Fail loud on nested unmarshalable values instead of silent mkString").

09

Original user request (near-verbatim): *"tests are progressing at an alarmingly slow rate. There should be 4 concurrent tests per droplet and ~a droplet per 25 tests up to 10 droplets. Instead we see builds like `https://buildtest.kotlin.build/run?id=c5bf3f99` with only zero or one tests in progress at a time... understand and fix."*

10

Original user request, verbatim: **"Proceed with [challenge 2026-07-11-1223 — netlab-e2e on w3wallettests main is red in both 2026-07-11 runs] now."** i.e. root-cause and durably fix whatever makes the across-NAT `netlab-e2e.yml` workflow fail on [W3WalletTests](https://github.com/CodexCoder21Organization/W3WalletTests) `main`. Per the global CLAUDE.md division of labor, implementation was delegated to codex gpt-5.6-sol; the orchestrator defines the problem and does the final review.

11

User request: **"Drive `https://github.com/CodexCoder21Organization/PlanRepository/blob/main/handoffs/2026-07-05-close-scope-drain-hang-642-and-netlab-droplet-leak-diagnosis.md` to completion."**

12

The production ContainerNursery router was OOM-cycling roughly every 25 minutes because `PeerObservationLog` retained observations for evicted peers. The request was to break the CI/ContainerNursery deadlock by publishing the already-reviewed UrlProtocol fix from commit [`0516dcd`](https://github.com/CodexCoder21Organization/UrlProtocol/commit/0516dcda853d2fb6d5276b5b7cc487d0475daaf3), build a fresh ContainerNursery fat jar pinned to the new artifact, and stop before any production upload, restart, or redeploy.

14

Original user request (this multi-session workstream): *"Launch an HCF daemon locally and add it to https://hardware-control-fabric-wui.wasmserver.com; verify basic ops (call a function, modify the filesystem); test daemon registration BOTH via a CLI flag at startup AND by adding an already-running daemon via the WUI; ensure daemon registration and workstream features work; drive to completion using codex."*

15

User request, verbatim: **"Fix the infra challenges."** This referred to the two defects documented as challenges during the preceding PerformanceTest-graduation session while shepherding [UrlResolver #718](https://github.com/CodexCoder21Organization/UrlResolver/pull/718) through the merge queue (both filed 2026-07-11):

16

This handoff is the **follow-up tail** of [handoffs/2026-07-07-containernursery-challenge-fixes-noop-put-singleton-lock-cli-flags.md](2026-07-07-containernursery-challenge-fixes-noop-put-singleton-lock-cli-flags.md) (which is now fully resolved and should be deleted — see below). The user's instruction this session was:

17

Original request (2026-07-11): pick up three follow-up items — 1. the **buildtest lease-staleness-during-admission** defect (challenge `challenges/2026-07-10-2138-buildtest-lease-staleness-watchdog-kills-runs-that-wait.md`) — "it cost this PR two CI attempts and will bite others"; 2. a **fix-flakey-test pass** on `testDangerJarFile_oversizedStdoutLineDoesNotOomSupervisor` and `testHttpsFacade_slowUpstreamDoesNotHeadOfLineBlockOtherRoutes` (30s-timeout flakes under slow shards); 3. **issue #498's remaining fixes #2/#3** (bounded/rotating CN logs), after which the cn-log-guard stopgap can be retired. "If/when the challenge is completely done, it should be deleted."

18

Review the test comprehensiveness of [ContainerNurseryProductionRemoteRestartCli's adoption-aware restart PR](https://github.com/CodexCoder21Organization/ContainerNurseryProductionRemoteRestartCli/pull/17): compare the branch to `main`, assess behavior/fidelity/edge cases/assertions/hermeticity, fix material gaps, run the complete suite, commit and push the work, and ensure CI is green without merging the code PR.

19

Execute `/home/helena/workspace/campaign-lane-a/lane.md` under GATE AMENDMENT v2 and `/home/helena/workspace/campaign-common.md`, skipping supervisor-owned items 1–2 and processing item 3 onward strictly one repository/CI run at a time. Bump only `foundation.url:resolver` in each `build.kts` to 0.0.600, merge green campaign PRs, and use build-watchman 0.0.11 only.

20

1. Original request: drive [ContainerNursery PR #479](https://github.com/CodexCoder21Organization/ContainerNursery/pull/479) (the startup tmp-dir sweep fix) to completion — the open thread of an earlier handoff. 2. Landing #479's CI surfaced a **systemic buildtest-infra meltdown**: shared build host at load ~80, ~64 concurrent buildtest runs, DigitalOcean **droplet-count quota** *and* **5,000-requests/hour API-rate** both exhausted, and the `digitalocean-droplets` service OOM restart-looping — failing every `kotlin.build (remote)` run org-wide. 3. The user directed fixing the **structural** causes, not papering over them with a concurrency cap: *"the underlying problem occurred without any such limit so clearly something more structural is wrong."* That expanded the work into a forensic analysis of the orchestration and three merged structural fixes, plus this handoff to preserve the **wider architectural plan** so it is not lost after the interim virtual-threads stopgap.

22

> ## ✅ STATUS UPDATE — 2026-07-10 (UTC): ROOT CAUSE FIXED + SHIPPED; dev-box rollout 3/7, finishing > > **The durable fix this handoff called for has landed.** The resolver-layer half of the defect — two `WorkspaceCoordinateResolver` bldbinary/memrepo fetch paths not marked served-fresh — is fixed in **[kompile-core #211](https://github.com/CodexCoder21Organization/kompile-core/pull/211)** (MERGED 2026-07-09T23:31:34Z, squash `ad57b7b`), completing what **kompile-core #210** (the fingerprint-validated `BuildRuleResultIndex`, MERGED) started for the per-repo caches. Verified with a red↔green reproducer. The fixed toolchain is **published to kotlin.directory**: `kompile:manager:0.0.112` (fix confirmed in bytecode) → `kompile.cli:kompile-cli:0.0.79` via **[kompile-cli #126](https://github.com/CodexCoder21Organization/kompile-cli/pull/126)** (MERGED 2026-07-10T02:39:45Z; its POM depends on manager 0.0.112, so downstream pulls the fix transitively). > > **Dev-box rollout** (bump each priority repo's pinned `kompile-cli` → 0.0.79): **3 of 7 done** — NetLabWorkerServer [#59](https://github.com/CodexCoder21Organization/NetLabWorkerServer/pull/59), NetLabEmbedded [#63](https://github.com/CodexCoder21Organization/NetLabEmbedded/pull/63), NetLabApi [#28](https://github.com/CodexCoder21Organization/NetLabApi/pull/28) merged. **4 remain OPEN and correct**, blocked *only* by shared buildtest-droplet CI instability (not code): UrlProtocol [#351](https://github.com/CodexCoder21Organization/UrlProtocol/pull/351), UrlResolver [#737](https://github.com/CodexCoder21Organization/UrlResolver/pull/737), NetLabManagerServer [#101](https://github.com/CodexCoder21Organization/NetLabManagerServer/pull/101), NetLabCLI [#41](https://github.com/CodexCoder21Organization/NetLabCLI/pull/41). > > **→ Current status + how to finish the rollout live in the follow-on handoff:** [`2026-07-10-kompile-cli-0.0.79-rollout-blocked-by-buildtest-droplet-instability.md`](2026-07-10-kompile-cli-0.0.79-rollout-blocked-by-buildtest-droplet-instability.md). **Delete THIS handoff once all 7 repos are on 0.0.79.** The root-cause analysis below is accurate and remains useful historical context; the "in-flight / mid-flight / until then" framing in it is now superseded by this banner.

23

Same standing directives as the parent handoff: (1) fix the droplet-service memory leak at the root with the 128MB cap restored; (2) merge [UrlResolver #713](https://github.com/CodexCoder21Organization/UrlResolver/pull/713); (3) working (not just filed) solutions for BTSS#180, BTSS#181, ContainerNursery#500, NetLabManagerServer#98; (4) investigate CI flakes deeply, never just retry; (5) codex gpt-5.5 for heavy lifting (its quota returned this session); (6) merge-when-genuinely-green pre-approved.

24

User instruction (this session): *"let's create a handoff for resolving these handoffs."* Context: the 2026-07-07→09 flake-elimination campaign ([campaign handoff](2026-07-07-flake-elimination-campaign-fix-all-max-3-lanes.md)) consumed many of the flake-class handoffs; the directory (59 files at write time) still contains a mix of resolved, superseded, and genuinely-live efforts, plus ~10 new handoffs from parallel sessions this triage has NOT assessed. The resolver's job: verify → resolve → close out, honestly.

25

The user wants **the KompileRemoteBuild optimizer WUI served at the `kotlin.build` apex** ("the domain should be just kotlin.build, we should take the main website for the wui"), and — as enabling infrastructure — the DNS management skill migrated to the [NamecheapProxy](https://github.com/CodexCoder21Organization/DocumentationRepository/blob/main/projects/NamecheapProxy.md) (`url://namecheap/`) so DNS can be edited from any machine without IP whitelisting, plus any NamecheapProxy-CLI bugs fixed.

26

Starting from an audit of the [W3Wallet workstream](../workstreams/W3Wallet.md) ("is it fully implemented?"), the user directed: **ensure the demos are upgraded to use the newly-shipped W3Wallet features, and the browser extension is upgraded with features verified by e2e integration tests**, then approved: *"When everything is green, you are approved to start merging everything."* Implementation and first-pass reviews ran via codex gpt 5.5 until its usage limit exhausted (see Operational knowledge); the supervising Claude session then executed remaining work directly.

27

The request was to add HardwareControlFabric ServiceServer end-to-end tests under `tests/` as `testE2e<Scenario>.kts`, following the NetLab (in-process network-simulator) brief patterns, covering three scenarios:

28

The user requested phase-2 fleet redeploy of the UrlResolver gossip-storm hotfix. Resolver `foundation.url:resolver:0.0.599` is already published and deployed in ContainerNursery itself; the remaining work was to bump embedded resolver pins in fleet services, build fat JARs locally with kompile-cli `0.0.77`, deploy those JARs to the same ContainerNursery paths, SIGTERM the matching app JVMs, and open unmerged PRs recording each source pin bump.

29

User: *"Your job is to fix all of them, with a maximum concurrency of 3"* — "them" = all known flakes per [PRIORITIES.md](../PRIORITIES.md) Priority 1, discovered via handoff mining + live evidence. Standing rules given by the user: **verify every recorded diagnosis before fixing** (handoffs/issues may be obsolete or wrong); **doctrine precedence** — claims conflicting with [TESTING.md](https://github.com/CodexCoder21Organization/DocumentationRepository/blob/main/architecture/TESTING.md) are presumptively wrong ("CPU overloaded" is never a root cause); deploy/merge/publish **pre-authorized** ("You are approved to deploy, merge, and publish as needed to make everything go green. Ensure it all gets merged."). Implementation by codex gpt-5.5 lanes (canonical invocation, briefs via `"$(cat brief.md)"`); after codex quota exhaustion (2026-07-08 ~22:15 UTC, **resets Jul 13 ~21:52 per its error message**) the user authorized **Opus subagents** for the backlog.

31

Original request (verbatim intent): *"Let's find a few flakes to fix as per [PRIORITIES.md](https://github.com/CodexCoder21Organization/PlanRepository/blob/main/PRIORITIES.md) and fix them. Let's fix up to 3 flakes at a time in parallel. We need to verify the flakes before we start fixing/merging things, because the handoffs might be obsolete or mistaken about the underlying root cause. Keep fixing flakes until there are no more flakes remaining."* Later: *"Use your flakey test skills"*, then *"merge #700 and #243, ensure they get merged"*, then *"Are you using build-watchman?"* (I was not initially — corrected mid-session), then this handoff.

32

Standing user directive: **"ensure [UrlResolver #671] gets merged."** It is the final, sender-half PR of an already-merged dependency chain that makes RPC **request** params carry `ByteArray` values as raw out-of-band libp2p **binary attachments** on streams that negotiate `/aicli-rpc/1.1.0`, transparently downgrading to base64-in-JSON (`/aicli-rpc/1.0.0`) for pre-1.1.0 peers. This removes the ~1.33× base64 blow-up and the SJVM base64-decode cost that caused the original buildtest `uploadChunk` SJVM timeout. The whole dependency chain (BuildTestServerService #163, UrlProtocol

33

Original request (verbatim intent): *"drive [the 2026-07-05 handoff] to completion."* That handoff's one unfinished, owned item is **UrlResolver PR #659**, a pure-cleanup PR removing two leftovers from the earlier #656 merge:

34

**Written:** 2026-07-05. **UPDATED 2026-07-12 ~16:45 UTC** (§2/§3 rewritten — the code is done and pushed; the ONLY blocker is buildtest infrastructure, not the PR). **Every state snapshot below was verified at update time — RE-VERIFY before acting.** PRs merge, queues shuffle, prod restarts. `gh pr view <num> --repo CodexCoder21Organization/UrlResolver --json state,mergeStateStatus,statusCheckRollup,mergedAt` is authoritative; never trust this doc over a fresh query.

35

Original request: *"Now that #650 merged, is there anything about [UrlResolver #647] worth salvaging (tests, etc.)?"* → salvage it into a PR → *"ensure #653 gets merged"* → then investigate the non-DO CI flakes. **Merging #653 is user-approved** (directive: "ensure 653 gets merged"). 0 reviews required.

36

**Date:** 2026-07-05 **Author:** Claude (Opus 4.8) session **Status:** (updated 2026-07-10) Audit COMPLETE; 6 remaining UrlResolver PRs re-rebased onto current main, pin-synced, locally validated; **still blocked on buildtest-server infra** — 5 consecutive CI attempts on #605 were killed by 5 distinct infra mechanisms on 2026-07-10 (see the 2026-07-10 addendum at the bottom).

37

Original mission (2026-07-05): root-cause and durably fix the netlab CI failure `RPC request 'uploadFile' to service 'netlab-hosted' timed out after 30000ms`, then land the netlab scenario-test PRs it was blocking ([UrlResolver #631](https://github.com/CodexCoder21Organization/UrlResolver/pull/631), [UrlResolver #632](https://github.com/CodexCoder21Organization/UrlResolver/pull/632)). The root cause was a UrlProtocol relay transport bug: the relay wrote awaited RPC replies with the 200 ms best-effort `writeFramedBufferWithBackpressure` overload and ignored a dropped write, so the client hung its full 30 s timeout. Fixed TDD-style in [UrlProtocol #329](https://github.com/CodexCoder21Organization/UrlProtocol/pull/329) (merged 2026-07-05).

38

Original request (verbatim intent): a user looking at buildtest run `d41cb83e` asked *"if tests run 4-at-a-time, how do we ever get 1 running + 1 pending?"* It expanded, in order, into:

39

The thread began as a question about whether NetLab supports the "browser + W3Wallet extension + daemon behind a NAT ↔ public web-host, driven by Playwright" e2e (it does; already built as [`W3WalletTests/browser-nat-e2e`](https://github.com/CodexCoder21Organization/W3WalletTests/tree/main/browser-nat-e2e), both JS and JVM variants). It then became: **assess whether the W3Wallet e2e/integration tests are comprehensive, find real bugs, and fix them TDD-style (failing test first, then fix).**

40

This continues the handoff [`handoffs/2026-06-30-cn-477-httpclient-reuse-flake-fixed-and-urlfacade-p2p-entropy-flake.md`](2026-06-30-cn-477-httpclient-reuse-flake-fixed-and-urlfacade-p2p-entropy-flake.md), whose §4 left an open decision. User request this session (verbatim): *"Pull any latest changes into your skills repository (if any upstream) and then let's drive [that handoff] to completion."* When asked which fix approach to take, the user chose **approach B: fix the owning crypto libraries upstream** (not a downstream mitigation).

43

**Date:** 2026-06-29 (date of the first message in this thread) **Author:** Claude (Opus 4.8, 1M context) session **Status:** My PR #73 (netlab OOM fix) was **superseded by the team's streaming approach ([NetLabManagerServer #76](https://github.com/CodexCoder21Organization/NetLabManagerServer/pull/76), MERGED)**. My scoped-down "my lane" is essentially done: **[BuildTestEmbedded #229](https://github.com/CodexCoder21Organization/BuildTestEmbedded/pull/229) is deployed + verified working**; **[UrlResolver #657](https://github.com/CodexCoder21Organization/UrlResolver/pull/657) is green + queued but blocked by a stalled org merge queue.**

44

1. Original request (verbatim intent): *"Use your flakey test skills: https://github.com/CodexCoder21Organization/ContainerNursery/runs/84144960635"* — the `kotlin.build (remote)` run that failed on **`testHttpFacade_xForwardedHeadersReachBackendOverWire`** with `java.net.SocketTimeoutException: Read timed out`. 2. Then: *"Ensure https://github.com/CodexCoder21Organization/ContainerNursery/pull/474 gets merged."* 3. Then: *"proceed with next steps"* — the follow-up items I had listed (two other intermittent droplet flakes seen on #474's first `kotlin.build` run, plus a `kotlin-build-ci` webhook-reliability issue).

45

**Original request (verbatim):** *"I don't understand why https://github.com/CodexCoder21Organization/UrlResolver/ main branch is red, we need to fix this."*

47

- **Thread date (first message):** 2026-06-22 - **Author:** Claude Opus 4.8, in conversation with the user - **Last verified against `main`:** 2026-07-05 - **Type:** design thread. One plan PR merged; **one design deliverable still open** (the idempotency/`RpcScope` write-up).

48

Two phases in one thread: - **Phase 1 (done, merged earlier):** make NetLab run a custom-Docker topology e2e — a browser + W3Wallet plugin + daemon behind a NAT on one node ↔ webserver + permissions server on another — verified by Playwright, in JS and JVM variants. It was already built; I wired the last gap (Playwright trace capture + `netlab download-file` retrieval) and corrected stale docs. - **Phase 2 (this handoff):** *"The NetLab NAT-traversal checks in W3WalletTests are still red. Ensure it goes green, then enable it as a required check for merging."* Root-caused to `url://netlab-hosted/` (the CN-hosted netlab **manager**) OOM-crash-looping. This handoff is the **bytecode-serving** contributor to that OOM.

49

Investigate and fix, end-to-end and in production, the **GithubWatchman → `url://lambdaserver/functions/{id}` callback failures** (first observed as `"Stream closed"`, later `NoSuchMethodError: lambdaserver/LambdaServiceClientImpl.invoke(List)Object`). Ensure the fixes merge, publish, and are deployed so the callbacks actually succeed. Mid-thread the user added the higher-priority directive:

51

The user asked (verbatim): *"We want to have a bunch of comprehensive tests for UrlResolver repository which utilize the netlab to simulate more realistic network scenarios. Especially situations around high network latency, high packet loss, peers going offline, etc."*