Skip to content

fix: reject reasoning-only completion and bound recovery - #65

Merged
sam2tom merged 3 commits into
betafrom
codex/fix-reasoning-only-completion
Oct 30, 2026
Merged

sam2tom merged 3 commits into
betafrom
codex/fix-reasoning-only-completion

Conversation

@sam2tom

@sam2tom sam2tom commented Oct 30, 2026

Copy link
Copy Markdown

A native Codex Turn can end as completed after a reasoning-only response, despite having no final answer. Earlier commentary then looks like successful completion. Detect this root-turn tail independently of reasoning visibility and emit the neutral incomplete_response classification. Preserve normal answers, unphased messages, tool-only completions, cancellation, usage and native history; allow at most one continuation within the existing retry budget.

Add safe completion-decision evidence in the adapter and Runtime terminal receipt logs in Core. Business delivery remains application-owned. Includes the previously unmerged closed-Runtime retry fix aff6400d from the PR #64 branch.

Validation: affected Go packages, targeted race tests, Runtime contract checks and daemon build passed; independent review found no actionable issues. Dedicated local live-provider prerequisites were unavailable; production rollout must qualify a fresh Runtime and model Turn. No schema migrations or native package-pin changes.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-30T01:20:08.971307Z 50a5e8a PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 50a5e8a3f5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

if attempt >= 1 {
return skip("incomplete_response_attempts_exhausted")
}
return retryDecision{Retry: true, Fingerprint: "incomplete_response", Hint: "Inspect the existing results first. Continue only missing work and provide a final response. Do not repeat completed side effects; verify uncertain submissions before retrying them."}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Preserve the typed failure without adding Core recovery

When incomplete_response occurs with automatic retries enabled (the default), this branch causes autoRetry to submit a new user message containing Core-authored recovery instructions. This introduces a new Core retry path and changes model input, contrary to the explicit boundary in root AGENTS.md, which prohibits both. The existing retry machinery does not exempt this newly added behavior. Keep the typed failure terminal in Core and leave native execution recovery with the Harness adapter.

AGENTS.md reference: AGENTS.md:L51-L51

Useful? React with 👍 / 👎.

@sam2tom
sam2tom merged commit 4813f16 into beta Oct 30, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant