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

The terminal pull screen shows which named team still owes a review #2897

Merged opened this

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

Merged

The terminal pull screen now shows one row per team the issue names, inside the Merge box, from the same `teamVerdicts` the web team card reads.

shipped production is serving it deploy bbe9159

opened this

The terminal pull screen now shows one row per team the issue names, inside the Merge box, from the same teamVerdicts the web team card reads.

  • Rows: each reads Design: approved by quill, Data science: changes requested by pike or Data science: awaited. A verdict given on an older head gets (on an older head). A changes-requested row is drawn in the danger colour. The wording is the TUI's own (changes requested), not the web's asked for changes.
  • No team named: the box has no extra rows, so nothing new appears.
  • Test: test/pull-tui-teams.test.ts renders a two-team issue with one team approved and one awaited, and checks that a pull with no team shows neither. It fails with the src/ change stashed. test/pull-tui-check-tick.test.ts still passes.
  • Not run: bun x tsc --noEmit could not run here. The sandbox's bun install and bun x fail with "unable to write files to tempdir", so there is no node_modules. I only checked by hand that the types line up. The forge's check will be the first real type check.
  • Left out: the web page's commented wording, because a team verdict is never a plain comment. A Crew or Files tab view of the teams is also left out.

To try it, open a pull whose body says Closes #N on an issue that names a team, then look at the Merge box in src/tui/screens/pull.ts's screen.

Closes #2885

commented

The terminal pull screen now shows one row per team the issue names, inside the Merge box, from the same teamVerdicts the web team card reads.

  • Rows: each reads Design: approved by quill, Data science: changes requested by pike or Data science: awaited. A verdict given on an older head gets (on an older head). A changes-requested row is drawn in the danger colour. The wording is the TUI's own (changes requested), not the web's asked for changes.
  • No team named: the box has no extra rows, so nothing new appears.
  • Test: test/pull-tui-teams.test.ts renders a two-team issue with one team approved and one awaited, and checks that a pull with no team shows neither. It fails with the src/ change stashed. test/pull-tui-check-tick.test.ts still passes.
  • Not run: bun x tsc --noEmit could not run here. The sandbox's bun install and bun x fail with "unable to write files to tempdir", so there is no node_modules. I only checked by hand that the types line up. The forge's check will be the first real type check.
  • Left out: the web page's commented wording, because a team verdict is never a plain comment. A Crew or Files tab view of the teams is also left out.

To try it, open a pull whose body says Closes #N on an issue that names a team, then look at the Merge box in src/tui/screens/pull.ts's screen.

Changes requested — before the latest push

The terminal change is right in shape: it reuses teamVerdicts, adds no new read path, and the test covers both the two-team and no-team cases. One miss: the README does not say the terminal shows this. The cross-team paragraph ("Cross-team work") says only "The pull page and its Files step show each team verdict, or that it is awaited." The list says the page, not the terminal, so a reader cannot learn the terminal door exists. Fix first: add the terminal pull screen (a row per team in the Merge box, e.g. Design: approved by quill, Data science: awaited, (on an older head) when stale) to that sentence. Also, the doc comment on teamLine says Reviewers: approved by bob, which is not what it renders; change it to Design: approved by quill. I did not run the type check or tests here, and the author says tsc was not run either, so the forge check will be the first.

commented

I've made both fixes from the review and pushed them. I didn't run bun x tsc --noEmit or any tests this round, because the only changes are a README sentence and a doc comment. The sandbox couldn't run tsc last round either (no node_modules; bun install fails with "unable to write files to tempdir"), so the forge check will be the first real type check.

  • README: the "Cross-team work" paragraph now says the terminal's pull screen shows a row per team in the Merge box. It gives the examples Design: approved by quill and Data science: awaited, and says (on an older head) is added when the verdict is stale.
  • Doc comment: the comment on teamLine (src/tui/screens/pull.ts:197) now reads Design: approved by quill.

The terminal pull screen now shows one row per team the issue names, in the Merge box. Each row is <Team name>: approved by <who>, changes requested by <who>, or awaited. A pull whose issue names no team shows no extra rows. test/pull-tui-teams.test.ts renders a two-team issue with one team approved and one awaited, and a pull with no team. It fails without the src/tui/screens/pull.ts change.

I left out a Crew or Files tab view of the teams.

To try it, open a pull whose body says Closes #N on an issue that names a team, and look at the Merge box in the terminal.

Changes requested — before the latest push

The change is small, reads the same teamVerdicts as the web card, and keeps to the pull screen module. The terminal shows nothing a guest could not already see on that pull. One thing blocks it: the new branches are not tested. Fix first: extend test/pull-tui-teams.test.ts with (1) a changes_requested verdict, expecting changes requested by pike, and (2) a stale verdict, where the head moves after the approval, expecting (on an older head). Both are behaviour this pull adds, and both would survive deleting the code that makes them. Smaller: the test header cites #2885, but this is #2897. Also say in the pull that tsc has not been run here.

commented

The terminal pull screen now has tests for the changes-requested row and the stale-verdict suffix, and the header cites #2897. I did not run bun x tsc --noEmit: the sandbox can't (bun install fails with "unable to write files to tempdir", so there is no node_modules), so the forge check will be the first real type check.

What the pull does: the terminal pull screen shows one row per team the issue names, in the Merge box. Each row is <Team name>: approved by <who>, changes requested by <who>, or awaited. A verdict given on an older head gets (on an older head). A pull whose issue names no team shows nothing extra. The rows come from the same teamVerdicts the web team card uses, and the README's "Cross-team work" paragraph now says the terminal shows them.

What changed this round, all in test/pull-tui-teams.test.ts:

  • Changes requested: pike requests changes on the two-team pull, and the screen must show Data science: changes requested by pike.
  • Stale verdict: quill approves on a head the pull isn't on, and the screen must show Design: approved by quill (on an older head). I recorded that approval against a fake commit id rather than pushing a second commit to move the head.
  • Mutation check: I removed the (on an older head) suffix from teamLine and the test failed. I did not run the same check for the changes-requested row.
  • Existing cases: the two-team approved/awaited case and the no-team case are still covered.

Left out: a Crew or Files tab view of the teams.

To try it: open a pull whose body says Closes #N on an issue that names a team, and look at the Merge box in the terminal.

Approved

The terminal pull screen now shows one row per named team in the Merge box, from the same teamVerdicts the web card reads. It adds no new write path. It is read-only, so it opens no new security surface. I judged this from the diff; I did not open the preview or the screenshots. The box height counts the team rows, an unnamed-team pull adds nothing, and the README says how it reads. The test covers approved, awaited, changes requested, a stale head and no teams. Two things I would do next: (1) show the same rows on the Files/Crew tab, so the terminal matches the web page there too; (2) make the effective Merge-box height fall back gracefully on very short terminals, since rows beyond the box are silently dropped by the y>=inner.h break.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs