Record the 93338b7 deployment and F32
F29 and F30 are both live-proven on the new build. F30's session cleanup then
exposed F32: a running but empty tmux server answers "no current target", which
hasSession did not recognise, so an already-dead pane could never be reaped.
F32 is a side effect of dea56e4. The reply only exists because the runtime now
outlives its last pane.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011xsXyr5J1RACo71YeKG3Pu
This commit is contained in:
@@ -1368,3 +1368,60 @@ Fixed in `6523002`: `Action` carries the budget of both lines, the error names
|
||||
the actual length and limit, and the prompt states the limit.
|
||||
|
||||
F31 blocks run 5 outright. Run 5's chain is four rotations.
|
||||
|
||||
## Deployment of 93338b7, and F32, 2026-08-28
|
||||
|
||||
Both halves deployed from one revision, built from a throwaway worktree because
|
||||
the shared checkout still carries 20 uncommitted paths from another session.
|
||||
|
||||
```text
|
||||
coordinator 93338b72cec5facdb991d5dfa56eb9d3195749d0 image sha256:8b57491da293 readyz 200
|
||||
worker 93338b72cec5facdb991d5dfa56eb9d3195749d0 sha256 168bf20724ec7e03bb5bd19320d4b698d31441d15ce3706d0498d1c85ebd044f
|
||||
tmux runtime MainPID 3073848, untouched across the worker install
|
||||
```
|
||||
|
||||
The worker install is itself further F28 evidence. A real deployment left the
|
||||
runtime and its cgroup alone.
|
||||
|
||||
### F29, live-proven
|
||||
|
||||
Blocking the F28 disposable task while leased returned `HTTP 200` and moved it
|
||||
to `blocked v10`. The same call returned 409 eight times before this deploy.
|
||||
|
||||
### F30, live-proven, and the defect hiding behind it
|
||||
|
||||
The stuck `releases` entry cleared on the block, which is the fix working. The
|
||||
session did not clear. It was marked `quarantined` instead, because `Kill`
|
||||
returned an error for a pane that no longer exists.
|
||||
|
||||
### F32: an empty tmux server answers differently
|
||||
|
||||
```text
|
||||
tmux has-session -t '=<gone>' → "no current target" exit 1
|
||||
```
|
||||
|
||||
`hasSession` recognised `can't find session`, `no server running`, `no sessions`
|
||||
and a socket-missing case. It did not recognise `no current target`, so a
|
||||
missing session read as a real error.
|
||||
|
||||
This is a side effect of `dea56e4`. Before the runtime became its own unit, the
|
||||
server exited with its last session and answered `no server running`, which was
|
||||
already handled. `tmux -D` keeps the server alive past its last pane, so this
|
||||
reply had never been produced before today.
|
||||
|
||||
Consequences: `Kill` fails for an already-dead pane, the quarantine never
|
||||
clears, and the worker's only session slot stays pinned. `AgentStatus` shares
|
||||
the helper and errored where it should report `exited`, which means F16's
|
||||
missing-pane branch was refusing renewal by error rather than by detection.
|
||||
|
||||
Fixed in `92adf04`.
|
||||
|
||||
### Ledger
|
||||
|
||||
```
|
||||
F28 closed, live-proven in both directions
|
||||
F29 fixed in efd0a5e, DEPLOYED, live-proven
|
||||
F30 fixed in 2dc90bd, DEPLOYED, partially live-proven, rest blocked by F32
|
||||
F31 fixed in 6523002, DEPLOYED, awaiting run 5's first rotation
|
||||
F32 fixed in 92adf04, needs a rebuild, BLOCKS leasing on workpc-claude
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user