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.

team.yaml
grant:
  session: acme          # the file's own session
  seat: lead             # the orchestrator's seat
  scope:                 # non-empty, distinct, order kept
    - up
    - down
    - approve
    - init
    - reload
  • session is the team's own session: the session key, or the project name when that key is omitted. Any other value is grant.session must be the file's session "<session>": "<written>".
  • seat is the orchestrator's name, the one coordinator: or leads: true resolves. The operator's name, and any other name, is grant.seat must name the orchestrator "<seat>": "<written>".
  • scope names acts from the closed set up, down, approve, init, reload and swap. The list is non-empty, each act appears once, and the order is part of the value the owner writes. An empty list is grant.scope must name at least one of: up, down, approve, init, reload, swap. A repeated act is grant.scope names "<act>" twice. Any other word is grant.scope must name up, down, approve, init, reload, swap: "<word>" is not one.
  • swap in scope admits the orchestrator's seat to team 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 lists swap. The grant itself stays an owner section.
  • approve is accepted in scope and acts on nothing: team approve was removed, and the word stays so a file that already names it loads unchanged. A change to grant itself, and a change to any other owner section, stays the owner's.
  • Any other key, including path, is an unknown field.
  • team up admits the orchestrator's seat when the live file's grant lists up. The run is this folder's own file: --session and --file are refused, and the run does not relaunch or close the orchestrator's seat. team down admits that seat when the list includes down, and leaves the orchestrator's seat and the operator's seat running. team reload <seat> admits that seat when the list includes reload: 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 omits grant keeps today's down.