Skip to content

Fail pending input when an archive expires its Environment - #951

Merged
SaladDay merged 1 commit into
mainfrom
codex/archive-fails-pending-input
Nov 11, 2026
Merged

SaladDay merged 1 commit into
mainfrom
codex/archive-fails-pending-input

Conversation

@SaladDay

@SaladDay SaladDay commented Nov 11, 2026 •

Copy link
Copy Markdown
Collaborator

An administrator archive expired the Environment and then cancelled the
Session's pending input. A cancelled initial input on an openai_hosted
Session projects no activity, so the Session read idle with no error and
the caller could not learn that its input would never run. Compute expiry
already failed the input first, so the same expiry read failed.

Both now end the Environment through sessions.ExpireEnvironment: expire a
live Environment, fail input that never ran, cancel active work.
TerminateEnvironment fails a live Environment whose compute did not expire
and expires every other one, which removes the three-way termination
decision.

Tests: go test ./internal/sessions ./internal/deployment; integration TestManagedSessionArchive*, TestManagedEnvironmentTermination*, Archive|Reset suites; api/execution/deploymentpg archive and reset tests.


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.

@SaladDay
SaladDay merged commit dceecdc into main Nov 11, 2026
19 checks passed
@SaladDay
SaladDay deleted the codex/archive-fails-pending-input branch November 11, 2026 12:49
An administrator archive expired the Environment and then cancelled the
Session's pending input. A cancelled initial input on an openai_hosted
Session projects no activity, so the Session read idle with no error and
the caller could not learn that its input would never run. Compute expiry
already failed the input first, so the same expiry read failed.

Both now end the Environment through sessions.ExpireEnvironment: expire a
live Environment, fail input that never ran, cancel active work.
TerminateEnvironment fails a live Environment whose compute did not expire
and expires every other one, which removes the three-way termination
decision.
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