Grant
Part of the team file — The one grant the owner gives the orchestrator's seat, its closed scope, and what each act in it admits.
Records the grant the owner gives the orchestrator's seat. It is an owner section: only the owner
writes it. Omitted, it reads as null.
grant:
session: acme # the file's own session
seat: lead # the orchestrator's seat
scope: # non-empty, distinct, order kept
- up
- down
- approve
- init
- reloadsessionis the team's own session: thesessionkey, or the project name when that key is omitted. Any other value isgrant.session must be the file's session "<session>": "<written>".seatis the orchestrator's name, the onecoordinator:orleads: trueresolves. The operator's name, and any other name, isgrant.seat must name the orchestrator "<seat>": "<written>".scopenames acts from the closed setup,down,approve,init,reloadandswap. The list is non-empty, each act appears once, and the order is part of the value the owner writes. An empty list isgrant.scope must name at least one of: up, down, approve, init, reload, swap. A repeated act isgrant.scope names "<act>" twice. Any other word isgrant.scope must name up, down, approve, init, reload, swap: "<word>" is not one.swapinscopeadmits the orchestrator's seat toteam remove <operator> --keep: the swap of the operator's agent (docs/commands/remove.md). Never its own seat — a seat cannot close the pane its own call runs in — so the orchestrator's own swap stays the owner's or a delegate's whose entry listsswap. The grant itself stays an owner section.approveis accepted inscopeand acts on nothing:team approvewas removed, and the word stays so a file that already names it loads unchanged. A change tograntitself, and a change to any other owner section, stays the owner's.- Any other key, including
path, is an unknown field. team upadmits the orchestrator's seat when the live file'sgrantlistsup. The run is this folder's own file:--sessionand--fileare refused, and the run does not relaunch or close the orchestrator's seat.team downadmits that seat when the list includesdown, and leaves the orchestrator's seat and the operator's seat running.team reload <seat>admits that seat when the list includesreload: one named seat, closed only at an idle prompt when its declared model or effort differs from the launch, then launched again. It does not name the caller's own seat. A file that omitsgrantkeeps today'sdown.