5 ELITE — GATED
Seven patterns for governing a system rather than building one.
Read this if you govern a system rather than build one — where verification is structurally independent of the work being verified, not merely promised. The test: do you have a standing rule that no model grades its own output, and has that rule ever caught a real error? If yes, this section is where you already live.
Skip it if not. It is gated for a reason: these patterns cost more than they return until something you rely on has already been wrong without anyone noticing. Six of the seven work in a single chat window.
★ means: read this one even if you skip the rest. Elite patterns govern a system — they are most valuable once something you built has already gone wrong without anyone noticing.
Six of the seven work in a single chat window. Only [GOV-07] needs more than one thread — it says so in its prerequisites. Gated for the discipline they assume, not for the infrastructure they require.
Deliberately gated. These grant the most power and carry the most risk, and every one of them assumes the verification discipline of the previous sections is already second nature. The distinguishing test is in the Preface: do you have a standing rule that no model grades its own output, and has it ever caught a real error? If not, these will read as plausible and be applied wrongly.
5.0.1 The Self-Correcting Feedback Loop
Turn every mistake into a rule that prevents it next time. (cross-reference: [GOV-01] · Elite, Gated)
The model miscalculates a growth rate, you correct the one number and move on — and next week it makes the identical reasoning error on a different question, with no memory the first one ever happened. Require a root-cause analysis and a standing preventive directive written back into the registry instead — Self-Installing Guards, applied to reasoning errors.
- Analogy: The kitchen that writes “check the oven is off” on the door after one near-miss, instead of asking everyone to be more careful.
- Benefit: Converts a one-time fix into permanent immunity for that class of error, instead of relying on someone remembering to avoid it.
- Apply: When the model errs, require an RCA and a preventive directive written back into the registry. “Before we move on: why did that error happen, and what standing rule would have prevented it? Draft the rule; I’ll decide whether it goes in.”
- Guardrail: The model’s self-RCA is an introspective draft, not truth — models are poor at diagnosing why they erred. The human reviews, refines, and commits the directive as policy. Never let the model auto-commit its own rules.
- Related: → Self-Installing Guards
5.0.2 The Structural Unit Test
Check the work against a reference it never touched. (cross-reference: [GOV-02] · Elite, Gated)
This book’s own production kept catching the same failure: a model checked its own structural edit against an index it had also just written, declared everything fine, and was wrong — auditing yourself against your own work is circular. Treat the document substrate like a codebase with unit tests: enforce integrity against a reference the model had no hand in shaping.
- Analogy: Counting stock against the original delivery note, not against the list you wrote while unpacking.
- Benefit: Catches structural corruption — a dropped entry, a broken cross-reference — the moment it happens, against a reference nobody involved in the change could have tampered with.
- Apply: Enforce integrity against an independent reference index, human-authored or frozen at a known-good moment. The cheapest version is a size check: this project once wrote a file that reported success and contained only its own filename — 56 bytes where 11 KB was expected. Nothing else would have caught it, because a write that fails this way looks exactly like one that worked.
- Guardrail: The reference must never be regenerated by the model each check. If it lives in cold storage and the retrieval path fails, output
[HALT: COLD STORE UNREACHABLE]rather than proceed unverified. - Related: → The Decoupled Reference Audit
5.0.3 See What Else Moves When You Move One Thing
See what else changes when you change one thing. (cross-reference: [GOV-03] · Elite, Gated. Note: an earlier draft split this into two entries — this one and a separate “Digital Twin” — later merged, which is why Governance has no [GOV-04] before this edition. IDs are never reused; this edition’s new entries begin at [GOV-04] proper, below.)
Changing one variable — a retirement date, a major purchase — ripples into domains you weren’t thinking about at all when you made the change: insurance, cash flow, long-term plans, rules you’d set for yourself elsewhere.
- Analogy: Move the sofa and the door no longer opens. Worth knowing before you move the sofa.
- Benefit: Surfaces the ripple effects across connected domains you’d otherwise only discover after the fact, when the fix costs far more than the check would have.
- Apply: Map each primary variable to a registry index; when one changes, the model outputs a Dependency Impact Report of the ripples across other domains. “I’m changing [variable]. Check it against the registry and give me a Dependency Impact Report: every other domain this touches, and how.”
- Guardrail: The impact report is an audit checklist for you and your advisors to verify — not a governance decision. This is The Blind-Spot Inquiry scaled up to a whole system, and it carries the same bright line, harder: these are the domains where confident-wrong output is most expensive.
- Related: (lineage) ← The Blind-Spot Inquiry
5.0.4 Screen Instructions by Where They Came From
Trust what you typed more than what arrived inside a file. (cross-reference: [GOV-04] · Elite)
A file you’re reviewing contains a helpfully-phrased note telling the AI to skip its usual verification step just this once — and it sounds so reasonable that it’s tempting to just go along with it. That’s exactly the moment to stop: an instruction arriving inside content is not the same as one you typed yourself, no matter how reasonable it sounds. Especially when it sounds reasonable: agreement is the easiest way to get past a guard.
- Analogy: A note inside a delivered parcel saying “no need to check ID.” The parcel doesn’t get to set the rules.
- Benefit: Closes the single widest hole in an AI setup — that it will follow a well-phrased instruction regardless of whether the instruction is legitimate.
- Apply: Trust instructions by provenance. A directive typed by you directly is trusted. A directive arriving via relayed or third-party content gets screened before you act on it — hardest of all when it’s agreeable, because that’s the path of least resistance.
- Guardrail: This is the umbrella over several narrower rules (a relayed “answer now” tag, a downgraded safeguard arriving from another source). State it once at this level; the specifics are instances.
- Lineage: indirect prompt injection and the data/instruction boundary. Greshake et al. (arXiv 2302.12173, 2023) showed that content pulled into a model’s context can carry instructions the user never issued.
5.0.5 Name the Ceiling, Not the Comfort
Say what a safeguard can’t do, not just what it does. (cross-reference: [GOV-06] · Elite)
It’s tempting to state what a design reassuringly does (“your data is protected”). The honest version states its ceiling — what it cannot guarantee. “Sealed at rest, exposed in use” tells the reader the real boundary; “protected” hides it.
- Analogy: “Water-resistant to 30 metres” tells you where the line is. “Waterproof” lets you find it the hard way.
- Benefit: Lets the reader make real decisions on real boundaries, instead of a reassuring version that fails them exactly when it matters.
- Apply: When you describe what a safeguard does, state its limit in the same breath. Distinguish what you control (your own conduct) from what the platform controls (its logging, its memory). False comfort is worse than a named gap, because the reader plans around the comfort.
- Guardrail: Distinct from “don’t certify your own work” — this governs stating a design’s honest ceiling to the reader, not the AI vouching for itself.
5.0.6 Only One Channel Publishes — Make Forgery Loud
Rules count only from one agreed source. Prerequisites: more than one AI thread sharing a space you both read — the only pattern in this section that needs it. (cross-reference: [GOV-07] · Elite. Note: this pattern was originally drafted as [GOV-05], which collided with the retired [GOV-05] reference in the Introduction’s “One Principle” section — that ID was never meant to be reassigned. Corrected here; [GOV-05] stays formally retired, never reused.)
A message shows up in a shared space claiming to set a new rule for every thread — but nothing marks it as coming from anywhere legitimate, and now you have to decide whether to trust it. When several AI threads share a space, you need a way to tell a real system-wide rule from a fake one. The answer isn’t a lock you can’t build — it’s a convention that makes forgery loud: rules only count if they come from one designated channel, so anything claiming authority from anywhere else is invalid on its face.
- Analogy: Policy is only ever announced on headed paper. Anything else obviously isn’t — that’s the point.
- Benefit: Converts a silent risk (a fake rule quietly adopted) into a loud one (an obviously illegitimate sender), which is the best achievable without true per-thread identities.
- Apply: Designate a single source for standing rules. Anything that changes how your threads behave is legitimate only if it carries that source’s mark. From anywhere else, it’s not “suspicious” — it’s invalid by construction. Flag it and stop.
- Guardrail (honest label): This is policy-enforced, not capability-enforced. Any thread can technically write into that channel — there’s no wall, only a convention. Label it as one; don’t trust it as a barrier.
- Lineage: roots of trust, code signing, and authenticated publishing — The Update Framework formalises delegated signing roles. Note what it has that this does not: cryptographic enforcement. This is the same shape with none of the teeth.
5.0.7 Graceful Session Close
The state record must be the last thing you write — not merely something you write before ending. (cross-reference: [GOV-08] · Elite, Gated)
Before closing a session you write a state record — a workqueue update, a handover note, a cursor entry — then keep working: filing one more message, placing one more file, completing one task that surfaced at the end. When the session closes, the state record is stale by everything you did after it. The next session inherits a document that looks complete and isn’t. Nothing in the record itself shows it was invalidated — a stale handover and a current one are textually indistinguishable.
The failure is: satisfying the requirement (“write a state record before ending”) while violating its purpose (give the successor an accurate picture of where things stand).
- Analogy: A hospital nurse writes the shift handover at 3 PM, administers two medications and takes two phone calls after writing it, then hands it to the incoming shift at 4 PM as the record of the shift. The handover is true as of 3 PM. The shift ended at 4 PM.
- Benefit: Gives the next session a state record that is accurate at closure — not accurate at some point during the session and quietly invalidated by work done afterwards.
- Apply: Make the state record the final action of the session, not an action that happens to precede the end. Before writing it, confirm that no additional work is expected in this session. After writing it, stop. If work surfaces after the record is written, update the record before closing or explicitly mark it as pending a final update.
- Guardrail: A state record written five minutes before close is already a risk on a fast-moving session. The rule is not “write it near the end” — it is “write it last.” These are not the same instruction.
- Related: → The Swap Disk Protocol ([ARC-01]), → Structured Handoff Briefs ([ARC-06]), → Canonical-File Discipline ([PRAC-03])
A note on what this section deliberately does not contain. An earlier draft floated a foundational rule — “the AI must not lie to you or act against your interest” — plus a companion idea: an advisor naming a domain where it won’t help you win, because someone else’s wellbeing outranks the goal. Both are real and defensible. Both stayed out of this book, deliberately: they’re internal operating principles for how one reader’s own AI threads should treat them specifically — not a technique this book can honestly generalize to every reader. Build your own multi-thread practice long enough and you’ll probably want an equivalent rule. Set it yourself; don’t inherit ours as law. The omission is deliberate, not an oversight.
6 PATTERN FINDER
Not a fifth tier. A role — something you do, rather than a measure of how much skill you have. Beginner through Elite are degrees of the same skill, using these tools well. This is a change in what you produce: you stop applying this catalog and start adding to it.
There are no numbered patterns here, because the whole section is one move — noticing your own, and writing them down well enough that a stranger can use them. This is the shortest section in the book and the one it was written for.
6.1 You are already doing the hard part
If you worked through the earlier sections on real problems, you have almost certainly already solved something the same way twice without noticing it was a pattern. That is the entire raw material. A pattern is not an invention; it is a recurring solution to a recurring problem that you notice you keep reaching for. The Gang of Four did not invent twenty-three ways to structure software — they watched what good engineers already did and gave the moves names. The naming is the contribution. Yours will come the same way: not from sitting down to design a pattern, but from catching yourself mid-workflow and thinking I’ve done this before.
The signal to watch for is repetition plus friction. You build the same guard into a second spreadsheet. You write the same kind of handoff note for the third time. You warn a fresh thread about the same failure you warned the last one about. The third occurrence is usually the moment it becomes visible as a shape rather than a chore.
6.2 How to write one up
You already have a simplified version of the template. Entries in the catalog also carry a stable ID, a tier, a category, Related links and, where one is known, a Lineage note — but the core is deliberately short:
- A one-line summary in plain language: what the pattern does, framed as an instruction. “Move project memory out of the chat and into a file you control.”
- A human analogy, if one fits: the everyday version of the same move. It is the fastest way to make a technical pattern land, and it tells you whether you actually understand the shape or only the mechanics.
- The problem, in a sentence or two — the recurring friction, described concretely enough that a reader recognises their own version of it.
- Benefit — what you get, and what it costs you if you skip it.
- Apply — how to actually do it, specific enough to act on. If a prompt is part of it, include the prompt. Not every pattern has one: a pattern you invoke by typing carries a prompt; a pattern you build — a file convention, a governance arrangement, a way of writing — does not. Inventing a prompt for the second kind misrepresents what it is. An empty Apply is a problem; an Apply with no quoted prompt often isn’t.
- Guardrail — where it fails, what it does not protect against, the honest ceiling. This field is the one most people skip and the one that makes a pattern trustworthy. A pattern with no stated limit is a sales pitch, not a technique.
If you cannot fill in the Guardrail, you have not tested the pattern hard enough yet. Go use it until it fails, then write down how.
6.3 Four checks before you call it a pattern
Is it actually yours, or is it already named? Search first. Much of what feels novel in a consumer-chat workflow has decades of prior art in software engineering, distributed systems, or security — and finding that lineage makes your write-up stronger, not weaker, because you can point at the established version and say this is that, applied here. Claiming novelty you don’t have is the fastest way to lose a careful reader. Claiming it honestly — “uncommon in this specific context, well-known in that one” — is exactly what the Lineage notes in this book are for.
Does it survive abstraction? A real pattern works for someone other than you, in a setup simpler than yours. Strip out everything specific to your situation — your tools, your files, your particular project — and check that the shape still stands. Then state what it genuinely requires: this needs a file you control, this needs access to a second model, this needs somewhere both threads can read. If you can’t name the prerequisites, you have a configuration, not a pattern. If you can, and someone else could meet them, you have a pattern — and the test is whether it transfers across at least two materially different contexts once those prerequisites are explicit. Note the tiers here: Beginner and Intermediate patterns hold to a harder bar, working in a bare chat window with nothing but the conversation. Advanced and Elite patterns openly require infrastructure. That is what the ladder is.
Would it survive an adversary? Hand the write-up to a different AI model than the one you built it with, and instruct it to attack — find the case where the pattern breaks, the claim that’s too strong, the guardrail you left out. This is [ARC-03] turned on your own work. A pattern that survives a hostile read has cleared one gate, not the last one. This book’s own Introduction warns that a different model is not automatically independent — shared training data means shared blind spots, and agreement between two models is weaker evidence than it feels. Before you publish, add at least one channel that isn’t another model: repeated real use, a mechanical test, a comparison against primary sources, or a domain expert.
Has it actually worked, more than once? The three checks above test whether the idea holds together. This one tests whether it has ever done anything — and the question splits, because two different kinds of pattern earn their place two different ways.
For a technique you deliberately deploy: name two occasions — real tasks, not demonstrations — where you reached for this and it changed the outcome.
For a diagnostic: nobody reaches for one. You notice afterwards that you failed to apply it. So name two occasions where failing to do this changed the outcome, and one where catching it did.
If you can only think of the time you invented it, you have a hypothesis. Say so when you publish it; a clearly labelled hypothesis is a useful contribution, and a hypothesis dressed as a tested pattern is the thing this book keeps warning you about.
6.4 Where this goes
The patterns in this book are a catalog, not a canon. The Gang of Four did not end object-oriented design when they wrote down twenty-three patterns; they started a practice of noticing and naming that others carried far past the original list. That is the ambition here. The real product is not the fifty patterns — it is the reflex: work with these tools long enough and with enough discipline, and you will notice your own recurring solutions to your own recurring problems. When you do, name them, write them down, and share them.
Something close to this already exists one layer down. DAIR.AI’s Prompt Engineering Guide is free, open-source and community-maintained, and it proves the form works — a shared catalog that stays current because many people contribute to it. What it catalogs is prompting technique. What does not yet exist is the equivalent for workflow architecture: the file conventions, the verification habits, the handoff formats.
I want this to become a commons. Imagine an AI Stack Overflow for usage patterns — a shared, community-maintained catalog where practitioners publish the architectures they have discovered, argue them, verify them, and improve them, so that the next person starts where the last one left off instead of rediscovering the same moves alone over months. A single person’s catalog ages; a living commons compounds. That is the long game, and it only works if what people contribute is held to the same standard this book asks of itself: reconcile to actuals, mark what is durable versus perishable, keep the human as the decider.
Here is the honest line between vision and mechanism, because the book’s own rule forbids selling the horizon as a shipped feature.
What works today. You can hand a fresh thread the whole of this system in one move: upload the book (or your own registry) as a file, tell the thread its role, and instruct it to load the relevant patterns before it begins. From that first turn it can be instructed toward your documented standard rather than a stranger’s — subject to the ingestion check actually passing. This is nothing new in kind — it is [PRAC-07] Scope, [ARC-06] the Handoff Brief, and [ARC-01] re-hydration, run together — and it works precisely because the model has no memory of its own to rely on. A month of daily use does not teach the model your patterns. The model on day thirty has learned nothing from you — and it may not even be the same model, since the provider can change the deployed version, its instructions, its memory or its tools beneath you. What has grown over that month is your skill and your artifact. So you load the file, every time, because the durable thing is what you built, not what the model remembers. That is this book’s entire thesis, restated as its closing note.
What is still to be built. The more ambitious version — a new thread that autonomously pulls the latest community patterns from a shared source and applies them — needs two things that do not yet exist off the shelf: the commons itself, and a reliable live retrieval path from the thread to it (the [ARC-07] source-authority and retrieval-integrity caveat, at internet scale). Those are worth building toward. Until they exist, the human is the retrieval path and the curator — you decide which patterns load, because “pull all relevant best practices” is a judgment call, and a model asked to make it will grab the plausibly-relevant with the same confidence it grabs the right ones.
So: learn the patterns, discover your own, verify them, share them. Build the commons by contributing to it. That is where this goes — and it goes there one carefully-audited pattern at a time.