Chock.sh Build your plugin

CLI reference

chock status

Ask the user before running chock status: what it takes and prints, from the engine at the pinned commit.

Policy states and coverage (--only registry,log for more)

Syntax

This is the usage line argparse builds from this command's parser.

chock status [-h] [--repo REPO] [--only ONLY] [--summary] [--verify-log]
             [--head SEQ:SHA256] [--policy POLICY] [--since DAYS] [--json]
             [--by {policy,rule,agent,event}] [--format {text,md}] [--route {sync,plugin}]
             [--level {info,debug}] [--verdict {allow,block,ask,warn,off}]
             [--plugin PLUGIN] [--follow]

Arguments and options

The table lists every argument the parser declares, except -h, --help, written as argparse prints it. Default is the value the parser uses when you leave the option out. It is empty for a flag or when the parser sets none.

ArgumentDefaultHelp
--repo REPO.Repo root
--only ONLYComma-separated subset of: policies, registry, log
--summaryLog summary: rates, latency vs timeout, faults
--verify-logWalk each decision log's hash chain; exit 1 at its first break
--head SEQ:SHA256With --verify-log: confirm a head kept earlier is still there
--policy POLICYLog: restrict to one policy id
--since DAYSLog: only records from the last N days
--jsonLog: machine-readable output
--by one of: policy, rule, agent, eventLog: group by policy, rule, agent or event
--format one of: text, mdLog: md prints a markdown summary
--route one of: sync, pluginLog: only the sync route (this repo) or the plugin route
--level one of: info, debugLog: info shows policy decisions only; debug adds allows
--verdict one of: allow, block, ask, warn, offLog: only records with this verdict
--plugin PLUGINLog: only records from this plugin (plugin route)
--followLog: print new records as they are written

Exit codes

  • 2: argparse rejected the arguments, for example an option this command does not have. The site's tests run every command with an unknown option and check that it exits 2.
  • Chock documents no other exit codes. Each example below shows the code its run returned.

Examples

Real runs, recorded by python -m sitegen.cliexamples with the engine at the pinned commit. The steps of data/cli-examples.yaml ran in order, offline, in one fresh git repository at /work/demo (made with git init -b main), with HOME at /home/demo. Those paths stand for the throwaway folders the runs used, and <time> stands for a timestamp. Output is stdout and stderr together.

Step 8 of 21, exit code 0.

$ chock status --repo .
id               state    coverage                                                                                                                                                                                                         mandatory
my-block-marker  enabled  claude: enforced-at-commit + best-effort at tool use (live-run); copilot: enforced-at-commit + best-effort at tool use (live-run-partial); gemini: enforced-at-commit + best-effort at tool use (vendor-source)  no

Step 19 of 21, exit code 0.

$ chock status --repo .
STOPPED: every agent, by unknown at <time>: demo. Its tool calls, commits and pushes are refused; `chock resume` lifts it.
id               state    coverage                                                                                                                                                                                                         mandatory
my-block-marker  enabled  claude: enforced-at-commit + best-effort at tool use (live-run); copilot: enforced-at-commit + best-effort at tool use (live-run-partial); gemini: enforced-at-commit + best-effort at tool use (vendor-source)  no

Help as printed

This is what --help prints, from the same parser. The usage line names the program as the engine's parser does.

usage: chock status [-h] [--repo REPO] [--only ONLY] [--summary] [--verify-log]
                    [--head SEQ:SHA256] [--policy POLICY] [--since DAYS] [--json]
                    [--by {policy,rule,agent,event}] [--format {text,md}] [--route {sync,plugin}]
                    [--level {info,debug}] [--verdict {allow,block,ask,warn,off}]
                    [--plugin PLUGIN] [--follow]

options:
  -h, --help            show this help message and exit
  --repo REPO           Repo root
  --only ONLY           Comma-separated subset of: policies, registry, log
  --summary             Log summary: rates, latency vs timeout, faults
  --verify-log          Walk each decision log's hash chain; exit 1 at its first break
  --head SEQ:SHA256     With --verify-log: confirm a head kept earlier is still there

log section:
  --policy POLICY       Log: restrict to one policy id
  --since DAYS          Log: only records from the last N days
  --json                Log: machine-readable output
  --by {policy,rule,agent,event}
                        Log: group by policy, rule, agent or event
  --format {text,md}    Log: md prints a markdown summary
  --route {sync,plugin}
                        Log: only the sync route (this repo) or the plugin route
  --level {info,debug}  Log: info shows policy decisions only; debug adds allows
  --verdict {allow,block,ask,warn,off}
                        Log: only records with this verdict
  --plugin PLUGIN       Log: only records from this plugin (plugin route)
  --follow              Log: print new records as they are written

Built from engine 5a4b6287a46e and catalog 1e60d211c1bb.