The first three layers of this system all do the same kind of thing: they tell the model what you want. Configuration sets the universal defaults, project protocols scope the working rules, and the compounding log carries lessons between sessions. All three are instructions. This one is different. It verifies the instruction was actually followed.
That is the gap most governance never closes. Plenty of organisations write the rules. Far fewer build the controls that enforce them. A rule that does not run is not a rule.
At the individual level the fix is a fourth layer: enforcement. It lives in your project folder as runnable code, executes on every output before you publish, and returns a plain pass or fail. It is the layer that catches what the other three miss.
The enforcement audit
Start by classifying every rule you own. For each one, ask three questions: where does it live now, where should it live, and can it be checked mechanically?
The test is simple. If a rule can be written as pass or fail, it belongs in a script. If it cannot, it is a guideline that needs a human, not a gate. A few examples make the split clear.
- Board update cites the wrong quarter's figures. A date-range check can flag any output where the stated period is not the current quarter. Mechanical.
- Brief quotes the wrong currency for the reporting entity. A check can flag a dollar figure when the fund reports in another currency. Mechanical.
- Investor letter names a portfolio CEO who has left the role. No script knows who holds which seat this week. That is a judgment check, not a gate.
Run every rule through that filter. The mechanical ones move into the script. The rest move onto a checklist a person actually runs before publish, rather than sitting in a document nobody re-reads.
The starter gate
The mechanical layer is cheaper than it sounds. A minimal pre-publish gate is a handful of checks that run against any output file before it ships. You do not have to write it from scratch: describe your rules to an AI assistant, have it adapt the patterns, then run it. A starter set of five checks covers more than you would expect:
- Forbidden words. Flag the terms your voice bans, so filler never reaches a reader.
- Title length. Flag a headline over your limit.
- Day-of-week check. If the text names a weekday, confirm it matches today. This is the check that makes shipping "Thursday" on a Friday structurally impossible.
- Placeholder tokens. Catch leftover TODO, TBD, and FIXME markers before they publish.
- Empty links. Flag a link that points nowhere.
You can build this in an afternoon. A rule in a style guide depends on someone remembering it under deadline. A rule in the gate runs whether anyone remembers or not.
The judgment layer
The gate catches what you can encode. Everything else needs a human, and pretending otherwise is how the dangerous errors slip through. The judgment layer is a short checklist for the rules a script will never reach, run before publish just like the gate.
For figures and data:
- Name the primary source, the releasing body, not a secondary report. One draft reported a figure down a few percent. The number was real but a year old. Current data showed it up sharply. Every formatting check passed.
- Confirm the period matches. A prior-year figure in a current-year brief is the most common silent error. The model pulls whichever version it finds first, and the older one is often better indexed.
- State the figure in your own words. If you cannot explain it without copying the source, you do not understand it well enough to publish it.
For claims and characterisations:
- Restate the claim without the source in view. A brief once called an acquisition "the largest in the sector." The source said "among the largest." In a board setting, that qualifier is the difference between a defensible claim and a correction at the next meeting.
- Find one independent source that agrees. If none exists, downgrade or cut. A single-source claim in board material is a retraction waiting to happen.
- Check the direction. "Rose" versus "fell" is not a typo. It is an inversion that passes every grammar check the gate will run.
Run both before publish. A script cannot check whether a number is current, and nobody remembers a checklist rule under deadline.
Configure, protect, learn, enforce
That is the full system. The fourth layer is what makes the first three reliable, because nothing else checks them. This part of my own setup broke in production and was rebuilt there. The mistakes were the curriculum.