Doctrine
World Model is the Tacit Contract
World Model is the Tacit Contract
Camber's purpose is to decompose comms and weave them together into a world model that maps the real world. Every development decision inside Camber — every PR, every ticket, every schema choice, every name, every deprecation, every dispatch — is filtered through one tacit question: "does this make the world model more faithful to reality?" The phrase "world model" is the word that dictates the developer culture. The contract is tacit: the framing is not requested in checklists, it is what every developer reaches for when no one is watching. Absence of the framing is the noticeable signal, not its presence.
What this doctrine is
This is a meta-doctrine — a doctrine that recurses into all other doctrines. The existing doctrines (user-value-closure, names-carry-contracts, Marquet 3-pillar, deliverable-reachability-proof) are operationalizations of world-model fidelity, not peers to it:
- ORA-2026-0044 names-carry-contracts → names of world-model entities carry contracts (the entity in the world is what the name must teach)
- ORA-2026-0046 deliverable-reachability-proof → reads of the world model must be reachable (a deliverable that can't be reached can't make the map more faithful)
- ORA-2026-0053 user-value-closure → user-value IS world-model fidelity at a named surface (the user sees the map; if the map drifts from reality, the user sees the drift)
- ORA-2026-0086 Marquet 3-pillar → decisions stand on three pillars, all serving world-model fidelity (pillar 4 is implicit: did this serve fidelity?)
World-model is the upstream invariant. The other doctrines are how it operationalizes. This is why the meta-doctrine carries the pillar: [meta] tag — it is not a peer to the three pillars, it is the frame they collectively serve.
The architectural shape (Camber as a mapping system)
COMMS (calls, texts, emails, RFIs, RFPs, BT msgs, photos, receipts, voicemails, meeting notes)
↓ DECOMPOSE ← LLM at every comm-joint extracts {entities, claims, intents, decisions, refs}
↓ WEAVE ← cross-comm synthesis: same project across surfaces; same person across roles;
same issue across timeline; same decision rendered in three places
↓ WORLD MODEL ← persistent map: projects/people/issues/decisions/status
with provenance + Trust-Words confidence + correction-history
↓ SURFACES ← BT push, dollhouse, redline, chat substrate, monday email — all reads of the same model
↓ CORRECTIONS ← humans observe surface↔reality mismatch → correction flows back → model updates → cascade
Every part of Camber occupies one position in this pipeline. A development decision that doesn't touch this pipeline isn't Camber-shaped; it's something else.
Rule
Every development decision inside Camber asks one tacit question: "does this make the world model more faithful to reality?"
Concretely:
1. Every PR description answers (in the natural way it describes the change): "what map↔reality gap does this close, or what fidelity does this preserve?" 2. Every ticket scopes itself by: "what entity / relation / belief in the world model does this affect?" 3. Every schema decision answers: "what entity in the world does this represent, refine, split, or merge?" 4. Every name answers: "does this name match what the entity actually IS in the world?" (bt_purchase_order is good; utils is bad — no entity in the world is "utils") 5. Every error asks: "what world-model lie did this expose?" — errors are data about world-model drift, not just bugs 6. Every deprecation asks: "is this surface still a faithful read?" — orphans become legible as "no longer reads any part of the world model" 7. Every dispatch asks: "is the claimer asked to make the map more faithful, or to do work?" — work that doesn't increase fidelity is motion, not work
These are not checklist items to satisfy. They are the natural questions a Camber developer asks because the framing is internalized.
The Marquet 4th implicit lens
Per ORA-2026-0086, every STRAT output stands on Control / Competence / Clarity. This doctrine adds a 4th implicit lens to the per-tick / per-output pillar check:
Step 3.7 — Pillar check (amended):
- Control: did I state intent rather than ask permission?
- Competence: did I cite doctrine + memory in PRIOR-DIAGNOSTIC?
- Clarity: did I name user/surface/change/closure_date?
- Fidelity (implicit, world-model lens): did this output serve world-model fidelity? — if it didn't, was the gap named?
The 4th lens is implicit because the contract is tacit. A pillar check that affirmatively says "world-model: yes" is doing the explicit-phase scaffolding. After the doctrine has compounded for ~3 weeks, the explicit reference can drop — if the pillar check still passes substantively, the lens has gone tacit.
The fidelity > coverage corollary (amends ORA-2026-0053)
ORA-2026-0053 stated user-value > infra-velocity. This doctrine adds the corollary: fidelity > coverage. Ingesting 10x the comms with bad weaving produces a worse map. Coverage without fidelity is map-confabulation. The right test is not "how many comms did we process?" but "how faithful is the resulting map?"
Probe Z (per shepherd protocol) is reframed:
Probe Z (Fidelity-Diff): "is the world model more faithful at <named surface> for <named user> than last tick? — concrete delta, or 'nothing — fidelity-zero tick.'"
This is structurally identical to the prior Probe Z but reframes the bar from "did the user see a delta" to "did the map become more faithful at the surface the user reads."
Path to tacit (the bootstrap problem)
Tacit doctrines can't be installed by writing them down. They compound through repeated dogfood until the framing is internalized. The bootstrap path:
1. Explicit anchor (this doctrine, M3 canonical, parity-stamped 5 surfaces). The written reference exists for citation. 2. Boot banner on all 4 prompt surfaces so every session boots through the lens. 3. Memory file feedback_world_model_is_the_word.md so PRIOR-DIAGNOSTIC lines can cite the framing. 4. Marquet 4th-lens amendment to ORA-2026-0086 (above) so the pillar check naturally pulls the frame. 5. Dogfood loudly through 5–10 explicit examples. Every dispatch, every doctrine cite, every ticket close uses the framing visibly. 6. Drop the explicit framing once critical mass hits. Then it's tacit. The absence becomes the signal.
The test of whether the doctrine has landed: 3 weeks from this filing, a Codex seat writes a ticket without ever using the phrase "world model" — but the ticket scopes itself by "what entity does this represent more faithfully." That's tacit-ness. Until then, we are in the explicit phase and the framing should appear in nearly every Camber-side STRAT output.
Anti-patterns this doctrine kills
- "Did the test pass" as a terminal question. Tests are proxies for fidelity, not the bar.
- "Is the architecture sound" as a terminal question. Architecture serves fidelity; soundness without fidelity is masturbation.
- "Did we ship the feature" as a terminal question. Shipping is a proxy for "did a surface become a more faithful read"; if the surface is now lying more elegantly, we shipped a regression.
- Coverage-as-progress. "We ingest N more comms / day" is not progress unless the map became more faithful.
- Names that don't teach what the entity IS.
utils,common,core,helpers— none of these are entities in the world. (Per ORA-2026-0044.) - Dispatches that aren't fidelity-shaped. Tickets that are "do this work" without naming the world-model entity affected.
Origin
2026-04-25 ~15:15Z. Chad directive in-session, after ~14h of dense fleet shepherding work culminating in:
1. ORA-2026-0053 user-value-closure landing earlier the same day (the gap exposure: ~260 overnight DONEs produced ZERO Zack-visible BT delta). 2. ORA-2026-0086 Marquet 3-pillar landing as the unified frame for STRAT output discipline. 3. The world-model substrate architecture conversation (chat-facing belief queries, correction-as-event-stream, cascade-rule engine). 4. Chad's framing: "do we understand that the purpose of camber is to decompose comms and weave together into a world model that maps the real world." 5. Confirmation, then the doctrine-defining directive: "'world model' needs to be the word that dictates the camber developer culture that becomes the tacit contract of every development decision we make inside camber."
The trajectory: ORA-2026-0053 named the user-value bar. ORA-2026-0086 named the unified output discipline. ORA-2026-0062 (this doctrine) names the upstream invariant the prior two were already serving — the world model. With this doctrine in place, the prior doctrines compose into a coherent whole rather than a list of rules.
Why this earns its own doctrine number
Three reasons:
1. It changes the unit of measure. Pre-doctrine, the unit was "did the work happen?" Post-doctrine, the unit is "did fidelity move?" That is a different bar, not a refinement of the same bar. 2. It is the upstream invariant. Without naming it, the existing doctrines look like a coordination list. With it named, they compose into a single coherent frame. Doctrines that re-frame existing doctrines as expressions of one upstream rule are themselves doctrines, not just commentary. 3. It is binding ("from now on" + "tacit contract of every development decision"). Per pattern-graduation criteria, M3 canonical is the appropriate maturity at landing.
Adjacent doctrines
- ORA-2026-0044 names-carry-contracts → names teach because they refer to entities IN THE WORLD; non-entity names ("utils") fail the world-model test
- ORA-2026-0046 deliverable-reachability-proof → reads of the model must be reachable; a deliverable that can't be reached can't make the map more faithful
- ORA-2026-0053 user-value-closure → user-value IS world-model fidelity at a named surface (this doctrine reframes that one as an expression of itself; fidelity > coverage corollary added here)
- ORA-2026-0086 Marquet 3-pillar → 4th implicit lens added (above)
- ORA-2026-0055 two-stage-decomposition → STRAT slices architecture into world-model-shaped mega-tickets; Codex decomposes implementation
- ORA-2026-0061 strat-autonomous-loops → the loops' purpose is fidelity-maintenance over time
Mirror surfaces (parity-stamp required)
Per ORA-2026-0029 boot-parity-check, this doctrine must be stamped onto:
~/.orbit/canonical_user_identity_v1.md(SoT) — head section banner~/.claude/CLAUDE.mdhead section — banner~/.codex/AGENTS.mdsection 0 — banner~/.gemini/GEMINI.mdhead section — banner- Memory file:
~/.claude/projects/-Users-chadbarlow/memory/feedback_world_model_is_the_word.md(citable in PRIOR-DIAGNOSTIC)
After stamping, run ~/Desktop/fleet/scripts/doctrine-parity-check ORA-2026-0062 --reconcile to verify drift = 0.
Pattern-graduation criterion
Born M3 (canonical, binding) because Chad's directive explicitly made it binding ("from now on" + "tacit contract of every development decision"). Reaches M4 (validator-enforced) the first time:
- A feed-append validator rejects a STRAT post for naming work without naming the world-model entity affected, OR
- A Codex PR template auto-generates a "world-model fidelity" section that the seat fills tacitly without being prompted, OR
- An ORA filing template gates on world-model framing in PRIOR-DIAGNOSTIC
USER-VALUE-CLOSURE for this doctrine filing
- user: every developer working inside Camber (Codex / Claude / Gemini seats) + Chad as architect of the culture
- surface: every development surface — PR descriptions, ticket bodies, ORA filings, dispatch posts, boot banners, code review, schema design, naming, deprecation
- change: "world model" becomes the reflexive lens at every decision point inside Camber. Absence of the framing becomes noticeable. Explicit references decline as tacit-ness grows.
- closure_date: explicit phase — meta-doctrine + boot banner + memory file landed at filing time (this paragraph is the first dogfood). 5 mega-tickets as second dogfood batch within 24h. Tacit phase — measurable at ~3 weeks if Codex tickets begin scoping themselves through fidelity language without explicit reference.
First dogfood block (this paragraph dogfoods the doctrine)
This filing is itself a development decision inside Camber. The world-model entity it touches: "the contract that governs all future Camber development decisions." The fidelity it preserves: making explicit the upstream invariant that the existing doctrines were already serving but had not named. The map↔reality gap it closes: the gap between "the team is following user-value-closure / names-carry-contracts / Marquet 3-pillar" and "the team is doing world-model fidelity work, and those doctrines are the operationalizations." Surface that becomes more faithful: every future ORA filing, dispatch, PR, and ticket — the framing is now upstream of all of them.