Bug: active goal terminates after partial milestones despite explicit continuation and completion gates

Open 💬 1 comment Opened Aug 8, 2026 by daveladouceur
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What happened

Codex terminated the active task repeatedly after partial milestones, despite explicit instructions to continue until the goal was complete and a completion gate that forbade ending with unowned unfinished work.

The concrete task was an infrastructure refactor with named acceptance artifacts: a distinct PM2/deployment MCP surface, installer validation, Cloudflare ingress, job SSE, and end-to-end proof. Codex completed individual substeps (a review result, a test, or a partial source edit), then emitted a terminal response such as “not done” or “still to wire,” ending the turn rather than continuing the active goal.

Expected behavior

When an active goal remains open and the user has explicitly instructed Codex to continue, Codex should not emit a terminal response merely because a substep finished or a bounded wait elapsed.

Before ending, Codex should compare the user’s requested artifacts against actual artifacts and required proof. If any row is incomplete, it should continue work automatically or report a real external blocker. A final response that declares unfinished work should be rejected unless that work has a tracked owner, explicit out-of-scope reason, or verified external blocker.

Reproduction steps

  1. Start an active multi-stage implementation goal with explicit acceptance criteria.
  2. State that the agent must continue until the objective is genuinely complete.
  3. Add a completion gate requiring unfinished work to be completed, tracked, explicitly out of scope, or externally blocked.
  4. Have the agent complete one partial milestone, such as a focused test, review wait, or source edit.
  5. Observe that it emits a terminal response while other acceptance rows remain incomplete.
  6. Correct it explicitly and resume the goal; the same premature terminal behavior can recur after the next partial milestone.

Actual result

The task stops and waits for another human prompt. The user must repeatedly reissue “resume” or “finish,” which defeats persistent-goal behavior and makes long-running infrastructure work require continuous supervision.

Environment

  • Product: Codex agent runtime
  • Model routing referenced in-session: GPT-5.6 Terra
  • Session type: API/agentic coding session with persistent active goal
  • Date observed: 2026-08-08
  • Operating environment: Windows + PowerShell, multi-repository worktrees, MCP tools and GitHub connector enabled

Evidence

  • An active goal remained incomplete while the agent emitted terminal messages explicitly saying the refactor was not finished.
  • The completion gate identified the exact violation: a final message declared unfinished work without a tracked home.
  • The same behavior occurred after direct user correction, after a work item was created, and after a self-verification rule was added.

I can provide sanitized transcript excerpts or a minimal reproduction trace if maintainers specify the preferred format.

Requested investigation

Please investigate this as a persistent-goal/control-flow regression: terminal-response selection appears to override explicit continuation and completion-gate instructions. An observable invariant or test should prevent finalization while an active goal has unmet acceptance rows.

View original on GitHub ↗

1 Comment

github-actions[bot] contributor · 19 days ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #36596
  • #36506

Powered by Codex Action