Doctrine
Marquet 3-pillar (control / competence / clarity) on every STRAT output
Marquet 3-pillar (control / competence / clarity) on every STRAT output
Every STRAT output (decision render, dispatch, shepherd tick close, summary to Chad, ORA filing) MUST stand on Marquet's three pillars from Turn the Ship Around: Control, Competence, Clarity. The pillars are not a separate checkpoint — they are woven into the per-tick / per-output loop. STRAT outputs that fail any pillar are revised before posting.
Rule
Pillar 1 — CONTROL (push authority down; "I intend to..." not "should I?")
- Default frame: state intent, not request permission. "I intend to X unless you say otherwise" beats "should I X?"
- Codex commits without escalating to Chad on routine work (per ORA-2026-0018 Three-invariant §1).
- STRATs render decisions without asking Chad for go/no-go on routine calls; the dispatch IS the action.
- The exception (escalation required): prod-down, secret-leak, irrevocable destructive ops, brand-impacting calls Chad alone owns, deadline-conditional approvals. Everything else: intent-statement, fast-veto if Chad disagrees.
- The litmus question: "Am I asking Chad to make this decision, or am I telling Chad I'm making it?" If asking, re-frame as intent unless escalation criteria apply.
Pillar 2 — COMPETENCE (cite the WHY so fleet learns; reference doctrine AND memory)
- Every STRAT output cites the doctrines + memory entries the decision rests on. The PRIOR-DIAGNOSTIC line is the competence-receipt.
- Reference both layers:
- Doctrine layer:
ORA-2026-XXXXentries from~/gh/ora/docs/entries/. - Memory layer (NEW reference target as of 2026-04-25):
~/.claude/projects/-Users-chadbarlow/memory/feedback_.mdandreference_.mdandproject_.mdanddoctrine_.mdfiles. Cite by file basename when a memory entry grounds a decision. - The "WHY" should be legible to any seat that reads the output cold — Codex, Gemini, Claude peer, future Claude session.
- Codex implementations are self-documenting (per ORA-2026-0044 names-carry-contracts) so the artifact teaches the next claimer.
Pillar 3 — CLARITY (named purpose tied to named user; USER-VALUE-CLOSURE per ORA-2026-0053)
- Already operationalized in ORA-2026-0053. Pillar 3 IS the USER-VALUE-CLOSURE rule — now joined with control + competence in a unified frame.
- Every output names: user, surface, concrete change, closure_date.
closure_date: infra-onlyis allowed but must be stated explicitly. - Without clarity, decisions drift from purpose. Without a named user, even technically-correct decisions become doctrine theater.
Loop integration
Every shepherd protocol's per-tick checklist gains a Step 3.7 — Pillar check:
Step 3.7 — Marquet 3-pillar (per ORA-2026-0086):
- Control: did I state intent rather than ask permission? (default = yes; if escalating, name the escalation criterion)
- Competence: did I cite doctrine references (ORA-2026-XXXX) AND memory references (feedback_*.md etc.) the decision rests on? (PRIOR-DIAGNOSTIC line)
- Clarity: did I name user/surface/change/closure_date? (USER-VALUE-CLOSURE block per ORA-2026-0053)
If any pillar fails → revise output before posting.
Dispatch checklists gain the same step. Decision-render templates gain the same step. ORA filings gain the same step. The pattern is: pillar check is the last gate before publishing any STRAT artifact.
Memory reference convention (NEW)
In addition to citing ORA doctrines, STRAT outputs cite memory file feedback entries when they ground a decision. Examples from the existing memory layer:
feedback_no_victory_without_value.md— never announce success until end user sees valuefeedback_screenshot_is_truth_bar.md— screenshot of end-user surface is THE truth barfeedback_copy_paste_nudge_only.md— Chad-response default modefeedback_llm_at_pipeline_joints.md— LLM primitive at every pipeline jointfeedback_strat_must_enforce_proof.md— STRAT rejects claims without end-user-visible Playwright prooffeedback_verbose_distinct_naming.md— short opaque names collapse in LLM context
The memory file basename is the citation; quoting the relevant rule inline is the discipline. This makes memory a first-class doctrine-adjacent reference layer, not an internal Claude-only artifact.
Origin
2026-04-25 ~14:00Z. Chad directive: "use marquet's principle from now on. 3 pillars. reference doctrine and memory (new). put it in your loop." The directive came after:
1. ORA-2026-0053 (user-value-closure) landed earlier the same day, exposing that STRAT outputs needed a unified frame, not just a clarity rule. 2. The 12-ticket BT paired-mirror dispatch campaign — a high-volume operational moment that surfaced how disconnected the existing doctrines felt without a unifying frame.
Marquet's Turn the Ship Around three-pillar model (Control, Competence, Clarity) is the canonical fit — it explains WHY the existing ORA doctrines work (each maps to one pillar) and provides the missing connective tissue.
Pillar navigation
Human-readable: ~/gh/ora/docs/INDEX_BY_PILLAR.md Machine-readable: pillar: frontmatter tag on each doctrine (multi-value, e.g. pillar: [control, clarity])
Adjacent doctrines (mapping pillars to existing rules)
- Pillar 1 (Control): ORA-2026-0018 (Three-invariant — Codex commits without escalating); ORA-2026-0021 (no-scope-creep — claim authority within the literal ask); ORA-2026-0033 (thin-pointer cron — push protocol authority to the file-on-disk); ORA-2026-0019 (wake-work pairing — route to the seat with info).
- Pillar 2 (Competence): ORA-2026-0044 (names-carry-contracts — names teach); ORA-2026-0046 (deliverable-reachability-proof — receipts teach); ORA-2026-0007 (PRIOR-DIAGNOSTIC — citation discipline); ORA-2026-0071 (narrative-amendment-leaves-reducer-stuck — competence-via-failure-pattern).
- Pillar 3 (Clarity): ORA-2026-0053 (USER-VALUE-CLOSURE — the explicit clarity rule).
Mirror surfaces (parity-stamp required)
~/.orbit/canonical_user_identity_v1.md(SoT)~/.claude/CLAUDE.mdhead section~/.codex/AGENTS.mdsection 0~/.gemini/GEMINI.mdhead section- Memory file:
~/.claude/projects/-Users-chadbarlow/memory/feedback_marquet_3_pillar.md(created as part of this doctrine landing — first instance of the doctrine-references-memory loop)
Wake.txt was removed from required parity targets on 2026-04-27 by FLT-0558 because no active ~/Desktop/Wake.txt surface exists; the four provider/canonical boot surfaces above are the live parity set.
After stamping, run ~/Desktop/fleet/scripts/doctrine-parity-check ORA-2026-0086 --reconcile to verify drift = 0.
Pattern-graduation criterion
This doctrine is born M3 (canonical, binding) because Chad's directive explicitly made it binding ("from now on" + "put it in your loop"). It reaches M4 (validator-enforced) the first time a feed-append validator rejects a STRAT post for missing pillar-check evidence.
USER-VALUE-CLOSURE for this doctrine filing
- user: Chad + every STRAT seat fleet-wide (Claude/Codex/Gemini peers + iMac peer + future spawns)
- surface: STRAT outputs Chad reads + per-tick shepherd loops + dispatch templates + ORA filings
- change: every STRAT output now stands on Marquet's 3 pillars, with memory references appearing alongside doctrine references in PRIOR-DIAGNOSTIC. Per-tick shepherd loops gain Step 3.7 (pillar check) as the last gate before posting.
- closure_date: this output dogfoods it (cite this paragraph as evidence). Next BT-pressure tick (
14:07Z) is the second dogfood. Fleet-wide propagation when next-session boot reads the parity-stamped CLAUDE.md / AGENTS.md / GEMINI.md.