From e3c4df474a331cf077339421f982826b55249669 Mon Sep 17 00:00:00 2001 From: Dai Ha Date: Sat, 12 Sep 2026 07:21:12 +0700 Subject: [PATCH] fleetd #489: record that the lead rollover's bootstrap prompt does not land Criterion 6 of #480 was written as 'still unproven'. It is now measured failing: the first real roll joined /clear and bootstrapText into one line and Claude Code refused it as 'Unknown command: /clearFresh'. Nothing was cleared, so the failure is safe, but the roll does nothing until #489 is merged and redeployed. --- 11-Features.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/11-Features.md b/11-Features.md index bdc8b78..0bc0f30 100644 --- a/11-Features.md +++ b/11-Features.md @@ -5505,12 +5505,17 @@ re-litigating: - **The settle waits require `IDLE` or `DONE`, not `injectable()`.** `injectable()` also accepts `BLOCKED`, which is a live turn paused on an approval prompt. Treating that as settled sent `/clear` into an open prompt mid-turn. -- **One acceptance criterion is still unproven.** Nothing has yet demonstrated end-to-end that a - freshly cleared pane picks up the bootstrap prompt. `/clear` arriving as a real slash command was - proven live; what follows it was not, because no shipped tool or endpoint does a non-`Injector` - send on a throwaway pane, and the feature only ever acts on the caller's own lead pane. If the - bootstrap does not land, the lead's context is gone and no fresh session starts — but the handover - file is written before `confirm` is even accepted, so the operator can always recover by starting - a session by hand, which is exactly the manual path this feature replaces. +- **The bootstrap prompt does NOT land — measured 2026-09-12, fleetd #489.** The first real + rollover put one line into the pane: `/clearFresh lead session. …`, and Claude Code answered + `Unknown command: /clearFresh`. That is `/clear` and the bootstrap text joined with no space, + because a paste lands at the cursor. Two faults. The second settle wait is a no-op: `/clear` + starts no turn, so the pane never leaves `IDLE` and the wait returns on its first poll — the + whole roll ran in 438 ms of a 20-second budget. Under that, the submit keystroke raced the paste, + which `AgentControl.submit`'s own javadoc already records as CB-113; `LeadRollover` bypasses + `Injector` on purpose, so it gets none of the Enter-nudging that makes a `/clear` land + everywhere else. **The failure is safe.** Nothing was cleared, no context was lost, and the + handover file is written before `confirm` is even accepted — so the operator recovers by starting + a session by hand, which is the manual path this feature replaces. Do not rely on the automatic + roll until #489 is merged and redeployed. -fleetd #480 (PRs #483, #484, #485). Related: #486. +fleetd #480 (PRs #483, #484, #485). Related: #486, #489.