@@ -93,6 +93,39 @@ validators disagree about that.
9393 unusual paths can evade them. See
9494 [ SECURITY.md] ( https://github.com/open-coder-ai/chock/blob/main/SECURITY.md ) and the
9595 [ assurance case] ( https://github.com/open-coder-ai/chock/blob/main/docs/assurance-case.md ) .
96+ - ** Tested upstream, and gated:** every policy ships an eval suite
97+ (` base/<policy>/evals/suite.yaml ` ) in the catalog, and the publish workflow runs
98+ ` chock check ` and ` chock check --only evals ` before packaging anything — a policy whose
99+ evals fail cannot reach this repository. The tests live in the catalog because the policy
100+ source does; this repository is compiled output.
101+ - ** This README is the exception:** it is the one file the publisher never writes, so it
102+ alone sits outside the generated-only guarantee. Everything else here regenerates.
103+
104+ ### Verify it yourself
105+
106+ Nothing above asks for trust that cannot be checked. This rebuilds the published tree from
107+ source and compares it with what is committed here:
108+
109+ ``` bash
110+ git clone https://github.com/open-coder-ai/chock-copilot-plugins dist
111+ git clone --branch v0.7.0 https://github.com/open-coder-ai/chock framework
112+ git clone https://github.com/open-coder-ai/chock-catalog catalog
113+ pip install ./framework
114+ chock plugin build --repo catalog --policies-dir base --format agent-plugins --out-dir dist
115+ chock plugin build --repo catalog --policies-dir base --format claude --out-dir dist
116+ chock plugin build --repo catalog --policies-dir base --format copilot --out-dir dist
117+ chock marketplace build --dist dist
118+ git -C dist diff --exit-code && git -C dist status --porcelain
119+ ```
120+
121+ Silence from both ` git ` commands means this repository is byte-identical to a fresh build
122+ from the catalog. ` --branch v0.7.0 ` is the framework release this tree was published from.
123+ ` chock-market.lock ` records a sha256 per published plugin directory, so one package can be
124+ checked without rebuilding the rest.
125+
126+ ** If you are listing these plugins in a marketplace,** pin both a tag and the full commit
127+ SHA. The tag names the release; the SHA is what holds the reviewed bytes still.
128+
96129
97130## Contributing
98131
0 commit comments