Conversation
Relinquishing a background cohort now asks each worker to yield its turn at the next committed tool result instead of running it to completion. The harness terminates the agent loop after the pending tool results land, or abandons a model call that outlives BACKGROUND_HANDOFF_GRACE_MS (120 s), and the worker releases the run lease with the hand-off counted apart from retry attempts so repeated deployments never park a healthy run. The incoming cohort claims the run and, when the tape ends cleanly at a committed step, continues the model conversation with agent.continue() and no resume note; a tape ending in an interrupted tool call keeps the existing interruption path. Work in progress: the seamless-resume decision still treats a fold whose dangling call was healed with the interrupted marker as clean, so the hidden-resume-note orchestrator test fails; loop fires are not yet resumable per item; off-tape delivery and streaming state is unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Deploy relinquishment now asks admitted turns to yield after a committed tool result, with a bounded 120-second grace. The next worker resumes the durable run without spending a failure retry. Pi continues a clean native tape without another user message or interruption note; Claude, Codex, and OpenCode respect the same cutoff while retaining their existing recovery behavior.
Loop and cron journals preserve completed stages and the original fire identity across worker replacement. Terminal runs keep a durable delivery-pending marker until delivery and failure-transcript backfill are queued, so a lost completion callback is recoverable. Shared dispatch guards prevent new tool work after the deadline. Committed skill loads restore their original file paths only when currently authorized skill and pack contents match the recorded fingerprint.
Unknown tool outcomes still use the existing recovery path. Foreground sandbox process reattachment beyond the grace period is a separate follow-up; uncommitted external effects are not claimed to execute exactly once. Includes additive handoff-count and delivery-pending migrations.
Validation: