fix(code): avoid duplicate "criteria ready" message on /goal revisions - #4559
Merged
Mason Daugherty (mdrxy) merged 2 commits intoJul 9, 2026
Merged
Conversation
/goal revisions
Mason Daugherty (mdrxy)
marked this pull request as ready for review
July 8, 2026 15:29
During `/goal` revision cycles, `_propose_goal_rubric` re-announced "Proposed acceptance criteria are ready." on every regeneration, so the transcript accumulated a duplicate message each cycle. Suppress the success message when regenerating from feedback while still surfacing any unsaved-state warning. Co-authored-by: open-swe[bot] <open-swe@users.noreply.github.com>
Mason Daugherty (mdrxy)
force-pushed
the
open-swe/goal-revision-duplicate-message
branch
from
July 8, 2026 21:06
9ef16c2 to
230ae01
Compare
Address PR review findings on the duplicate "criteria ready" fix: - Stub `_start_pending_goal_rubric_review` in the dedup test so it no longer schedules a real goal-review task, and drop the now-unused review-future plumbing. - Add coverage for the revision path where the success message is suppressed but the write fails, asserting the unsaved-state warning still surfaces. - Fix a latent race in `test_load_thread_history_remounts_pending_goal_review` that flaked under event-loop load: wait for the `call_after_refresh` task instead of racing a single pause. - Clarify the revision-suppression comment in `_propose_goal_rubric` so it no longer implies the widget remount causes the duplicate message.
Mason Daugherty (mdrxy)
force-pushed
the
open-swe/goal-revision-duplicate-message
branch
from
July 9, 2026 00:51
230ae01 to
19e3b13
Compare
Mason Daugherty (mdrxy)
deleted the
open-swe/goal-revision-duplicate-message
branch
July 9, 2026 01:08
Mason Daugherty (mdrxy)
added a commit
that referenced
this pull request
Jul 9, 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). --- _Everything below this line will be the GitHub release body._ --- ## [0.1.35](deepagents-code==0.1.34...deepagents-code==0.1.35) (2026-07-09) ### Features * Restore interrupted prompt to input on ESC ([#4544](#4544)) ([fccf037](fccf037)) * Add `[startup].mode` default approval mode ([#4573](#4573)) ([7c5bf54](7c5bf54)) * Offer restart after saving Tavily key via `/auth` ([#4560](#4560)) ([12df81a](12df81a)) * Reload env from `/auth` modal via Ctrl+R ([#4566](#4566)) ([f07d638](f07d638)) * Toast on saved `/auth` API key ([#4558](#4558)) ([ee3c264](ee3c264)) ### Bug Fixes * Harden approval content rendering ([#4581](#4581)) ([38446fd](38446fd)) * Preserve transcript order during virtualization ([#4549](#4549)) ([f6ee70c](f6ee70c)) * Run stdio MCP server pre-flight check off the event loop ([#4434](#4434)) ([c9636e2](c9636e2)) * Avoid duplicate "criteria ready" message on `/goal` revisions ([#4559](#4559)) ([1110497](1110497)) * Restore welcome banner tips ([#4528](#4528)) ([3f1e55e](3f1e55e)) * Clarify managed `rg` install failures ([#4578](#4578)) ([434c84a](434c84a)) * Dedupe update/install log path output ([#4553](#4553)) ([1398fee](1398fee)) * Keep notification center open for API-key entry ([#4568](#4568)) ([6e89417](6e89417)) * Queue `/mcp login` sent before the server connects ([#4533](#4533)) ([edac82c](edac82c)) * Serialize MCP OAuth token refreshes to prevent reuse revocation ([#4565](#4565)) ([c37100d](c37100d)) --- _Everything above this line will be the GitHub release body._ --- > [!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>
Marcelo5444
pushed a commit
to Marcelo5444/deepagents
that referenced
this pull request
Jul 30, 2026
…ons (langchain-ai#4559) Fixed `/goal` showing a duplicate "Proposed acceptance criteria are ready." message when revising proposed criteria. --- When using `/goal` and going through revision cycles of the proposed criteria, `_propose_goal_rubric` re-announced "Proposed acceptance criteria are ready." on every regeneration, so the transcript accumulated a duplicate message each cycle. This suppresses the success message when regenerating from feedback (the review widget is remounted with the updated criteria anyway) while still surfacing any unsaved-state warning. Made by [Open SWE](https://openswe.vercel.app/agents/2b61a2fb-628a-5e98-6e33-5cc275d5d42a) --------- 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
> [!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). --- _Everything below this line will be the GitHub release body._ --- ## [0.1.35](langchain-ai/deepagents@deepagents-code==0.1.34...deepagents-code==0.1.35) (2026-07-09) ### Features * Restore interrupted prompt to input on ESC ([langchain-ai#4544](langchain-ai#4544)) ([fccf037](langchain-ai@fccf037)) * Add `[startup].mode` default approval mode ([langchain-ai#4573](langchain-ai#4573)) ([7c5bf54](langchain-ai@7c5bf54)) * Offer restart after saving Tavily key via `/auth` ([langchain-ai#4560](langchain-ai#4560)) ([12df81a](langchain-ai@12df81a)) * Reload env from `/auth` modal via Ctrl+R ([langchain-ai#4566](langchain-ai#4566)) ([f07d638](langchain-ai@f07d638)) * Toast on saved `/auth` API key ([langchain-ai#4558](langchain-ai#4558)) ([ee3c264](langchain-ai@ee3c264)) ### Bug Fixes * Harden approval content rendering ([langchain-ai#4581](langchain-ai#4581)) ([38446fd](langchain-ai@38446fd)) * Preserve transcript order during virtualization ([langchain-ai#4549](langchain-ai#4549)) ([f6ee70c](langchain-ai@f6ee70c)) * Run stdio MCP server pre-flight check off the event loop ([langchain-ai#4434](langchain-ai#4434)) ([c9636e2](langchain-ai@c9636e2)) * Avoid duplicate "criteria ready" message on `/goal` revisions ([langchain-ai#4559](langchain-ai#4559)) ([1110497](langchain-ai@1110497)) * Restore welcome banner tips ([langchain-ai#4528](langchain-ai#4528)) ([3f1e55e](langchain-ai@3f1e55e)) * Clarify managed `rg` install failures ([langchain-ai#4578](langchain-ai#4578)) ([434c84a](langchain-ai@434c84a)) * Dedupe update/install log path output ([langchain-ai#4553](langchain-ai#4553)) ([1398fee](langchain-ai@1398fee)) * Keep notification center open for API-key entry ([langchain-ai#4568](langchain-ai#4568)) ([6e89417](langchain-ai@6e89417)) * Queue `/mcp login` sent before the server connects ([langchain-ai#4533](langchain-ai#4533)) ([edac82c](langchain-ai@edac82c)) * Serialize MCP OAuth token refreshes to prevent reuse revocation ([langchain-ai#4565](langchain-ai#4565)) ([c37100d](langchain-ai@c37100d)) --- _Everything above this line will be the GitHub release body._ --- > [!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.
Fixed
/goalshowing a duplicate "Proposed acceptance criteria are ready." message when revising proposed criteria.When using
/goaland going through revision cycles of the proposed criteria,_propose_goal_rubricre-announced "Proposed acceptance criteria are ready." on every regeneration, so the transcript accumulated a duplicate message each cycle. This suppresses the success message when regenerating from feedback (the review widget is remounted with the updated criteria anyway) while still surfacing any unsaved-state warning.Made by Open SWE