Goals, plan mode, and todos
Three similar ideas own durable objectives, collaboration mode, and the current checklist—they are not one array
goal state · plan mode · todo projectionWhy can all todos be complete while the goal is not?
A goal is the contractual outcome, plan mode is the current collaboration protocol, and todos are today's site checklist. An empty checklist does not prove the contract passed acceptance.
Mechanism
ctx.goals folds revisioned durable state from goal/* SessionEvents and keeps live continuation activation in-process; goal-round-driver controls continued rounds.
plan-mode records collaboration mode and plan state; todo_write logs a full three-state list snapshot. Each has its own projection, invariants, and UI.
Create durable goal
The goal defines success conditions and revision.
What extensions must preserve
- Goal revisions prevent stale updates
- Todo lists are last-write-wins and need no stable item id
- Plan-exit schema stays stable during transitions
The tempting wrong turns
- ×Inferring goal state from todo completion
- ×Treating a plan as hidden model reasoning
- ×Allowing goal continuation to spin without bounds
Do not trust the conclusion—verify it
These anchors are pinned to official deepseek-harness@47f9438; account for later breaking changes when reading current upstream.
Pause for ten seconds before revealing
Why does TodoItem deliberately omit a stable id?
With durable objectives and current work state, we can delegate subtasks and register long-running work as jobs.