Repository navigation
fix: stop delegated work and helpers at conversation limits - #1907
Merged
Merged
Conversation
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.
Stopping a conversation now ends its delegated run, background jobs and automatic helpers.
--max-hoursends owned work at the deadline and explains how to continue in a new conversation. A pending run start cannot revive after Stop.Page Stop prevents a pending isolated landing from continuing into checking or narration. History now shows the live task once instead of re-adding its stale saved record, so opening the task reaches its working room and Stop control. A home merge already in progress retains its actual result; usage from requests already sent remains billable. Window detach behavior is unchanged.
Actual terminal evidence
All scenarios used isolated fictional counter projects and drove the real terminal controls.
deepseek/deepseek-v4.1-flash.Scripted scenarios passed in 95.02 seconds; the live workflow passed in 28.58 seconds. Each scripted run also verified unchanged nonzero prompt/output/cache/cost totals after Stop.
Regression checks
Reproduced before fixing: conversation Stop left an owned run active, auxiliary retries continued, late landing overwrote stopped state, and history duplicated the live task. Focused cancellation, admission, landing, helper and history regressions pass, including race checks.
make pr-readycompleted successfully. All selected session tests passed across eight shards. One unrelated credit-selection assertion (TestLowCreditReadSwapsOnlyAnUntouchedImplicitConversation) fails identically on the unchangeddevbase; the gate independently reproduced and classified that baseline failure. No test assertion or skip was weakened to hide it.Closes #1350.
Closes #1352.