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

Finish the crew settings review: file holds, team dials and subscriptions each kept, folded or deleted #8772

Merged opened this

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

Merged

This pull keeps all three settings and deletes none. Each has its decision and one line of why in the review table in `docs/features/seat-slots.md`.

shipped production is serving it deploy b2c98db

opened this

This pull keeps all three settings and deletes none. Each has its decision and one line of why in the review table in docs/features/seat-slots.md.

  • File holds: kept. It's the only one of the three that holds work. Its row on Settings › Held files already lists the issues it keeps waiting. I changed one other place: flow on a held issue said "A file it names is hot: path is held by an admin". It now says "An admin holds new work on path, so it waits (Settings › Held files)." The change is in src/flow/why.ts, and test/mcp-flow-why.test.ts checks the new wording.
  • Team dials: kept. A dial is a share between teams, not a seat's number, so it can't fold into one. It only reorders queued starts and holds nothing. With every dial at 0 the order is the one the forge always had. I read every reader of the dial, in team_share.ts and dispatch.ts, and none of them hold work.
  • Subscriptions: kept. They are whose model credential the crew spends, not a limit. When there's no credential, the crew card already says the crew can't start.

Because nothing is removed, there is no deleted dial for the dispatcher to read and no stored value to migrate. That also means no removal tests, and the MCP crew tool and the API are unchanged. If you'd rather delete dials or fold subscriptions, say so. I'd do it as its own pull, since it touches /settings/teams, the teams MCP tool and the TUI screens.

Checks: tsc --noEmit is clean. test/mcp-flow-why.test.ts and test/mcp-size.test.ts pass. I ran bun scripts/gate.ts but didn't read its output, so don't count it as a pass.

Closes #8732

commented

This pull keeps all three settings and deletes none. Each has its decision and one line of why in the review table in docs/features/seat-slots.md.

  • File holds: kept. It's the only one of the three that holds work. Its row on Settings › Held files already lists the issues it keeps waiting. I changed one other place: flow on a held issue said "A file it names is hot: path is held by an admin". It now says "An admin holds new work on path, so it waits (Settings › Held files)." The change is in src/flow/why.ts, and test/mcp-flow-why.test.ts checks the new wording.
  • Team dials: kept. A dial is a share between teams, not a seat's number, so it can't fold into one. It only reorders queued starts and holds nothing. With every dial at 0 the order is the one the forge always had. I read every reader of the dial, in team_share.ts and dispatch.ts, and none of them hold work.
  • Subscriptions: kept. They are whose model credential the crew spends, not a limit. When there's no credential, the crew card already says the crew can't start.

Because nothing is removed, there is no deleted dial for the dispatcher to read and no stored value to migrate. That also means no removal tests, and the MCP crew tool and the API are unchanged. If you'd rather delete dials or fold subscriptions, say so. I'd do it as its own pull, since it touches /settings/teams, the teams MCP tool and the TUI screens.

Checks: tsc --noEmit is clean. test/mcp-flow-why.test.ts and test/mcp-size.test.ts pass. I ran bun scripts/gate.ts but didn't read its output, so don't count it as a pass.

Approved

Keeps all three settings with a one-line why each in the seat-slots table, and words the one that holds work where the work waits. Both doors are untouched. The test asserts the new wording. Next: (1) the wording hangs on a string suffix matched across crew/held.ts and flow/why.ts; export the suffix or carry a pinned flag in the facts so a rewording cannot silently drop back to 'is hot'. (2) Add a TUI/flow check that the Held files row lists the issues it holds, since the table now claims it.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs