Files
deepseek-harness/packages/plan
imccyu 8dab7d2f92 feat(web): seat the plan control on conversation.input.plan over the projection
Rewrite ui-plan as a pure browser surface plugin. The control occupies the
composer's named plan seat (declared empty by ui-conversation); reads render
the host-computed plan projection through the standard-kit useProjection
(absent key = capability absence, hides the control), writes execute /plan
or /plan off through command.execute. The node half becomes the empty
roster apply: plan behavior (command, policy, projection unit) is owned by
dsh-plan-mode, already composed on the web roster with its policy in
cordis.yml. The superseded RPC-backed setPlanMode face, the WEB_PLAN_SECTION
duplicate, and the node-plugin spec are removed; the roster row moves from
the retired CLIENT_PACKAGES table to the cordis.yml dshClient roster.
2026-07-28 20:57:46 +08:00
..
2026-07-26 05:06:39 +08:00
2026-07-26 05:06:39 +08:00

plan/ — plan collaboration state

English | 中文

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. Interactive adapters use the plugin-owned /plan command; sandbox mode and approval policy remain independent enforcement settings. Design: plan-specific collaboration state.