openai / openai/codex

Long-running CLI thread loses unresolved acceptance criteria and reports incomplete work as complete

Open
#38,489 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug CLI context
Dominant language
Rust
Stars
125k
Forks
19.5k
PR merge metrics
PR metrics pending

Description

What version of the Codex App are you using (From “About Codex” dialog)?

codex-cli 0.146.1

What subscription do you have?

$150

What platform is your computer?

Linux 6.17.0-19-generic x86_64 x86_64 Ubuntu 24.04

What issue are you seeing?

In a long-running Codex CLI development thread, Codex repeatedly loses track of acknowledged but unresolved acceptance criteria.

The agent correctly identifies and maps defects, creates implementation plans and PRs, and discusses required production verification. After later merges, compactions,
and builds, it reports the project as complete or ready to deploy even though previously acknowledged requirements were never completed.

In this thread, a production login-identity mismatch was discussed repeatedly and explicitly requested for repair. Codex later described the Supplier Portal work as
complete without migrating or verifying that identity. When challenged, it rediscovered that the supporting endpoint, Admin UI, audit behavior, and tests already
existed, but the actual account migration and production acceptance had never occurred.

Other unresolved purchase-order, catalog, and reporting defects were similarly omitted from completion statements.

The problem is not that Codex failed to discover the dependencies. It discovered and documented them, but subsequently dropped them from the active completion gate and
conflated these distinct states:

  • mapped
  • implemented
  • tested
  • merged
  • deployed
  • production data corrected
  • production verified

This caused repeated incomplete releases and substantial rework.

What steps can reproduce the bug?
  1. Start a long-running Codex CLI thread in a production repository with an AGENTS.md requiring dependency mapping, isolated releases, and production verification.
  2. Give Codex several explicit defects and acceptance requirements.
  3. Ask Codex to map all affected readers, writers, endpoints, database relationships, and UI surfaces before changing anything.
  4. Continue through several PRs, merges, builds, deployment attempts, and automatic context compactions.
  5. Ask Codex for completion status.
  6. Observe that it may report the module as complete or deployable while requirements acknowledged earlier in the same thread remain only mapped, partially implemented,
    or not production-verified.
  7. Remind Codex of one omitted requirement.
  8. Observe it search the repository/thread, rediscover the prior requirement, and acknowledge that it was never completed.

Uploaded thread ID:
019ffcaa-3572-78c2-ab30-22dc68498e82

The issue occurred in a tmux session, but truncated terminal messages were explicitly replayed. The missing requirements had also been documented in repository
dependency maps, so terminal truncation alone does not explain the loss.

What is the expected behavior?

Codex should maintain a durable unresolved-requirements ledger across long threads and context compactions.

It should never report work as complete merely because code was mapped, merged, or deployed. Each requirement should retain an explicit lifecycle state:

Mapped → Implemented → Tested → Merged → Deployed → Data corrected → Production verified

Before declaring completion or recommending deployment, Codex should reconcile its current work against every unresolved user requirement and acceptance criterion from
the thread and repository plan.

If an item is intentionally deferred or requires separate authorization, Codex should state that clearly in every completion summary instead of silently dropping it.

Additional information

Codex doctor reports overallStatus: ok.

The repository used explicit AGENTS.md production-safety instructions, dependency maps, scoped Git worktrees, commit provenance, CI gates, and immutable component
releases. The failure persisted despite those controls because Codex stopped carrying unresolved requirements into later completion decisions.

This appears related to long-thread state management or compaction rather than code-search capability: Codex could rediscover the omitted requirements when challenged.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Begin with the uploaded thread and the repository's AGENTS.md instructions to trace where unresolved acceptance criteria are recorded across compactions and completion summaries. Done means requirements retain explicit lifecycle states and completion or deployment recommendations reconcile every unresolved item, including deferred or unverified work.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
ai-infra-agents, cli
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.