-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
[Feature]: Goal continuance — per-turn goal context + QA continuance scenarios #100409
Copy link
Copy link
Closed
Closed
Copy link
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.enhancementNew feature or requestNew feature or requestimpact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.User-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.maintainerMaintainer-authored PRMaintainer-authored PR
Description
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.enhancementNew feature or requestNew feature or requestimpact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.Session, memory, transcript, context, or agent state can drift or corrupt.impact:ux-frictionUser-facing flow adds avoidable confusion or support burden without fully blocking progress.User-facing flow adds avoidable confusion or support burden without fully blocking progress.issue-rating: 🌊 off-meta tidepoolIssue quality rating does not apply to this item.Issue quality rating does not apply to this item.maintainerMaintainer-authored PRMaintainer-authored PR
Type
Fields
Priority
None yet
Summary
Goal continuance: keep an active session goal actually driving behavior across turns — QA continuance scenarios plus a bounded continuation nudge when a turn ends without progress on an active goal.
Problem to solve
/goalgives a session one durable objective (docs/tools/goal.md), but persistence of the objective record is not the same as persistence of pursuit. Across many turns — especially after compaction, interruptions, or context-heavy detours — the agent can drop the plan thread: it acknowledges the goal when asked but stops advancing it, or restarts planning from scratch each turn. There is currently no QA coverage that proves multi-turn goal followthrough (short-form or long-form), so regressions in continuance are invisible.Proposed solution
Two parts, same surface:
activegoal, include one short goal-context line in the per-turn inbound envelope (the same per-turn seam that carries timestamps/inbound meta — not the system prompt, so prompt-cache prefix bytes are untouched). The model then sees the objective on every turn and after compaction, instead of only when it happens to callget_goal. Paused/blocked/limited/complete goals inject nothing (operator intent is to stop pursuit). No goal-state mutation, no new config surface.qa/scenarios/...): flow scenarios that prove (a) after/goal start, the next inbound turn's agent request carries the goal context; (b) the goal context survives/compactand appears on the following turn; (c) a live-tier followthrough scenario asserting the agent advances the objective on a later turn instead of restarting planning (mirroring the existing instruction-followthrough contract).Alternatives considered
Impact
/goal; TUI + all channels.Evidence
src/agents/tools/goal-tools.ts,src/auto-reply/reply/commands-goal.ts,src/config/sessions/goals.ts, docs/tools/goal.mdsrc/auto-reply/envelope.ts,src/auto-reply/reply/inbound-meta.ts) nor in compaction; onlyget_goal, the TUI footer, and the/goalcommand surface it.qa/scenarios/agents/instruction-followthrough-repo-contract.yaml,src/agents/embedded-agent-runner/run/incomplete-turn.ts