todo: plan mode is built and needs the owner to run it
This commit is contained in:
@@ -400,6 +400,38 @@ outside the example's new README:
|
|||||||
- [ ] A plugin's `assets/icon.png` is only published while installed, so its real icon is invisible in the
|
- [ ] A plugin's `assets/icon.png` is only published while installed, so its real icon is invisible in the
|
||||||
store before install. The catalogue's `iconUrl` works around it, and an author has to know to add one.
|
store before install. The catalogue's `iconUrl` works around it, and an author has to know to add one.
|
||||||
|
|
||||||
|
## Waiting on the owner to run it
|
||||||
|
|
||||||
|
- [ ] **Plan mode is built and has never executed.** Landed `1b811dfa` on 2026-08-17, typechecks, unit
|
||||||
|
tested at the translation layer — and not one line of it has run on a machine. The owner was away
|
||||||
|
when it was finished and asked to be reminded, which is what this entry is.
|
||||||
|
|
||||||
|
**Restart BOTH:** `pm2 restart officer` and `pm2 restart officer-claude-code`. The sidecar holds
|
||||||
|
every interesting part (the gate, the pending-plan map, the mode control request); restarting only
|
||||||
|
the server leaves the old sidecar running with no `canUseTool` at all, and the toggle would then
|
||||||
|
appear to work while changing nothing. Note the server is ALSO carrying two earlier unrestarted
|
||||||
|
changes — the tier-less-model fix (`773f0e1c`) and the sessions-list work.
|
||||||
|
|
||||||
|
**Then, in `/chat`, in this order:**
|
||||||
|
|
||||||
|
1. The clipboard icon by the model picker lights up, and `pm2 logs officer-claude-code` says
|
||||||
|
`[claude:plan:<key>] plan mode on`.
|
||||||
|
2. Ask for something that needs a plan. The agent researches and does NOT edit — a `Write` in plan
|
||||||
|
mode should reach neither the disk nor the gate.
|
||||||
|
3. The plan card renders with Approve / Reject, and **the turn is genuinely parked** while it sits
|
||||||
|
there (the spinner stays; that is correct, an agent is blocked on a promise in the sidecar).
|
||||||
|
4. Approve → the agent continues *in the same turn*, and `plan mode off` follows immediately rather
|
||||||
|
than at turn end. Reject with a reason → it revises and asks again.
|
||||||
|
5. Refresh mid-plan → the card replays with its decision, rather than a conversation that stops dead.
|
||||||
|
6. Pick `claude-code/opusplan` with plan mode OFF → the toggle's tooltip says it is resting on Sonnet.
|
||||||
|
|
||||||
|
**The one failure worth watching for** is a turn that never ends after a plan is answered. That would
|
||||||
|
mean a `canUseTool` promise was left unresolved — the agent waits forever and the stall watchdog
|
||||||
|
eventually tears the session down. `settleAllPlans` runs on every teardown path plus a 20-minute
|
||||||
|
timeout to make it impossible, and it is the part with no test behind it.
|
||||||
|
|
||||||
|
Design decisions and the verification they came from: `docs/chat-plan-mode.md`.
|
||||||
|
|
||||||
## Known bugs
|
## Known bugs
|
||||||
|
|
||||||
- [ ] **Background job logs appeared INSIDE an open file in the code editor.** Reported 2026-08-16 by the
|
- [ ] **Background job logs appeared INSIDE an open file in the code editor.** Reported 2026-08-16 by the
|
||||||
|
|||||||
Reference in New Issue
Block a user