Repository navigation
Specs registries operations
What it lists. Command-to-gate rows at the tag and separately proposed Kernel operation contracts.
Policy for a new entry. The TeamCLI team maintains this registry with its implementation. An addition needs a spec change, its consistency check and a release note; an RFC round is needed only if it breaks a commitment. These are draft registration rules pending review.
The Since column records presence at a pinned revision, not an audited first-introduction release. Planned rows confer no implementation or authority.
| Entry | Meaning | Since | Source at the tag | Note |
|---|---|---|---|---|
init |
writing a team where none exists is the owner's act in 0.5.0: no create-bounds exist yet, so no agent holds create
|
present at 0.5.0 | src/permissions/map.ts |
owner-only |
up |
start: it runs the hash-pinned start command, and an operation is reached only through leads held in a role, never through a grant |
present at 0.5.0 | src/permissions/map.ts |
owner-or-leads; this why string describes the intended pinned start; context hashing is not implemented |
down |
stop: the owner or leads for its own team, and the owner may always stop |
present at 0.5.0 | src/permissions/map.ts |
owner-or-leads |
restart |
the start row for a seat: as start
|
present at 0.5.0 | src/permissions/map.ts |
owner-or-leads |
reload |
the start row for a running seat, as restart: closing and relaunching one seat is the same act |
present at 0.5.0 | src/permissions/map.ts |
owner-or-leads |
add |
adding a seat is the owner's in 0.5.0, where no agree or grant holders stand |
present at 0.5.0 | src/permissions/map.ts |
owner-only |
remove |
removing a seat: the owner or leads; a seat holding grant, agree or leads stands only by the owner |
present at 0.5.0 | src/permissions/map.ts |
owner-or-leads |
rename |
renaming a seat: the owner or leads for its own team |
present at 0.5.0 | src/permissions/map.ts |
owner-or-leads |
register |
a registry record is a report and confers no right: the owner, or the seat's own team | present at 0.5.0 | src/permissions/map.ts |
owner-or-own-team |
grant |
granting is the approval, and the owner grants alone in 0.5.0 | present at 0.5.0 | src/permissions/map.ts |
owner-only |
revoke |
removing a standing grant is the owner's edit, and the revocation channel of 0.5.0 is the owner at a terminal | present at 0.5.0 | src/permissions/map.ts |
owner-only |
delegate |
a standing grant with a command list, written against this map: the owner's | present at 0.5.0 | src/permissions/map.ts |
owner-only |
send |
admission is chain position and the pair's setting, never a role's name: it is decided by the send admission, and this map admits no one to it | present at 0.5.0 | src/permissions/map.ts |
admission |
answer |
a key into another agent's pane belongs to the pane's lead, a seat above it, or the owner's word for that case; trust, login and security prompts to the owner's alone — pane authority is its own gate, and this map admits no one to it | present at 0.5.0 | src/permissions/map.ts |
pane-authority |
messages |
Read-surface row admitting a registry-recorded seat. | present at 0.5.0 | src/permissions/map.ts |
seat-record; individual command may have a separate gate; read scope not enforced |
feed |
Read-surface row admitting a registry-recorded seat. | present at 0.5.0 | src/permissions/map.ts |
seat-record; individual command may have a separate gate; read scope not enforced |
status |
Read-surface row admitting a registry-recorded seat. | present at 0.5.0 | src/permissions/map.ts |
seat-record; individual command may have a separate gate; read scope not enforced |
list |
Read-surface row admitting a registry-recorded seat. | present at 0.5.0 | src/permissions/map.ts |
seat-record; individual command may have a separate gate; read scope not enforced |
check |
Read-surface row admitting a registry-recorded seat. | present at 0.5.0 | src/permissions/map.ts |
seat-record; individual command may have a separate gate; read scope not enforced |
usage |
Read-surface row admitting a registry-recorded seat. | present at 0.5.0 | src/permissions/map.ts |
seat-record; individual command may have a separate gate; read scope not enforced |
available |
Read-surface row admitting a registry-recorded seat. | present at 0.5.0 | src/permissions/map.ts |
seat-record; no command module at the tag |
next |
Read-surface row admitting a registry-recorded seat. | present at 0.5.0 | src/permissions/map.ts |
seat-record; individual command may have a separate gate; read scope not enforced |
waits |
Read-surface row admitting a registry-recorded seat. | present at 0.5.0 | src/permissions/map.ts |
seat-record; no command module at the tag |
write |
Operational capability row. | present at 0.5.0 | src/permissions/map.ts |
capability; none gated in this release |
read |
Operational capability row. | present at 0.5.0 | src/permissions/map.ts |
capability; none gated in this release |
review |
Operational capability row. | present at 0.5.0 | src/permissions/map.ts |
capability; none gated in this release |
gate |
Operational capability row. | present at 0.5.0 | src/permissions/map.ts |
capability; none gated in this release |
merge |
Operational capability row. | present at 0.5.0 | src/permissions/map.ts |
capability; none gated in this release |
deploy |
Operational capability row. | present at 0.5.0 | src/permissions/map.ts |
capability; none gated in this release |
act-as |
Operational capability row. | present at 0.5.0 | src/permissions/map.ts |
capability; none gated in this release |
use-broker |
Operational capability row. | present at 0.5.0 | src/permissions/map.ts |
capability; none gated in this release |
Not in the tool at the release tag, named by a text:
| Entry | Meaning | Since | Source at the tag | Note |
|---|---|---|---|---|
start |
owner, or leads for its own team; runs the hash-pinned start command and its full hashed execution context; takes no argument and refuses a caller-supplied environment; a create bound that also starts triggers it |
planned |
src/permissions/map.ts (up) |
up is owner-or-lead at 0.5.0; pinning and context hashing not built |
stop |
owner, or leads for its own team; never reaches another team |
planned |
src/permissions/map.ts (down) |
down is owner-or-lead at 0.5.0 |
| machine-wide stop | owner only | planned | — | one stop per team at 0.5.0, and unreliable |
add a same-copy seat |
an agree holder, or the owner; leads may execute and authorizes nothing |
planned |
src/permissions/map.ts (add) |
add is owner-only at 0.5.0; no copy agreement by hash |
add any other seat |
owner, or a grant holder; inside the ceiling and deny; two-granter where set |
planned |
src/permissions/map.ts (add) |
as above; no grant holder path |
remove a seat |
owner, or leads; a seat holding grant, agree or leads by the owner only; removing a seat revokes every lease it holds or issued; removing leads revokes every live lease in the team; a delegate's removal that breaks a minimum is refused, an owner's commits and pauses the floor |
planned |
src/permissions/map.ts (remove) |
remove is owner-or-lead at 0.5.0; no lease revocation, no floor |
| issue a lease | the issuer; within a live parent (re-lease), a standing grant it holds, or the leads envelope only when the issuer is leads; parent mandatory when the source is a lease; the recipient passes the whole-chain ban; a present leads is required; a two-granter capability needs a co-signed lease; re-checks the constraints |
planned | — | no lease at 0.5.0 |
| grant a capability or edit the team's configuration | owner, or a grant holder; inside the ceiling, deny and declared sets; two-granter where set, though the owner may grant alone; leads has no grant power |
planned |
src/permissions/map.ts (grant), src/commands/grant.ts
|
owner-only at 0.5.0 |
| a configuration change that is not a same-copy | the same principal and bounds; it is a grant | planned | — | the same-copy distinction is not built |
| revoke a lease | owner, leads, or a holder above the revoked lease in its chain |
planned | — |
revoke at 0.5.0 revokes a grant record, not a lease |
--abandon |
owner-only command option; the Kernel’s full abandonment contract remains planned | present at 0.5.0 in part |
src/commands/remove.ts; src/permissions/map.ts
|
Present option is outside gate-lifting; the broader ledger/authority-lease behavior is not built. |
a use-broker call |
the requesting seat, by its own scope and deny; leads is not a proxy and is not required in the call |
planned | src/broker/policy.ts |
the field policy exists at 0.5.0; the per-seat scope check is not built |
act-as |
the seat holding it, within its account scope |
planned | — | not built |
write, read, review, gate, merge, deploy
|
the seat holding that capability, within its scope and the constraints; merge/deploy consume a valid gate pass; the author-inequality binds gate/merge, and deploy where the owner binds it; a deploy under the owner's identity also needs act-as
|
planned | src/permissions/map.ts |
the map says 0.5.0 gates none of them |
create (execute) |
the seat holding create, within its create-bounds; recorded as that seat's act, never the owner's; resets no unattended clock |
planned | — | no create command row at 0.5.0 |
| rebind a seat's lab; change a ceiling, deny, declared set, minimum, maximum, exclusion, review mode or the two-granter requirement | owner only | planned | — | no such surface at 0.5.0 |
sessions |
to decide; lists a seat's session records — which agent stood the seat, from when to when, the end reason, tokens and cost, what it produced — and --by model, --by team and --by entity group them |
planned | proposed; not in src/permissions/map.ts
|
decided 2026-10-19; the registry writes the records at up, restart, swap and down |
resume |
to decide; resumes a seat's session by the CLI's session id — a restart with the same conversation, the resumed session reading the latest handover first; the CLI must be the same | planned | proposed; not in src/permissions/map.ts
|
decided 2026-10-19 |
cast |
to decide for the showing; shows the cast — which agent stands which seat, with the reason for each choice — and --propose proposes a better one; applying a proposal goes through team config and the swap queue, with the owner's go where a policy asks for it |
planned | proposed; not in src/permissions/map.ts
|
decided 2026-10-19; a cast is reviewed before it applies. Spec: casting.md |
universes add |
to decide; makes a universe for the entity from a list of entries (a name, titles, relations, traits, role hints), or fetches one from the library by name; built-in universes are public-domain only | planned | proposed; not in src/permissions/map.ts
|
decided 2026-10-19. Spec: casting.md |
mcp check |
to decide; runs the per-client channel checks on demand — reachability with the client's Origin, the OAuth metadata, a signed ask round trip timed per stage; team watch runs them on a schedule |
planned | proposed; not in src/permissions/map.ts
|
decided 2026-10-19 |
mcp deploy |
the owner's go where a policy asks for it; deploys only a reviewed sha by the one documented path, records the live sha for rollback, runs the per-client checks, and rolls back by itself if a check fails | planned | proposed; not in src/permissions/map.ts
|
decided 2026-10-19; no unreviewed sha is deployed |
The map has no create command row. send admission and answer pane authority are owned by their own gates; a map row itself admits no caller to them. The Kernel’s planned issue a lease means an authority lease, not the implemented local task lease. Planned operation rows are copied from the records/ledger spec’s §6, with no new authority. Proof: test/permissions/resolve.test.ts, test/permissions/fail-closed.test.ts.
The Roles contribution names lifecycle start/stop by their act; their CLI surfaces here are up/down. It also calls same-copy addition add-same-copy and ordinary removal remove-ordinary. Those are conceptual delegated-form labels, not identifiers in the command map or grant vocabulary at either pinned revision; the separate planned same-copy/ordinary-removal contracts do not create new commands or alter the tag’s add gate. The Roles contribution’s shorthand “as start” does not supersede the command map’s owner-only addition rule.
Contributions reconciled at this draft: accounts and gates, budgets, casting, events, grants, launch, messaging, quality gates, records and ledger, RFC process files (no entries), registry, roles, round, seat state and watch, tasks and broker. The Kernel’s §12 points to the same records/ledger contribution rows. All list-valued contributions were expanded against their pinned code source; feature settings outside the release catalogue remain planned.
-
Draft (2026-10-18): read the pinned source lists and consolidated completed spec contributions; planned entries remain distinct.
-
Amended (2026-10-19): six planned rows added from the night's decisions —
sessions,resume,cast,universes add,mcp check,mcp deploy— eachproposed; not in src/permissions/map.ts; who-may-run is the decision's words where the decision gives them (cast's applying path,mcp deploy's reviewed sha and the owner's go where a policy asks) andto decidewhere it does not. No implementation source at the tag. -
Amended (2026-10-19): the planned
castanduniverses addrows carry the casting spec (casting.md, S6) in their Notes; their operation and admission meanings are unchanged. -
Phase A review and first-handover fold (2026-10-19): casting references deferred as plain prose so the included files do not link to the excluded casting spec; casting added to the contribution summary; the planned operation meanings and undecided showing/addition gates are unchanged.
Generated from docs/specs/registries/operations.md at v0.5.2 (1d1224a4) — edit the repository, not this page.