1. What makes a site a Quoin site

A site conforms at version V of this spec if it satisfies every MUST in the spec at V and every SHOULD either satisfied or waived with a recorded reason in the repository.

2. Conformance checklist

A conformance check is a short set of automated or mechanical verifications, run per site:

# Requirement Source Check
1 All content schema-validated at build; unknown fields rejected §01 §1, §02 build fails on seeded violation
2 Every page type binds one schema to one template §01 §2 registry inspection
3 Chrome shared by every page, including blobs Const. §7 blob renders inside chrome; spot-check
4 No direct writes to main; required green build Const. §2, §4 branch-protection config
5 Derived data computed, never authored Const. §8 scan frontmatter for projection-shaped fields
6 Previews unguessable + noindex, cleaned up §05 §3 config inspection + seeded PR
7 Trust dial schema-valid; changes themselves gated §04 §4 schema validation of trust.yaml
8 Audit block present on every merged content PR §04 §5 PR lint on merge
9 Agent principal distinct from humans; no merge rights beyond dial §06 §5 credential inspection
10 Production storage reproducible from main alone Const. §3, §05 §4 rebuild + diff against live

Check 10 is the deepest and the most valuable: if a rebuild of main equals the live output bit-for-bit, every other control above it has been doing its job.

3. Conformance levels

  • L0 — static core. §01, §02, §05 satisfied; pipeline may be human-driven (a person edits and PRs). This is a valid resting state for owner-only sites.
  • L1 — full pipeline. §03, §04, §06 satisfied: email ingest, agent drafting, two-level approval, dial operational.
  • L2 — delegated dial. L1 with L2 dial entries in force (post-hoc publisher review for bounded classes).

A site declares its level in site.yaml; the checklist subset for the level is enforced by CI.

4. Validation vectors

The family’s validation vectors are the four real sites studied in the validation study (kept in validation/, not published). The normative claim: each site is expressible with the reference page types, the reference block library, and zero blobs beyond those already justified. A future spec change that breaks the expression of any of the four sites is, by definition, BREAKING.