[Fix] Follow-ups start disconnected tasks after delegated work completes - #1633
Merged
Conversation
Contributor
|
No new code issues found. See task
Reviewed c49d651 |
Contributor
Author
|
Resolved the concurrent GitHub follow-up loss in c49d651. When another comment wins snapshot resume creation, Focused GitHub conflict-path and canonical API tests pass, affected typechecks and oxlint pass, and the full pre-push lint/type/knip gate succeeds. |
mrubens
marked this pull request as ready for review
August 25, 2026 13:18
mrubens
requested review from
brunobergher,
daniel-lxs and
mrubens
as code owners
August 25, 2026 13:18
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.
What changed
Fast now includes conversation-owned tasks with valid resumable snapshots in the same task list it already uses for active work. Canceled runs, failed snapshots, and expired snapshots remain excluded.
The follow-up itself uses the existing canonical task steering endpoint. That endpoint already resumes settled tasks from snapshots under the same task identity; this PR adds one lifecycle recheck when a live steer loses a race with settlement. Snapshot resume insertion is serialized transactionally by source run so only one worker can be restored from a given snapshot; a concurrent loser receives a retryable conflict. Concurrent GitHub comments route that conflict through the existing linked follow-up fallback, preserving the second instruction and posting its task response.
Why this change was made
Fast previously stopped listing a delegated task as soon as its run settled, so a user follow-up could be treated as new disconnected work even though canonical task steering could resume the existing task.
Impact
Users can continue recently settled delegated work through the same task and conversation without concurrent failures forking execution or silently dropping a GitHub instruction. Fast-specific behavior is limited to conversation-scoped task discovery and keeping cancellation restricted to active runs; message delivery, atomic snapshot restoration, persistence, and sandbox restoration remain canonical shared behavior.