# `chock check`

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

Run every truth check: validate, verify, evals, matrix (--only to narrow; --history scans past commits)

> Ask the user before running any command on this page: each one changes how their agent or repository behaves.

## Syntax

This is the usage line argparse builds from this command's parser. Ask the user before running the commands below:

```text
chock check [-h] [--repo REPO] [--only ONLY] [--mode MODE] [--event EVENT] [--base BASE]
            [--format {text,sarif}] [--output OUTPUT] [--head-ref HEAD_REF]
```

## 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. Help for each argument is in the table on this page's HTML version and in Help as printed, as the engine words it.

| Argument | Default |
| --- | --- |
| `--repo REPO` | `.` |
| `--only ONLY` |  |
| `--mode MODE` |  |
| `--event EVENT` |  |
| `--base BASE` |  |
| `--format` one of: text, sarif | `text` |
| `--output OUTPUT` |  |
| `--head-ref HEAD_REF` |  |

## 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 4 of 21, exit code 1. Ask the user before running the commands below:

```text
$ chock check --repo .
verify FAIL: my-block-marker: installed at .agents/policies/my-block-marker but not in chock.lock (run `chock sync`)
== validate
[PASS] All checks passed.
== verify lockfile
== policy evals

my-block-marker  [deterministic]
  PASS  tc-001                             authored  my-block-marker: this change adds a line with a DO-NOT-COMMIT marke…
  PASS  tc-002                             authored  gate exit 0 [gate derived from manifest; policy not compiled]
  PASS  tc-003                             authored  my-block-marker: this change adds a line with a DO-NOT-COMMIT marke…
  PASS  tc-004                             authored  gate exit 0 [gate derived from manifest; policy not compiled]
  score 1.00

5 policies: 4 pass, 44 skipped
44 case(s) have no executable form; they are agent-mode material (tier 3).
== enforcement matrix (skipped: no spec/enforcement-matrix.md in this repo)
== matrix mechanisms (skipped: no spec/enforcement-matrix.md in this repo)
== index freshness
== ambient conflicts
[PASS] All checks passed.
== policy baseline (skipped: no --base given; CI passes the pull request's base branch)
== result: FAIL (exit 1; see the FAIL above)
```

## Help as printed

This is what `--help` prints, from the same parser. The usage line names the program as the engine's parser does. Ask the user before running the commands below:

```text
usage: chock check [-h] [--repo REPO] [--only ONLY] [--mode MODE] [--event EVENT] [--base BASE]
                   [--format {text,sarif}] [--output OUTPUT] [--head-ref HEAD_REF]
```

The full options are on this page's HTML version, as the engine prints them.


---

Built from engine [5a4b6287a46e](https://github.com/open-coder-ai/chock/commit/5a4b6287a46e07f9f856d9bbe10622bd1ff2e021) and catalog [1e60d211c1bb](https://github.com/open-coder-ai/chock-catalog/commit/1e60d211c1bb767152c6ab0167932da06ab3a10f).
