L0 · The Canon
If it isn't fed in, it doesn't exist.
Seven stores hold everything the platform is allowed to believe. Models are rented and orchestration is replaceable; the Canon is the asset.
Stores
7
Invariants
4
Schema change
G3 RISK gate
Version
1.0
Four invariants
Rules that hold across all seven stores
Enforced in the write path. An agent that cannot satisfy them cannot write.
Every agent output writes back to at least one store before release.
Every store row carries provenance: source, author, timestamp, confidence.
No store is writable by a human without an attributed edit record.
Canon schema changes are a G3 RISK gate, not an engineering ticket.
“If it isn't fed in, it doesn't exist.”
Appendix C · store specifications
The seven stores, field by field
Select a store for its purpose, steward, reading and writing agents, schema, drift control and retention rule.
Narrative Canon
The corporate position on every live topic, expressed as a message triangle (claim → support → proof) with an explicit "what we do not say" block. Versioned, with effective dates, market-level variants and a diff history. This is the object the whole platform defends.
The company's single canonical position on every live topic. The thing that makes a divergence detectable. Not a message house — a versioned position store with an owner and an expiry per position.
Owner role
Canon Steward
Named individual. Not a committee, not a shared mailbox.
Retention
Indefinite. Superseded positions are never deleted — they are the Precedent Library's raw material.
Written by
Read by
Schema · 13 fields
| Field | Type | Constraint | Note |
|---|---|---|---|
| position_id | string | format: POS-{topic_slug}-{seq} · key: true | — |
| topic | string | controlled_vocabulary: true | — |
| statement | text | max_words: 120 | The position itself, in the company's own words. |
| rationale | text | — | Why this and not the alternative. Survives the author leaving. |
| approved_by | role_ref | required: true | — |
| approved_at | datetime | required: true | — |
| expires_at | datetime | required: true | Forces review. A position with no expiry rots. |
| supersedes | position_id | nullable: true | — |
| evidence_refs | [evidence_id] | min_items: 1 | — |
| legal_clearance | enum | values: [cleared, conditional, blocked, not_required] | — |
| market_variants | map | key: market_code · value: text | Localizations, not new positions. |
| prohibited_formulations | [text] | — | Phrasings that have caused harm before. Enforced by C6. |
| confidence | enum | values: [certain, likely, contested] | — |
Drift control
- detector
- C6
- rule
- Any draft whose position vector diverges from canon beyond threshold is blocked at G5, not flagged.
- threshold
- {"semantic_similarity":0.82,"method":"embedding cosine vs. statement + market_variant"}
Write authority
Who may write to what
Write authority is narrow. Read authority is wide — most stores are readable by every agent.
| # | Store | Steward | Written by | Write gate | Refresh |
|---|---|---|---|---|---|
| 1 | Narrative Canon | Canon Steward | B1B2C1E1 | G1 | On change |
| 2 | Voice Corpus | Canon Steward | C2C5F2 | G4 | Quarterly |
| 3 | Stakeholder Graph | Canon Steward | A1A2A3A4B3D1D2D3 | none | Continuous |
| 4 | Evidence Ledger | General Counsel (co-owned with Canon Steward) | B2C1C4F1 | G2 | On change + expiry sweep |
| 5 | Signal Lake | Agent Ops Lead | A1A2A3A4A5A6 | none | Continuous |
| 6 | Policy & Risk Register | General Counsel + CCO (joint) | human_only | G3 | On change |
| 7 | Precedent Library | Canon Steward | B4E1E3F1F2 | none | Continuous |
Canon schema changes run through the G3 RISK gate, not an engineering ticket. A schema change is a change to what the company is able to believe. See the gate specifications →
Four design decisions
Why the Canon is shaped this way
01
The Canon is versioned, not current
Every store keeps history with effective dates. When a regulator asks what you believed in March, the answer is a query, not an archaeology project. Versioning is also what makes narrative drift detectable.
02
Nothing auto-publishes to the Canon
Agents propose Canon changes; the Canon Steward and Gate G1 dispose. A self-updating narrative is a narrative nobody owns.
03
Evidence expiry is enforced, not advisory
Every claim carries an expiry. Past expiry, the claim is unavailable to every agent in the system until re-substantiated. This single mechanism prevents the most expensive comms failure: repeating last year’s true statement after it stopped being true.
04
The change cascade is the killer feature
Change the Narrative Canon and the Chief of Staff identifies every live draft, briefing, holding statement and scheduled post touching it, re-runs them, and surfaces the deltas. No point tool can offer this and no human team can perform it reliably at 114-market scale.
Stakeholder Graph · audience classes
The persona lattice the simulator runs on
Reactions are modeled at three levels. Half the predictive power sits at seat level.
MVP classes · 2
Ship with two. Fewer classes mean more legible rationales, and a simulator nobody trusts is a simulator nobody runs.
Full build · 14
Persona variance model
Half of predictive power sits at seat level. Fewer seats mean more specific reactions; fewer classes mean more legible rationales.