Files
deepseek-harness/packages/goal
Tianyi Cui 23610c6abd fix(goal): emit bare GoalRef in fold lastRef and goal/changed notifications
goalChangeRef returned the full GoalSnapshot for every snapshot operation,
so foldGoal(...).lastRef and the goal/changed notification ref carried
objective, phase, and maxGoalRounds fields instead of the declared
GoalRef { id, revision }. Only the clear tombstone was bare. Emit an exact
{ id, revision } ref for snapshot changes and pin the contract with a
regression test covering create/edit/block notifications and the fold.
2026-08-02 02:25:24 +08:00
..
2026-07-26 05:06:39 +08:00

goal/ — persisted same-session goals

English | 中文

The goal family owns durable objective state independently of the model-facing tools and continuation policy that consume it.

Package Role ctx key
goal/ Event-sourced goal lifecycle, replay fold, compare-and-set mutations, and process-local activation ctx.goals
goal-session/ Same-session goal-round admission, outcome mapping, and lifecycle race fencing
tool-goal/ Model-facing read/create/update tools with execution-time authority checks
command-goal/ Human-facing /goal status and lifecycle control over the command plane

Goal state is part of the owning session log. Consumers depend on dsh-goal, not on the concrete agent loop; continuation behavior belongs in a separate plugin on the public agent seams.