Documentation

Guided Docs

A quick path through the public framework: what to copy, how to point agents at it, and what to validate before you publish.

Frameworkv0.5.0source 1cffaf5bcd44

Normative contract language on this site is adapted from the pinned public framework source above. Site presentation, forms, diagnostic runtime, and deployment remain private implementation concerns.

Start with the released authority

Before treating any numbered list as universal, read the canonical protocol map. It declares which scheme answers which question and prevents page tiers, G0–G5 maturity, capability profiles, release gates, repair layers, priority classes, contracts, and invariants from being substituted for one another.

The five domain-contract families remain the governance grammar — read them with their full YAML shapes:

  1. Page type contracts
  2. Enrichment stage contracts
  3. Link graph rules
  4. Snapshot boundary rules
  5. Sprint contracts

The released adoption path connects those domain rules to normalized evidence and a deterministic receipt.

The released adoption path

pin a release
→ author domain contracts
→ create ConstitutionalSiteManifestV1
→ collect or adapt EvidenceBundleV1
→ run the reference evaluator
→ verify ConformanceReceiptV1
→ enforce the receipt in CI

1. Pin and validate the release

git clone https://github.com/jamesfgibbons/constitutional-cms.git
cd constitutional-cms
git checkout v0.5.0
python3 scripts/validate_contracts.py --contracts-dir ./contracts
python3 scripts/validate_web_conformance.py

2. Author the public-safe implementation declaration

Start from examples/manifests/static-site.yaml. Declare only the canonical origin, public route sources, page families, crawler choices, schema expectations, and adapter identifiers. Credentials, queries, private schemas, and connection details are prohibited.

3. Collect or adapt normalized evidence

Create an EvidenceBundleV1 from public CI collectors or a private adapter. A private adapter translates its canonical authority into public records such as LinkTargetV1; it does not publish how the private authority works.

4. Evaluate and keep the receipt

See the public recreate-a-check path: catalog → evidence bundle → evaluator → golden receipt. Internal linking uses LinkTargetV1 only; private route registries stay out of the public repo.

python3 scripts/conformance_evaluator.py \
  --catalog contracts/check_catalog_v1.yaml \
  --evidence path/to/evidence.yaml \
  --out conformance-receipt.json

The result is diagnostic by default. Missing evidence remains UNMEASURED, false applicability becomes NOT_APPLICABLE, and a page receipt cannot grant G5 family certification.

5. Enforce the same receipt in CI

Fail CI only on the stable, certification-eligible checks your declared scope can actually measure. Preserve the receipt, evidence limitations, framework tag, and catalog version as build artifacts.

What the validator does

The included validator checks that the contract files are internally coherent:

  • required files exist
  • tier assumptions do not contradict each other
  • required link rules are present
  • write and read boundaries stay separate

It does not collect production evidence for you. Contract validation checks the grammar; the reference evaluator decides normalized evidence; your collectors and adapters remain responsible for observing the deployed implementation.

What stays out of the public repo

The public repository is not meant to be a dump of the underlying operating model. It leaves out:

  • private registries and route maps
  • ranking and compression heuristics
  • enrichment prompt packs
  • internal eval baselines
  • source coverage and anomaly-response runbooks

That boundary is part of the product.

Where to go next