Repository navigation
Wait for the focused Transcript row before advancing its test - #1240
Merged
Merged
Conversation
This was referenced Nov 11, 2026
taras
force-pushed
the
codex/transcript-final-turn-1227
branch
from
November 11, 2026 04:02
7450ca2 to
2293307
Compare
The Transcript case accepted any later write plus 30 ms as the result of each key. A frame prepared before a key can complete after it is sent, so the final assertion could read turn-16 while turn-17's frame was still pending. Each navigation key now waits for the row it focuses to be shown. A regression holds a pre-key resize frame and the following frame, and shows the navigation stays pending through the old acknowledgement condition until turn-17 is presented. Refs #1227 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
taras
force-pushed
the
codex/transcript-final-turn-1227
branch
from
November 11, 2026 04:04
2293307 to
300182f
Compare
taras
marked this pull request as ready for review
November 11, 2026 08:09
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.
Why
The Transcript wheel test can finish its final ArrowDown wait while the screen still shows turn-16. Its helper accepts any later terminal write plus 30 ms. A frame prepared before the key can satisfy it, and revealing a hidden row can itself produce two writes whose first still marks the previous row. A controlled render schedule reproduces the final turn-17 assertion tracked in #1227.
What changes
Transcript navigation waits for each expected focused row to appear. The original scenario retains all 18 turns, wheel checks in both directions, composer text, final turn-17 focus and exactly 18 provider prompts.
A regression holds a pre-key resize frame and the following frame. The navigation operation must remain pending until its expected row is presented. Replacing the corrected operation with the old helper fails this regression.
How to verify it
deno task test packages/cli/tests/repl-wheel-scroll.test.tspassed all 12 scenarios.bun test --timeout=300000 packages/cli/tests/repl-wheel-scroll.test.tspassed 12 tests and 113 assertions.7450ca217d2fd03d65e59a041809cbf21954d419.Scope
The change is confined to the wheel test and its local helpers.
Risks and limitations
The controlled local schedule demonstrates the acknowledgement defect. The historical Linux failures retain only the final boolean, so their exact scheduling cannot be reconstructed. Local verification used macOS and Bun 1.3.14. Linux/Bun verification passed. The first full CI run failed its required aggregate on Main health, the Delivery fallback assertion tracked in #1232, and the Implementation fixture timeout tracked in #1143. The first failure logs are retained on the existing issues and the delivery checkpoint.
Fixes #1227.
Scope confirmation