feat(code): add interactive goal management - #4693
Merged
Mason Daugherty (mdrxy) merged 7 commits intoJul 14, 2026
Merged
Conversation
…e-goal-management # Conflicts: # libs/code/deepagents_code/app.py
Mason Daugherty (mdrxy)
deleted the
mdrxy/code/interactive-goal-management
branch
July 14, 2026 05:49
Mason Daugherty (mdrxy)
added a commit
that referenced
this pull request
Jul 14, 2026
> [!CAUTION] > Merging this PR will automatically publish to **PyPI** and create a **GitHub release**. For the full release process, see [`.github/RELEASING.md`](https://github.com/langchain-ai/deepagents/blob/main/.github/RELEASING.md). --- _Release notes preview: keep this section in sync with the package `CHANGELOG.md`. The published GitHub release body is extracted from the merged `CHANGELOG.md` by `release.yml`, not from this PR description._ --- ## [0.1.38](deepagents-code==0.1.37...deepagents-code==0.1.38) (2026-07-14) ### Features * Improve `/goal` criteria UX ([#4694](#4694)) ([06f46ff](06f46ff)) * Add interactive goal management ([#4693](#4693)) ([64205e2](64205e2)) * Conditionally drop `TodoListMiddleware` ([#4685](#4685)) ([d3a3077](d3a3077)) * Add `memory.auto_save` config flag ([#4700](#4700)) ([55b60ca](55b60ca)) * Trace experimental mode in metadata ([#4705](#4705)) ([22d5045](22d5045)) ### Bug Fixes * Align context diff rows with changed rows ([#4714](#4714)) ([f9915db](f9915db)) * Hydrate virtualized transcript on scroll offset changes ([#4646](#4646)) ([f77eeb0](f77eeb0)) * Keep TODO and edit tools expanded ([#4704](#4704)) ([1d549d3](1d549d3)) * Make `/goal` completion and grading reliable ([#4691](#4691)) ([9da63c6](9da63c6)) * Preflight Ollama host reachability before discovery probe ([#4702](#4702)) ([96fe71a](96fe71a)) * Quiet expected non-repo `git ls-files` logging ([#4701](#4701)) ([3d499db](3d499db)) * Rename `ls_agent_kind` to `ls_agent_purpose` ([#4708](#4708)) ([2678b16](2678b16)) * Run MCP login during a run, queue the restart ([#4643](#4643)) ([65e1ee8](65e1ee8)) * Show "Took <duration>" when `task` tool completes ([#4638](#4638)) ([19538e0](19538e0)) * Support unambiguous `read_file` gutters ([#4711](#4711)) ([2089b54](2089b54)) --- _End release notes preview._ --- > [!NOTE] > A **New Contributors** section is appended to the GitHub release notes automatically at publish time (see [Release Pipeline](https://github.com/langchain-ai/deepagents/blob/main/.github/RELEASING.md#release-pipeline), step 2). --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Mason Daugherty <github@mdrxy.com>
Mason Daugherty (mdrxy)
added a commit
to langchain-ai/docs
that referenced
this pull request
Jul 14, 2026
Documents the Deep Agents Code `/goal` improvements shipped in deepagents PRs [#4691](langchain-ai/deepagents#4691), [#4693](langchain-ai/deepagents#4693), and [#4694](langchain-ai/deepagents#4694). Updates `goals-and-rubrics.mdx` with interactive goal management (`amend`/`pause`/`resume`), the goal status panel, review options, reliable completion/clearing behavior, concise outcome-focused criteria with bounded repo context, and the outcome-specific grader statuses with an expandable (`Ctrl+O`) detail view. Adds a goal command reference and refreshes the `quickstart.mdx` `/goal` entry. Made by [Open SWE](https://openswe.vercel.app/agents/6e5290ab-5f51-63e8-58c4-ed64168ba1e3) --------- Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
Marcelo5444
pushed a commit
to Marcelo5444/deepagents
that referenced
this pull request
Jul 30, 2026
Deep Agents Code now supports amending, pausing, and resuming persistent goals while keeping their status visible above the input. Amendments are reviewed before they apply, and paused goals remain saved without driving work or grading until resumed. --- Deep Agents Code now keeps goals visible above the input and lets users steer ongoing goal-driven work without cancelling the current task and replaying work. - `/goal amend <feedback>` proposes coordinated updates to the objective and acceptance criteria while preserving unaffected criteria and explicit constraints. The inline review supports accepting, editing, rejecting, or cancelling the proposal before it becomes canonical state. - `/goal pause` saves the goal without letting it drive work or grading. `/goal resume` continues from the existing conversation and checkpoint rather than resubmitting the original task. - The goal panel shows the current objective and its active, paused, blocked, or completed state. - Ordinary messages submitted during active goal work retain queue and interruption ordering and steer the next turn under the current goal. Goal checkpoint changes wait for graph execution and turn-end reconciliation to reach a safe boundary. A goal update accepted during execution applies after the current turn finishes and before a subsequent turn begins. If a user message is already queued, it runs under the updated goal before any synthetic continuation turn. ## User stories and before/after examples <details> <summary>Amend a goal without restarting the work</summary> **User story:** As a user whose requirements change during a long-running task, I want to update the current objective and acceptance criteria without discarding context or repeating work that is already complete. **Before** 1. I start a goal to “Add CSV and JSON export with tests.” 2. Partway through, I decide that JSON export is out of scope and CSV must also support streaming. 3. There is no goal-specific amendment flow. I must replace or clear the goal and describe the revised work again, without a review that preserves unaffected criteria and constraints. **After** 1. I run `/goal amend Remove JSON export, add streaming CSV support, and keep the existing CSV test requirements`. 2. dcode drafts a coordinated revision of both the objective and criteria while preserving requirements that the feedback did not change. 3. The inline review lets me accept the proposal, edit its criteria, request another revision, or cancel it. 4. Once accepted, dcode continues from the existing conversation and work instead of replaying the original task. </details> <details> <summary>Pause a goal while keeping it available to resume</summary> **User story:** As a user who needs to switch to unrelated work temporarily, I want to pause my current goal so it remains saved but does not affect the intervening prompts. **Before** 1. I have an active multi-turn goal. 2. To stop that goal from driving later work and grading, I must clear it. 3. Returning to it requires creating the goal again and redrafting its acceptance criteria. **After** 1. `/goal pause` saves the objective and criteria with a paused status. 2. Unrelated prompts run without the paused goal driving work or grading. 3. `/goal resume` reactivates the saved goal and continues from the existing conversation and checkpoint without resubmitting the original objective. </details> <details> <summary>See the current goal and lifecycle state while working</summary> **User story:** As a user working across multiple turns, I want the current goal and its status to remain visible so I can tell what dcode is working toward and whether it needs my input. **Before** The current objective is not persistently visible above the input. I must use `/goal show` or infer its state from earlier transcript messages. **After** - A persistent panel above the input shows the current objective. - The panel distinguishes active, paused, blocked, and completed states. - The display follows checkpoint restoration and lifecycle changes, so reopening a thread or changing the goal state keeps the visible status aligned with the saved goal. </details> <details> <summary>Apply in-flight goal changes without reordering queued input</summary> **User story:** As a user who amends a goal while the agent is still working, I want the current turn to finish safely and my next message to run under the accepted revision in the order I submitted it. **Before** There is no accepted amendment to coordinate with graph execution, checkpoint writes, and messages already waiting in the queue. **After** 1. If I accept a goal update during an active turn, dcode waits until that turn and its reconciliation finish before changing the saved goal. 2. The accepted update is applied before a subsequent turn begins. 3. If I already submitted another message, that message runs first under the updated goal; dcode does not race ahead with a synthetic continuation turn. </details>
Marcelo5444
pushed a commit
to Marcelo5444/deepagents
that referenced
this pull request
Jul 30, 2026
> [!CAUTION] > Merging this PR will automatically publish to **PyPI** and create a **GitHub release**. For the full release process, see [`.github/RELEASING.md`](https://github.com/langchain-ai/deepagents/blob/main/.github/RELEASING.md). --- _Release notes preview: keep this section in sync with the package `CHANGELOG.md`. The published GitHub release body is extracted from the merged `CHANGELOG.md` by `release.yml`, not from this PR description._ --- ## [0.1.38](langchain-ai/deepagents@deepagents-code==0.1.37...deepagents-code==0.1.38) (2026-07-14) ### Features * Improve `/goal` criteria UX ([langchain-ai#4694](langchain-ai#4694)) ([06f46ff](langchain-ai@06f46ff)) * Add interactive goal management ([langchain-ai#4693](langchain-ai#4693)) ([64205e2](langchain-ai@64205e2)) * Conditionally drop `TodoListMiddleware` ([langchain-ai#4685](langchain-ai#4685)) ([d3a3077](langchain-ai@d3a3077)) * Add `memory.auto_save` config flag ([langchain-ai#4700](langchain-ai#4700)) ([55b60ca](langchain-ai@55b60ca)) * Trace experimental mode in metadata ([langchain-ai#4705](langchain-ai#4705)) ([22d5045](langchain-ai@22d5045)) ### Bug Fixes * Align context diff rows with changed rows ([langchain-ai#4714](langchain-ai#4714)) ([f9915db](langchain-ai@f9915db)) * Hydrate virtualized transcript on scroll offset changes ([langchain-ai#4646](langchain-ai#4646)) ([f77eeb0](langchain-ai@f77eeb0)) * Keep TODO and edit tools expanded ([langchain-ai#4704](langchain-ai#4704)) ([1d549d3](langchain-ai@1d549d3)) * Make `/goal` completion and grading reliable ([langchain-ai#4691](langchain-ai#4691)) ([9da63c6](langchain-ai@9da63c6)) * Preflight Ollama host reachability before discovery probe ([langchain-ai#4702](langchain-ai#4702)) ([96fe71a](langchain-ai@96fe71a)) * Quiet expected non-repo `git ls-files` logging ([langchain-ai#4701](langchain-ai#4701)) ([3d499db](langchain-ai@3d499db)) * Rename `ls_agent_kind` to `ls_agent_purpose` ([langchain-ai#4708](langchain-ai#4708)) ([2678b16](langchain-ai@2678b16)) * Run MCP login during a run, queue the restart ([langchain-ai#4643](langchain-ai#4643)) ([65e1ee8](langchain-ai@65e1ee8)) * Show "Took <duration>" when `task` tool completes ([langchain-ai#4638](langchain-ai#4638)) ([19538e0](langchain-ai@19538e0)) * Support unambiguous `read_file` gutters ([langchain-ai#4711](langchain-ai#4711)) ([2089b54](langchain-ai@2089b54)) --- _End release notes preview._ --- > [!NOTE] > A **New Contributors** section is appended to the GitHub release notes automatically at publish time (see [Release Pipeline](https://github.com/langchain-ai/deepagents/blob/main/.github/RELEASING.md#release-pipeline), step 2). --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Mason Daugherty <github@mdrxy.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Deep Agents Code now supports amending, pausing, and resuming persistent goals while keeping their status visible above the input. Amendments are reviewed before they apply, and paused goals remain saved without driving work or grading until resumed.
Deep Agents Code now keeps goals visible above the input and lets users steer ongoing goal-driven work without cancelling the current task and replaying work.
/goal amend <feedback>proposes coordinated updates to the objective and acceptance criteria while preserving unaffected criteria and explicit constraints. The inline review supports accepting, editing, rejecting, or cancelling the proposal before it becomes canonical state./goal pausesaves the goal without letting it drive work or grading./goal resumecontinues from the existing conversation and checkpoint rather than resubmitting the original task.Goal checkpoint changes wait for graph execution and turn-end reconciliation to reach a safe boundary. A goal update accepted during execution applies after the current turn finishes and before a subsequent turn begins. If a user message is already queued, it runs under the updated goal before any synthetic continuation turn.
User stories and before/after examples
Amend a goal without restarting the work
User story: As a user whose requirements change during a long-running task, I want to update the current objective and acceptance criteria without discarding context or repeating work that is already complete.
Before
After
/goal amend Remove JSON export, add streaming CSV support, and keep the existing CSV test requirements.Pause a goal while keeping it available to resume
User story: As a user who needs to switch to unrelated work temporarily, I want to pause my current goal so it remains saved but does not affect the intervening prompts.
Before
After
/goal pausesaves the objective and criteria with a paused status./goal resumereactivates the saved goal and continues from the existing conversation and checkpoint without resubmitting the original objective.See the current goal and lifecycle state while working
User story: As a user working across multiple turns, I want the current goal and its status to remain visible so I can tell what dcode is working toward and whether it needs my input.
Before
The current objective is not persistently visible above the input. I must use
/goal showor infer its state from earlier transcript messages.After
Apply in-flight goal changes without reordering queued input
User story: As a user who amends a goal while the agent is still working, I want the current turn to finish safely and my next message to run under the accepted revision in the order I submitted it.
Before
There is no accepted amendment to coordinate with graph execution, checkpoint writes, and messages already waiting in the queue.
After