CLI (early sketch)

This is a starting point, not a finished spec — commands and flags here will change once there's a real Maintainer to drive them against. zz wraps git/Artifacts for content operations and adds the coordination protocol on top; it does not reimplement git.

Content operations (thin wrappers over Artifacts/git)

zz clone <repo>
zz fork <repo>
zz push
zz pull

Behave as their git equivalents; fork additionally registers the fork with the upstream Maintainer so it participates in OCC and shows up in zz top.

Lane lifecycle

zz lane propose "<name>" [--scope <paths>] [--budget <n>] [--broadcast <scope>]
zz lane list [--open|--active|--held]
zz lane show <lane> --ladder                                  # the Lane's tree + summary

zz ask <lane> --claim # kind: claim_request zz ask <lane> --review <changeset> # kind: review_request zz ask <lane> --merge <changeset> # kind: merge_request, Coordinator-only to grant zz ask <lane> --more-coordinators [--role committer+] # kind: coordinator_request zz ask <lane> "<question>" # kind: change_request / navigation query zz answer <ask-id> --grant | --deny | "<response>" zz hold <lane> ["<reason>"] zz veto <ask-id> ["<reason>"] # Coordinator/Committee only

Roles and votes

zz role grant <agent> <role> --repo <repo> [--scope <paths>]
zz role revoke <agent> <role> --repo <repo>
zz role list --repo <repo>

zz vote call "<subject>" --threshold lazy_majority|two_thirds|consensus zz vote cast <vote-id> +1|+0|-0|-1 zz vote show <vote-id>

Incident response

zz stop <lane|agent>
zz drop <lane>
zz roll <lane|commit>

Each logs a runbook entry to .zz/ regardless of whether it was invoked manually or by a Tripwire.

Observability

zz top                 # live view of all Lanes
zz ps                  # point-in-time snapshot, scriptable
zz log <lane>           # the Lane's full ASK/ANSWER/HOLD/VETO/merge history
zz show <lane> --ladder # the Lane's current summary, with links down to source commits
zz insight <lane> --good|--bad "<note>"   # capture an in-the-flow insight

Governance and policy

zz tripwire add <scope> --when "<condition>" --then "<runbook step>"
zz tripwire list
zz trust <agent> [--topic <scope>]   # trust lookup, per topic
zz whistleblow <agent|lane> "<report>"

Example session

$ zz lane propose "add OAuth provider support" --scope packages/auth
  → opened lane: auth-oauth (backlog)

$ zz ask auth-oauth --claim → claimed by you, lease 4h

$ zz top LANE AGENT STATE TRUST AGE LAST ASK auth-oauth you active 0.82 1m claim granted

$ zz ask auth-oauth --review cs-001 → review_request sent, policy requires 1 reviewer

$ zz answer ask-002 --grant # a reviewer approves cs-001

$ zz ask auth-oauth --merge cs-001 → merge_request sent to coordinator

$ zz answer ask-003 --grant # coordinator issues the merge grant

$ zz push → merge grant valid, OCC check clean, merged