Skip to content

fix(agent): block final answers with incomplete todos#2920

Merged
esengine merged 1 commit into
esengine:main-v2from
GTC2080:GTC/fix-2917-final-readiness
Jun 3, 2026
Merged

fix(agent): block final answers with incomplete todos#2920
esengine merged 1 commit into
esengine:main-v2from
GTC2080:GTC/fix-2917-final-readiness

Conversation

@GTC2080

@GTC2080 GTC2080 commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Fixes #2917

Summary

  • gate final-answer readiness on the latest successful todo_write list, even in pure bash/todo flows with no writer receipt
  • keep final answers blocked until the latest successful todo list has no pending or in_progress items
  • make CLI and Desktop todo panels advance only from successful todo_write results, so failed attempts do not become canonical UI state

Validation

  • D:\Go\go\bin\go.exe test ./internal/agent -run "TestFinalReadinessFailureBranches"
  • D:\Go\go\bin\go.exe test ./internal/cli -run "TestTodoPanelKeepsLastSuccessfulTodoWrite"
  • D:\Go\go\bin\go.exe test ./internal/agent
  • D:\Go\go\bin\go.exe test ./internal/evidence
  • D:\Go\go\bin\go.exe test ./internal/cli
  • D:\Go\go\bin\go.exe test ./...
  • pnpm --dir desktop/frontend typecheck
  • pnpm --dir desktop/frontend build
  • git diff --check

No screenshot is attached because the UI layout and styling are unchanged; the change is state acceptance behavior for todo_write results.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

v2 Go rewrite (1.x) — main-v2 branch, active development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: todo_write / complete_step 失败后,Agent 仍允许最终回答“全部完成”

2 participants