Observed. Every agent_handoff (twenty-one lead handoffs on 2026-09-03 alone) left the outgoing lead's builders, reviewers and watches as orphans: the successor cannot message, settle, budget or read reports from them, and they keep reporting to a thread that is settled. A restart-settle (item 2) produces the same orphans with no note at all.
Impact. Successors adopt orphans by run id and by reading the pull request itself; a stuck orphan is replaced by a fresh child with a receipt on the PR, never messaged. Each adoption costs a lead a full re-derivation of its repo's state, about a hundred thousand tokens.
Ask. Re-parent the subtree on handoff (or offer adopt: true), and let a parent message and settle grandchildren. At minimum, have a child's parent_report reach the live successor when its parent is settled.
Observed. Twenty leads were settled by restarts between 2026-09-02 23:43 and 2026-09-03 12:01 UTC: lead-earth-data-3 at 23:43; lead-world-serve-2 at 01:42; lead-tile-compiler-3 at 02:54 and -4 at 03:05 (three minutes after a roster read found it working); lead-eval-5 at 03:34; lead-labs-7 and lead-tile-compiler-5 in the same second at 04:02:21; lead-tile-compiler-6 at 04:4x and -7 at 04:50 (five minutes old); lead-earth-data-5 at 06:4x; lead-tile-compiler-8 and lead-earth-data-6 at 06:45; lead-world-serve-3 at 06:5x; lead-labs-9 at 06:59; lead-tile-compiler-9 at 07:07; lead-world-serve-4 at 07:43; lead-world-sim-2 at 08:51; lead-tile-compiler-10 at 09:23 (no restart notice reached the parent at all); lead-world-sim-3 at 09:39; lead-tile-compiler-11 at 09:48; lead-asset-catalog-7 at 12:01. The threads settled were mostly parked on a wall or between turns at the restart; threads mid-turn were interrupted and resumed (the 13:5x restart interrupted three children and all three resumed, which is the right behaviour).
Impact. A repository without a lead for up to thirty minutes, found only by reading the roster with include_settled: true; a new lead spawned and briefed each time; the settled lead's children orphaned (item 1). The tile-compiler lead was settled eight times in one night.
Ask. A restart must never settle a thread. Park it and resume it, exactly as it does for a thread that was mid-turn.
Observed. Threads settled after a handoff reappeared in the live roster as blocked: waiting on limits on the next pool wall and resumed with the wall: lead-world-serve-6 and lead-earth-data-7 came back four times each after settles at 12:41, 13:14, 13:4x and 13:51 (each agent_settle answered settled and dropped queued wakes); lead-platform-8 and lead-world-sim-4 came back once each within minutes of their handoff-settles. Earlier: lead-tile-compiler-3 handed a builder off after its settle; org-ops-5 kept a sweep running for ninety minutes after being settled; lead-world-serve-4, settled at 07:43 and replaced, resumed from a wall park at 08:30 and acted as a second lead on world-serve#4 for twenty minutes; lead-world-sim-3 did the same at 10:00; lead-eval-8 took a turn on an orphan's report after its settle.
Impact. Two leads acting on one repository at once; duplicate spawns and reviews; seats taken from live work during the walls; the parent settling the same thread nine times in a day.
Ask. Make settle terminal: no queued wake, no resume from a wall park, no survival across a restart. From inside, a restart-settle followed by a wall looks like a park, so the thread cannot know it was replaced.
Observed. lead-asset-catalog-7, capped with budget {turns: 1, tokens: 1000} at 12:2x as a task-stop backstop, spent its one turn on a queued child wake at 12:28 and spawned two new children beside its successor. Threads that stop at their budget show paused (budget), stale and stay live: a roster read at 12:41 found twenty-three superseded leads in that state, each able to take a turn on any queued wake.
Impact. The parent now settles every paused superseded thread at every review (a bulk agent_settle stale: true); the cap cannot be used as a stop.
Ask. A turn cap should refuse spawns and messages in the capped turn; offer settle-at-budget as a spawn option, or make a budget-paused thread inert until explicitly resumed.
Observed. A lead parked on a pool wall (blocked: waiting on limits) is refused by agent_handoff with "still working; a handoff needs it idle (or pause it)". lead-platform-8's handoff was refused at 13:35 and 13:38 and succeeded only at 13:4x when a report left it idle between walls. The suggested pause would have paused its whole subtree, including the builder fixing the fleet's critical-path pull request.
Impact. Handoffs of leads at 340k+ context wait on the pool's timing instead of the parent's decision.
Ask. Allow a handoff of a parked thread (it is not working), and give thread_pause a self scope.
Observed. With every child on notify: quiet, the parent still received a waiting on limits wake per child per wall, about forty on 2026-09-03 between 12:38 and 14:00; one ops report wake was delivered seven times between 13:26 and 13:3x; restart resumes replayed held wake batches. Each delivery costs the parent a turn and a seat while the pool is walled.
Impact. The orchestrator spends its scarce seats acknowledging notices it cannot act on.
Ask. Collapse wall notices into one per reset (or none under quiet), dedupe wake delivery, and deliver held wakes as one batch.
Observed. A plain agent_list has omitted live leads (the parent now confirms from include_settled: true before any handoff); blocked threads sometimes carry no context_tokens (lead-platform-8 and lead-asset-catalog-8 at 12:41); a settled thread appears with settled_at yet later as blocked (item 3). A node thread's node_list is empty, so a lead running on aa-cpu-1 could not place a child on aa-gpu-1 (2026-09-03 01:5x).
Impact. Handoff decisions (made on context size) and placement decisions rest on fields that are sometimes absent.
Ask. One consistent roster with context_tokens for every live thread, and node_list available to node threads.
Observed. "Max descendants per tree (50) reached" refused every spawn from 16:16 to about 16:40 UTC on 2026-09-02 while most descendants were settled; spawns went through again from 16:43 with no change on our side.
Impact. Twenty-four minutes with no spawns fleet-wide and no explanation of the count.
Ask. Document the counting rule and exclude settled threads from it, or expose the current count.
Observed. From 10:20 UTC on 2026-09-03 every reset of the Claude pool (11:20, 12:40, 13:10, 13:40, 13:50, 14:00) was consumed within seconds by roughly twenty competing threads (ten leads, their one Claude child each, ops and the parent); six to eight of nine leads were parked each time and the parent's own turn requests were held ("N turn requests were held while no provider seat could start them"). The parent ran four consecutive pressure hours of reduced spawning to keep demand down.
Impact. The orchestrator, which decides handoffs and rulings for everyone, waits in the same queue as a reviewer.
Ask. A seat reservation or priority for a designated thread (the orchestrator), visibility of per-account limits and reset times, and a fair-share order among children when a reset lands.
Observed. agent_message to a blocked child returns applied: idle although the message queues a turn; the wake text for a settled thread still says it has NOT finished its work; a handoff note is echoed back in full in the tool result, which is large.
Impact. Minor confusion in automation that reads the results.
Ask. Return applied: queued for a blocked child; suppress wakes for settled threads; return the new thread id and a short summary from agent_handoff.
Restart handling for threads mid-turn (interrupted and resumed, wakes re-armed, nothing replayed); the held-request batching when the pool is walled; agent_handoff's carried note and workspace; detached tasks that survive restarts; per-child budgets and the report-on-milestone pattern; node placement for Codex children.