The read-back
Part of team approve — what approve prints against an existing record: when nothing changed, the ceilings and seats it fixes, and what needs a new approval.
Nothing at all changed is said plainly:
./.agents/team.yaml: the same text as the copy approved on 2026-10-04T09:00:00.000Z.
Nothing in it needs a new approval.
Then the ceilings the approval would fix — 3 seats at most, 2 temporary — and the
seat names — and, when the file has a delegates section, one Delegate: pane <pane> may run <commands>. line per entry, in file order — and the signing's number for this
project on this machine, with the date of the last one and the key's fingerprint: approval #4 for this project; the last one was on 2026-10-04; key fe21ef6293de. With --confirm the
question comes next, before the write; without it the summary is the last thing printed and the
write follows directly. The seat ceiling defaults
to the seats the file declares plus the
temporary ones, so adding a seat widens it, and that shows up as limits changed too. What needs a
new approval is a change to an owner section
(trust, limits, machine, rules, identity, workspace, orchestrator, operator,
session, visibility, tools, budgets, watch — its timings included, down to watch.checks,
whose turn-offs are their own line — and delegates, its entries, their panes and their command
lists included) or to a seat's own fields. A seat taken out does not.
Parking or stopping one does, except that remove --keep and add record the new digest
themselves, so those commands do not send the owner back to approve. Until an edit is
approved its section changes nothing: the watch, the budget reports, the check cadence, up's and
add's launch gate and status's table run with the approved values, or with the defaults when
nothing was approved. A stored copy that no longer validates: budgets falls back to no accounts (no
budget reports, no check runs) and the difference is reported until the next approve; up and add
refuse a drifted file before the gate.
When no record on this machine, the whole file is printed numbered — the example of that, and the basic walkthrough, are on the team approve page.
An owner section changed
An owner section is the owner's to change, and the comparison says so before the write:
format: 1
project: beacon
coordinator: claude-keeper
operator: claude-keeper
trust:
- ~/.config/team/lobby
- ~/Code/beacon
- ~/Code/worktrees/beacon
workspace:
mode: shared
seats:
- role: coordinator
name: claude-keeper
label: coordinator
cli: claude-code
vendor: anthropic
model: Claude Opus
version: "5.5"
launch: claude --model claude-opus-5-5 team approve --show ; echo "exit $?"
team approve: warning, line 3: `coordinator:` is now `leads: true` on the lead's seat, and is still read
./.agents/team.yaml: against the copy approved on 2026-10-04T09:00:00.000Z:
+ 9: - ~/Code/worktrees/beacon
Needs a new approval: `trust` changed.
Ceilings this approval fixes: 3 seats at most, 2 temporary.
Seats: 1 (claude-keeper).
approval #2 for this project; the last one was on 2026-10-04; key fe21ef6293de.
exit 0