Files
deepseek-harness/packages/plan
_Kerman 4284530c7e fix(plan-mode): flush pending mode only at the in-turn agent/step seam
Prompt admission runs before any turn opens, so the agent/prompt-submit
flush listener could only ever append plan/mode outside an open turn —
invariant-vetoed and retried at agent/step when the session invariant is
mounted, silently out-of-turn in the durable log when it is not. agent/step
fires inside the open turn before every request derivation (including
turn 1 step 1), so it is the sole flush point and no behavior is lost: a
pending idle switch lands as the first step's in-turn plan/mode. Tests pin
the new contract: admission never appends; the first step boundary flushes.
2026-07-26 11:47:39 +08:00
..

plan/ — plan collaboration state

Plan mode is one logged, per-agent collaboration state. It is a single product package, not a generic mode registry or a capability-seam trio.

Package Role ctx key
plan-mode/ plan/mode vocabulary + fold, boundary-applied state, the plan:policy guidance section, /plan [message] entry and /plan off exit, and the model-facing exit_plan_mode review tool ctx.planMode

The active state is a pure function of the session log, so resume and fork restore it without extra machinery. The deployment supplies plan instructions through Cordis config, while exit_plan_mode stays registered when planning is inactive to keep the request tool catalog stable. ACP maps this capability onto its generic default / plan picker; sandbox mode and approval policy remain independent enforcement settings. Design: plan-mode Agent Note and plan-specific state simplification.