mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Address the review bot's five genuinely-new findings on the current code: - disposal now discards any still-pending inbox items before the loop exits, so every enqueued id gets a terminal lifecycle event. - injection (next-step/no-wakeup) validates its payload up front, before opening the idle one-shot turn, honoring 'invalid input throws before any append'; and rejects attached contexts (which belong only to inbox messages) rather than silently dropping them. - agentMessage() freezes the agent/inbox/* payload so a listener cannot mutate the shared correlation object mid-dispatch. - refresh the package READMEs (compact, goal, guard, hook-protocol, plan-mode, time-context, workspace-context) that still referenced the removed context/message event, with the source-based user/message distinction. The up-front injection validation makes two finally branches unreachable (v8-ignored as the turn-enclosure backstop). Adds regression tests for disposal discard, context rejection, up-front validation, and the frozen payload; per-file coverage stays 100%.
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.