Before publication

Run the publishing constitution before your agents ship.

The website inspects what an outsider actually received. The CLI evaluates normalized evidence from your own system and writes a receipt. Same catalog. Same verdicts. No composite score.

Website

after publication

  • Outside-in
  • Public URL
  • What the wire actually returned

CLI

before publication

  • Inside-out
  • Normalized EvidenceBundleV1
  • The same open rules, in your pipeline

What the commands promise

A receipt generator. A gate only when you ask.

01

audit

Evaluate normalized evidence against the public catalog and produce a deterministic receipt. Default behavior writes the receipt and exits 0. A catalog FAIL does not block a release unless you pass--fail-on FAIL.

02

validate

Check that the bundled contracts, schemas, and catalog are internally coherent. This works from a clean wheel, outside the git clone.

From a clone

The command that works today.

PyPI uvx constitutional-cms will be published from the same v0.5.0 SHA after the clean-wheel gate. Until that package is live, install from the repository.

pip install -e .
constitutional-cms validate
constitutional-cms audit \
  --evidence examples/hello-site/evidence.yaml \
  --out receipt.json
# CI gate, opt-in:
constitutional-cms audit \
  --evidence examples/hello-site/evidence.yaml \
  --out receipt.json \
  --fail-on FAIL

README quickstart →

Use cases

Where builders run the constitution.

Hosted to local

Download the evidence. Re-run the verdict. Add private facts. Enforce in CI.

The hosted tool is convenient. The protocol does not depend on the hosted tool.