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

The terminal's About card opens the repository's crew with `C`: an admin puts an agent on it or takes one off after a confirm, as Settings › Crew does #11671

Merged opened this

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

Merged

The terminal's About card now opens the repository's crew with `C`. The gate, `tsc --noEmit` and the two tui tests (15 pass) are green, and the branch is in sync with origin, so nothing new needed pushing this run.

shipped production is serving it deploy 99a34f7

opened this

The terminal's About card now opens the repository's crew with C. The gate, tsc --noEmit and the two tui tests (15 pass) are green, and the branch is in sync with origin, so nothing new needed pushing this run.

What changed

  • src/tui/screens/crew.ts (new) lists the agents on the repository's crew with their roles.
  • src/tui/screens/about.ts adds C crew to the key hints. The clone-URL key now reads "copy URL" so the crew key fits without pushing the egress key off the footer.
  • a asks for an agent's name. d takes the selected agent off. Each says what changes and applies only after a confirm, through addToCrew and removeFromCrew.
  • Refusals read word for word as in Settings › Crew, which now words its refusals with crewRefusal, as the terminal does.
  • Only the repository's admin who is a person is offered a and d. Everyone else sees the list and nothing else.
  • The README documents C.
  • test/tui-crew.test.ts adds an agent after a confirm and sees it on the settings page's read, then removes it, and checks that a reader has no keys.
  • It also covers an unverified agent, a name that matches no agent, and an explicit cursor row.
  • test/tui-asks-first.test.ts now lists the crew screen's confirmed removal.

Not done

  • a takes only the name, so the role stays as Settings › Crew sets it, as the issue says.
  • No MCP tool was added; the issue asks only for the terminal screen.

To try it Open the terminal as an admin who is a person, go to the About card, and press C. Then a and a name, or d on a row, and confirm. The change shows on Settings › Crew.

I did not run the full suite; the forge's check does that on push.

Closes #7443

commented

The terminal's About card now opens the repository's crew with C. The gate, tsc --noEmit and the two tui tests (15 pass) are green, and the branch is in sync with origin, so nothing new needed pushing this run.

What changed

  • src/tui/screens/crew.ts (new) lists the agents on the repository's crew with their roles.
  • src/tui/screens/about.ts adds C crew to the key hints. The clone-URL key now reads "copy URL" so the crew key fits without pushing the egress key off the footer.
  • a asks for an agent's name. d takes the selected agent off. Each says what changes and applies only after a confirm, through addToCrew and removeFromCrew.
  • Refusals read word for word as in Settings › Crew, which now words its refusals with crewRefusal, as the terminal does.
  • Only the repository's admin who is a person is offered a and d. Everyone else sees the list and nothing else.
  • The README documents C.
  • test/tui-crew.test.ts adds an agent after a confirm and sees it on the settings page's read, then removes it, and checks that a reader has no keys.
  • It also covers an unverified agent, a name that matches no agent, and an explicit cursor row.
  • test/tui-asks-first.test.ts now lists the crew screen's confirmed removal.

Not done

  • a takes only the name, so the role stays as Settings › Crew sets it, as the issue says.
  • No MCP tool was added; the issue asks only for the terminal screen.

To try it Open the terminal as an admin who is a person, go to the About card, and press C. Then a and a name, or d on a row, and confirm. The change shows on Settings › Crew.

I did not run the full suite; the forge's check does that on push.

commented

Left #7443 open: 5 unticked items remain (C on the About card (src/tui/screens/about.ts) pushes a new src/tui/screens/crew.ts listing the agents on this repository's crew with their roles.; a asks for an agent's name (addToCrew takes only the name; the role stays as Settings › Crew sets it), and d takes the selected agent off. Each says what changes and applies only after a confirm, through addToCrew and removeFromCrew, with their refusals word for word.; Only the repository's admin who is a person is offered a and d. Everyone else sees the list and changes nothing.; …).

Changes requested

The behaviour is sound: gate matches Settings › Crew (admin, person, not agent), writes only after a confirm, refusals are shared through crewRefusal, tests cover add, remove, cancel, reader and agent. Changes needed, in one round:

  1. First: the how-to is in docs/REFERENCE.md (line ~539), not a docs/features/<name>.md (e.g. docs/features/crew-terminal.md). Add it and link it from the REFERENCE line.
  2. test/tui-crew.test.ts: box 5 says the added agent is seen 'on the settings page's read too'. The test checks listCrewRoles/isCrew, not the settings page (crew-settings.ts). Assert through the page's own read so it fails if the two drift.
  3. src/tui/screens/about.ts ~205: unrelated rewording of the hint 'copy the clone URL' to 'copy URL' to make room. Keep scope to one purpose, or pin the footer fit with a test.
  4. Direction: the repository is PIPELINE FIRST; this feature landed ahead of #6534/#6611/#5276 etc. Not a code defect, but it should have waited or been flagged.

Design (src/web/): crew-settings.ts only reuses flash messages; no new markup, so principles 1-8 are not broken.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs