The approved checks and timings
Part of team watch — the checks and timings the owner approves, and what a pass reports while an edit is unapproved.
A file that no longer validates
A file that no longer validates is not a reason to stop watching: the last copy that did is used, with a notice, and the watch goes on.
format: 1
project: beacon
seats: [ team watch ; echo "exit $?"
2026-10-04T09:00:00.000Z watching the session "beacon" every 120s
2026-10-04T09:00:00.000Z team.yaml is invalid (line 3: "[" is not closed on its line); using the copy of 2026-10-04T09:00:00.000Z
2026-10-04T09:00:00.000Z the watch of "beacon" stopped
exit 0An approval that drifted
The file is part of the same pass. A trust line changed since the owner approved it is reported at
the next one, and the team keeps running until the owner approves it again:
format: 1
project: beacon
coordinator: claude-keeper
operator: claude-keeper
trust:
- ~/.config/team/lobby
- ~/Code/beacon
- ~/Code/other
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
- role: implementer
name: claude-beacon
label: implementer
cli: claude-code
vendor: anthropic
model: Claude Opus
version: "5.5"
launch: claude --model claude-opus-5-5 team watch ; echo "exit $?"
2026-10-04T09:00:00.000Z watching the session "beacon" every 120s
2026-10-04T09:00:00.000Z the file differs from the approved one: `trust` changed
2026-10-04T09:00:00.000Z the watch of "beacon" stopped
exit 0The timings
The watch's own timings are the owner's too: interval, idle_first, idle_repeat, team_idle,
nudge_wait and unsent_after are approved with the file, and an edit to one of them changes
nothing until the owner approves it — the passes keep running with the values of the approved copy,
or with the defaults when nothing was approved, and the difference is reported.
By default an idle seat is reported once per idle period (idle_repeat is off). A team that wants
repeated idle reports turns them on by setting watch.idle_repeat to the repeat interval (such as
idle_repeat: 20m), repeating every 20 minutes while the seat stays quiet.
Turning a check off
A check the team doesn't want is turned off in watch.checks — a section only the owner changes,
so it is approved like the rest of them. While that edit is unapproved, the approved list stays
in force: nothing new is turned off, and a check the approved file turned off stays off. The
machine below sits at 8% free memory, and this file turns that report off. The approved list left
it on, so the report still comes, with the difference beside it.
format: 1
project: beacon
coordinator: claude-keeper
operator: claude-keeper
trust:
- ~/.config/team/lobby
- ~/Code/beacon
watch:
interval: 120s
checks:
memory: off
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
- role: implementer
name: claude-beacon
label: implementer
cli: claude-code
vendor: anthropic
model: Claude Opus
version: "5.5"
launch: claude --model claude-opus-5-5 team watch ; echo "exit $?"
2026-10-04T09:00:00.000Z watching the session "beacon" every 120s
2026-10-04T09:00:00.000Z the file differs from the approved one: `watch.checks` changed
2026-10-04T09:00:00.000Z free memory is 8%, below 15%
2026-10-04T09:00:00.000Z the watch of "beacon" stopped
exit 0The owner approves it, and the next pass runs without the check:
team approve ; 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:
+ 10: watch:
+ 11: interval: 120s
+ 12: checks:
+ 13: memory: off
+ 14:
Needs a new approval: `watch.checks` changed.
Ceilings this approval fixes: 4 seats at most, 2 temporary.
Seats: 2 (claude-keeper, claude-beacon).
approval #2 for this project; the last one was on 2026-10-04; key fe21ef6293de.
Approved. The record is in ~/.config/team/beacon-<hash>; signed with key fe21ef6293de; check the rest with `team doctor`.
exit 0 team watch ; echo "exit $?"
2026-10-04T09:00:00.000Z watching the session "beacon" every 120s
2026-10-04T09:00:00.000Z the watch of "beacon" stopped
exit 0Checks that cannot be turned off
The four that can't be turned off — attention, missing, model-drift and approval — are
refused by the schema itself, with the line, and so is a name that is no check. team approve
refuses such a file the same way, and the watch keeps the last copy that validated, with the
checks as the owner approved them.
format: 1
project: beacon
coordinator: claude-keeper
operator: claude-keeper
watch:
interval: 120s
checks:
attention: off
disks: off
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
- role: implementer
name: claude-beacon
label: implementer
cli: claude-code
vendor: anthropic
model: Claude Opus
version: "5.5"
launch: claude --model claude-opus-5-5 team approve ; echo "exit $?"
team approve: line 9: watch.checks can't turn off attention: attention, missing, model-drift, approval always run
team approve: line 10: unknown check "disks" in watch.checks: the checks are missing, restored, model-drift, attention, unsent, idle, extra, team-idle, approval, load, memory, disk, swap-free, swap-growth, budget
exit 2