Skip to content

Wait for the focused Transcript row before advancing its test - #1240

Merged
taras merged 1 commit into
mainfrom
codex/transcript-final-turn-1227
Nov 11, 2026
Merged

taras merged 1 commit into
mainfrom
codex/transcript-final-turn-1227

Conversation

@taras

@taras taras commented Nov 11, 2026 •

Copy link
Copy Markdown
Owner

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.ts passed all 12 scenarios.
  • bun test --timeout=300000 packages/cli/tests/repl-wheel-scroll.test.ts passed 12 tests and 113 assertions.
  • The legacy-helper mutation failed at the pending assertion, as required.
  • The original Planner and independent Fable reviewer passed exact signed commit 7450ca217d2fd03d65e59a041809cbf21954d419.
  • Linux Bun 1.4.0 shard 8/10 passed the original scenario and new regression on the first attempt. All 46 assigned files passed.

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

  • Every changed file supports the purpose described above.
  • Unrelated cleanup and formatting changes are excluded.
  • Generated or mechanical changes are clearly identified.
  • The description matches the final diff and test results.

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
taras force-pushed the codex/transcript-final-turn-1227 branch from 2293307 to 300182f Compare November 11, 2026 04:04
@taras
taras marked this pull request as ready for review November 11, 2026 08:09
@taras
taras merged commit 88fa816 into main Nov 11, 2026
61 of 63 checks passed
@taras
taras deleted the codex/transcript-final-turn-1227 branch November 11, 2026 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make Transcript keyboard navigation reliably reveal the final turn

1 participant