brand-voice-enforce
Mechanical gate. Reads the foundation file at every invocation · derives rules · applies them · passes or fails the draft. Does not embed rule libraries.
When invoked
Before any client-facing artefact lands in the CEO batched-review queue.
What it does
- Read
ceo-foundation.mdsections relevant to the draft's brand + surface - Read
verification-gates.mdfor any gate state the draft references - Check the draft against:
- Universal taboos (foundation Phase 1 + global CEO standing orders)
- Brand-specific taboos (foundation Phase 3.X for the brand)
- Voice tag (foundation Q2.5.5)
- Phase 4 voice amendments
- Aid Rule (foundation Q3.1.1) on RestoreAssist drafts
- Verification-gate tagging (every quantitative claim ·
[placeholder]or[verified-DD/MM/YYYY]) - Cross-client boundary (foundation Phase 3.4) for CCW drafts
- Hook contract (first-line surfaces): the opening line passes the 6 hook-killer scan — no title-as-hook, greeting, or vague promise (rules owned by
senior-copywriterreferences/hook-craft.md; this gate references them, does not embed them)
- Return pass/fail with reasons quoted from foundation
Pass criteria
ALL universal + brand-specific + Phase 4 + verification rules clear. Single rule failure = REJECT with quoted offending string + foundation citation + recommended fix.
Hard rules (the only embedded ones)
- No caching of foundation rules. Every invocation re-reads.
- No gate flips. Drafts may reference gate state · never flip it (foundation-keeper owns flips).
- CEO override scoped to specific artefact.
[CEO override · rule X · reason Y]in metadata permits drift on that draft only. - Output object format:
{ gate_decision, reasons[], warnings[], verification_state[], recommended_revision }.
Versioning
v0.2 (2026-04-27): slimmed from v0.1 · embedded rule libraries removed · delegates to foundation file · token-load reduced ~80%.