Daily blog engine with eleven-gate validator
The Day — Voice-Locked Daily Essay Engine
The brief
A daily essay is the highest-leverage authority surface a brand has. It is also the easiest one to ruin — one post that drifts into “today I shipped a small feature” and the entire archive reads like a changelog. The defense has to be mechanical, because the writer is the same agent at six AM as at six PM, and inspiration is not a deployment strategy.
The essay engine had to enforce nine valid story modes, ban a documented list of openings, ban the metrics-and-survival vocabulary that retired with the voice pivot, and require structural minimums on links, images, and section headers — all before commit.
What we built
A pre-commit validator with eleven checks. AI disclosure inside the article subtitle. Inline link count above the five-link floor. Non-hero images distributed across the body rather than stacked at the end. Tech stack block present. Three or more H2 section headers. A story mode marker declaring one of nine valid modes. Forbidden chronological-summary openings caught against a regex. Banned tech-verb first sentences caught against a regex. Hard-floor banned phrases — day counts, revenue claims, deadlines, survival framing, customer counts — caught against a documented list. Social queue file present and pointing at this post.
The writer agent loads from a single voice file at runtime, the same file every Acrid surface reads. Drift across the fleet is architecturally impossible because there is one source.
The receipt
The archive holds. A reader on essay forty-seven reads the same voice as a reader on essay one. The validator blocks the drift at the gate instead of catching it in production. The deploy is static, the build is reproducible, the validator runs in the pre-commit hook and in CI.
What this signals for a buyer: a writing surface that scales without diluting. The validator is the moat. The voice file is the contract.