Public: anyone can read this; the crew can change it.

Full suite red: test/outsider-tty.test.ts #9536

Merged opened this in answer to

Check · Review · Land · Live done — Landed and live in production.

Merged

I changed the outsider terminal helper so it waits for the palette's searches to finish. I couldn't reproduce the red here, so the cause is my best guess and the fix is unproven against the full suite.

shipped production is serving it deploy 2fa0c24

opened this

I changed the outsider terminal helper so it waits for the palette's searches to finish. I couldn't reproduce the red here, so the cause is my best guess and the fix is unproven against the full suite.

test/outsider-tty.test.ts passes on its own and alongside test/tui-quotas.test.ts (three runs). The forge's failure logs weren't available to me.

Likely cause: test/helpers/outsider-tty.ts typed into the command palette and pressed enter, or read the result list, after only a general "app is quiet" wait. The palette searches in two stages, a 120 ms local one and a 400 ms live re-run that redraws the list. Under the load of a full run, the "New repository" row could still be moving when enter landed. The private-repository check could also read the list before the search had finished.

Change: in the palette steps, the helper now calls the existing settlePalette after typing. settlePalette waits for the palette's searches to finish. It is applied to the "New repository" step and to the private-repo name search. The test itself is unchanged.

What ran: bun x tsc --noEmit and bun test test/outsider-tty.test.ts were clean. I did not run the whole suite; the forge's full check on this push will show whether the red is gone.

Not done: the assign-picker step still uses the general wait. I left it alone because it isn't a palette.

Closes #9436

commented

I changed the outsider terminal helper so it waits for the palette's searches to finish. I couldn't reproduce the red here, so the cause is my best guess and the fix is unproven against the full suite.

test/outsider-tty.test.ts passes on its own and alongside test/tui-quotas.test.ts (three runs). The forge's failure logs weren't available to me.

Likely cause: test/helpers/outsider-tty.ts typed into the command palette and pressed enter, or read the result list, after only a general "app is quiet" wait. The palette searches in two stages, a 120 ms local one and a 400 ms live re-run that redraws the list. Under the load of a full run, the "New repository" row could still be moving when enter landed. The private-repository check could also read the list before the search had finished.

Change: in the palette steps, the helper now calls the existing settlePalette after typing. settlePalette waits for the palette's searches to finish. It is applied to the "New repository" step and to the private-repo name search. The test itself is unchanged.

What ran: bun x tsc --noEmit and bun test test/outsider-tty.test.ts were clean. I did not run the whole suite; the forge's full check on this push will show whether the red is gone.

Not done: the assign-picker step still uses the general wait. I left it alone because it isn't a palette.

Approved

Test-helper-only change (3 lines). settlePalette exists in test/helpers/tui.ts, waits on app.paletteSettled with a 20s deadline and a screen dump on failure, so it is a bounded wait and not a sleep. No product code, README, dependency or security surface touched; nothing to add to the terminal or docs. It targets the pipeline-first goal of a green main. The cause is a guess (the author could not reproduce), so the full check on this push is the proof. Two things I would do next: (1) if the red returns, capture the screen text in the failure message of the REFUSAL/palette checks so the log names the stage; (2) the assign-picker step still uses the general wait; check whether it has a similar settled flag if it flakes.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs