Skip to content

Said the outcome is unknown, not that the call was aborted. - #6

Open
moedash wants to merge 1 commit into
moe/fix-missing-output-panicfrom
moe/unknown-outcome-wording
Open

Said the outcome is unknown, not that the call was aborted.#6
moedash wants to merge 1 commit into
moe/fix-missing-output-panicfrom
moe/unknown-outcome-wording

Conversation

@moedash

@moedash moedash commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

What changed?

The output synthesized for a tool call that never reported a result now says the outcome is unknown, instead of aborted.

Stacked on the panic fix, since both touch ensure_call_outputs_present. Review that one first.

Why?

aborted tells the model the command did not take effect. Nothing here knows that. The result is missing because something stopped between dispatch and the write, and after a hard kill the command may well have run, so the model should check the state before repeating it. For a coding agent the difference matters: a repeated git push is not free.

This does not touch the interrupt path. A real interrupt writes its own richer output with the wall time and aborted by user, so this placeholder is only reached when nothing was recorded at all.

Flagging it as the judgment call in this set: it changes model-visible text, so it is worth disagreeing with on its own rather than inside the fix it sits next to.

How did you test it?

  • Unit Tests
  • Staging
  • End to End Tests

The placeholder is shared with the tests that assert it, so the text has one home. cargo test -p codex-core --lib context_manager:: is 68/0.

The output synthesized for a tool call with no result read "aborted", which tells the model the
command did not take effect. Nothing here knows that. The result is missing because something
stopped between dispatch and the write, and after a hard kill the command may well have run, so
the model should check the state before repeating it.

This does not touch the interrupt path, which writes its own richer output with the wall time,
so the placeholder is only reached when nothing was recorded at all.
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