brief.md voice overrides — banned phrases, required elements, channel limits
Voice rules in brief.md are operator-level by default and overridden per brand. Each brand can extend the operator's banned phrases, add required pitch elements, and set channel-specific limits without rewriting the operator-wide voice rules.
Operators running multi-brand portfolios need each brand to keep its own voice without managing N separate voice-rule systems.
Voice inheritance model
Voice rules cascade: operator-wide rules apply by default; per-brand `Voice Overrides` extend or override specific rules. A banned phrase added at the brand level is added on top of the operator banned-phrase list, not in place of it. A required element added at the brand level applies in addition to operator-wide required elements. Channel limits override operator defaults entirely.
Three override categories
`Additional banned phrases` — phrases that fail this brand's voice validator even if they pass at the operator level. PRAPI's brand-brief bans "platform" (overused), "AI tool" (PRAPI is a system), "press release distribution" (PRAPI does not distribute), and "substrate" (retired prior positioning). `Additional required elements` — elements every output must contain at this brand. PRAPI requires `pitch: brief_md_attribution` so every pitch carries the brief reference. `Channel limits override` — channel-specific length or tone rules different from operator defaults.
How the validator runs
PRAPI's voice validator runs on every draft. It checks the brand's composed voice rules (operator inherited + brand overrides), flags banned phrases with line numbers, verifies required elements are present, and validates channel-specific length limits. The validator runs structurally — no LLM-based "vibe check" — so the same input produces the same output deterministically.
Versioning voice rules
Voice rules ship with the brief.md spec version (`spec_version: 0.1.0`). Brand-level voice overrides are typed as part of the brand's `brand_version`. When a brand updates its voice rules, the brand_version bumps; downstream consumers (PRAPI, AI agents) compare brand_version against their cached state and refresh.
PRAPI's brand-brief defines four banned phrases (substrate, AI tool, platform, press release distribution) and one required element (brief_md_attribution on every pitch). Operator-wide rules add ~30 more banned phrases and required elements that apply by default.
FAQ
How are voice overrides different from operator voice rules?
Operator voice rules are the default applied to every brand. Brand-level overrides extend or replace specific rules. Banned phrases extend (added on top); required elements extend; channel limits override (replace).
Can a brand allow a phrase the operator banned?
No, by design. The override system is additive on banned phrases — you cannot un-ban operator-banned phrases at the brand level. This is a guardrail; if a brand needs different voice fundamentally, the operator-level rules need updating, not the brand override.
How does the voice validator score a draft?
The validator returns a structured object: passing/failing per rule, line numbers for banned-phrase hits, missing required elements, channel-limit overruns. PRAPI surfaces the result in the Pitch Composer with banned-phrase highlighting + a 0-100 voice score per draft.
Does the validator use LLMs?
No, by design. The validator is structural — string matching for banned phrases, presence checks for required elements, length checks for channel limits. Deterministic. LLM-based "vibe checks" produce inconsistent results; structural validation is reproducible.
Run brief.md in PRAPI.
PRAPI is the canonical brief.md implementation. Every brand in your portfolio gets its own brief.md, voice-validated drafts on every pitch, and Git-canonical authoring.
Sign in →