Repository navigation
Reconcile stale conversation queue after turn completion - #733
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.
A completed foreground turn could leave an old queue entry in Conversation Activity: completion notified other browser tabs but never refreshed the originating tab, and overlapping queue reads could restore an older snapshot. Refresh canonical queue state after terminal delivery and discard superseded reads. The completion refresh does not start another retry observer while queue state catches up.
Preserves unrelated queued prompts and server ownership of completion; no replay, deletion, backend mutation, or inference from a neighbouring completed response. This continues the composer task after #732.
Validation: 33 queue tests and 6 neighbouring terminal/result tests pass. All three new regressions fail on baseline 38a873b. Two existing tab-badge tests fail identically on baseline and candidate. Updated two fixture responses to reflect canonical state after completion. Frontend lint and diff checks pass. Desktop/mobile Chromium fixtures exercise delayed stale reads, background completion, switching/remounting, retained pending work, and one generation only. Evidence:
.run/queue-evidence/receipt.jsonin the task worktree.Merge decision: ready for this bounded client reconciliation repair; baseline tab-badge failures do not change it. Authenticated live acceptance was not performed: documented profiles target other checkouts. The screenshot does not identify a canonical queue attempt, so no claim is made that its pending text has already executed. No deployment requested.