Every onboarding call starts the same way. We ask a team to describe how they sound, and we get adjectives. Warm. Confident. Human, not corporate. Then we feed that to a model and get back something that is none of those things.
Adjectives are not instructions
A word like "confident" is a judgement about a finished piece, not a rule for producing one. Two writers given the same adjective produce very different work, and they resolve the ambiguity using everything they know about the company that was never written down. A model has none of that.
What actually moves output is the concrete stuff underneath the adjective. Sentence length. Whether you open with a claim or a question. Whether you are allowed to use the word "leverage". Those are checkable, and a model can follow them.
What a voice spec contains
We replaced the adjective list with a written spec. It reads less like a brand book and more like a style guide with teeth, because every line in it has to be something a draft can be measured against.
- Banned constructions, with the reason attached so nobody re-adds them later
- Three worked examples per channel: a good one, a near miss, and why the near miss fails
- A stance on the contested things — contractions, first person, em dashes, exclamation marks
- A short list of words you own and words you refuse
Diffing against what you already shipped
The spec is only half of it. The other half is your last fifty published pieces, which encode a lot of voice that nobody ever articulated. We diff a draft against that corpus and surface where it drifts, which catches the cases the spec did not anticipate.
This is also how we avoid the spec going stale. When the corpus and the spec disagree, that is a prompt to update one of them, and it is usually the spec.
What changed
Off-brand drafts, measured as drafts a human edited for tone rather than facts, dropped by about two thirds. The remaining third are mostly cases where the team itself disagrees about the voice, which is a useful thing to surface and not a modelling problem.