Voice-Matched Generation — Model Routing for Drafts
Voice-matching is a configuration, not a prompt — and model routing is a cost decision you make once, not every run.
The Generation Problem
Once the sourcing layer produces a clean topic queue entry with raw content and metadata, the DRAFT stage faces the central challenge of content pipeline design: how do you produce 800–2200 words in Knox's voice, on a technical topic, from raw source material, consistently, without Knox writing any of it?
The answer is not a better prompt. It is a voice profile, a model routing decision, and a three-pass edit loop that catches the failures the first pass will inevitably produce.
The Voice Profile Architecture
Knox's voice profile is a structured configuration file (voice_profile.txt) loaded into Claude's system context at the start of every DRAFT stage run. It is not a prompt. It does not change between runs. It is not generated — it was authored once by Knox, refined over 40+ articles, and now lives as source code in the blog-autopilot repository.
The profile covers five dimensions:
The most important dimension is Structure: every article follows Problem → Evidence → Solution → Lesson. This is not a suggestion — it is a constraint. If Claude produces an introduction without stating a problem in the first paragraph, the self-review pass flags it as a structure violation and regenerates that section.
The voice profile also explicitly prohibits certain patterns: hedging phrases ("it might be worth considering"), passive voice without attribution ("it was decided that"), and jargon avoidance ("the AI system" instead of "Claude" or "Gemini"). These prohibitions are the difference between a voice profile and a style guide — they are enforced at runtime.
Model Routing for the DRAFT Stage
Not every content task requires Claude Sonnet. The routing decision is made once at architecture design time and encoded in the pipeline configuration:
| Task | Model | Rationale |
|---|---|---|
| Long-form analysis (>1200 words) | claude-sonnet-4-6 | Sustained coherence; reasoning quality over length |
| Short explainer (under 600 words) | claude-haiku-4-5 | Fast, cheap; quality sufficient at this length |
| Hero image prompt generation | Gemini Flash (current generation) | Multimodal + free tier; no quality loss |
| Transcript extraction/summary | Gemini Flash (current generation) | 1M context window; free AI Studio quota handles full transcripts (a paid Vertex endpoint adds minimal cost — confirm your access tier) |
The routing decision is not dynamic — it does not change based on model availability or pricing. It is a fixed configuration that reflects a deliberate quality-cost tradeoff. Changing the routing requires a code change and a deliberate decision, not an automatic adaptation.
The Three-Pass Draft Loop
Claude's first pass produces a draft that is technically correct but structurally imperfect on approximately 30% of runs. The three-pass edit loop catches these failures without requiring Knox to read every draft:
Pass 1 — Generation. Claude receives the topic record, source content, and voice profile. It produces a full draft with frontmatter. The word count is checked. If below 800, the pass fails and the stage alerts.
Pass 2 — Self-review. Claude receives the draft it just produced and a voice checklist. It evaluates the draft against each checklist criterion and identifies violations. For each violation, it rewrites the offending section. The rewrite is targeted — it does not regenerate the entire article.
Pass 3 (optional) — Knox review. For articles on sensitive topics, novel frameworks, or anything with specific factual claims, Knox reviews the excerpt and first paragraph before the PUBLISH stage runs. This is not a full read — it is a 90-second scan that catches the failures the first two passes miss.
The Draft Quality Gate
Before passing to the IMAGE stage, the draft must pass a five-check quality gate:
The most consequential gate is the ecosystem backlink check. Every article published from Knox's properties must link to at least one sister property (indecision.io, tesseractintelligence.io, rewiredminds.io, architectofwar.io). If the backlink is missing, Claude injects it — the DRAFT stage never fails for a missing backlink, but it never passes one through either.
This is the difference between a hard gate and a soft gate. Hard gates (word count, frontmatter validity, no hallucinated URLs) stop the pipeline. Soft gates (ecosystem backlinks, voice checklist) auto-remediate. Both are quality enforcement — the distinction is whether remediation is possible without human input.
Why Voice Profiles Compound
The compounding value of a voice profile is not obvious at article 5. It becomes obvious at article 50.
By article 50, Knox has made 15–20 small corrections to the voice profile based on cases where the output diverged from his voice. Each correction is permanent — it applies to every future article. By article 50, the voice profile has absorbed enough edge cases that the deviation rate on the first pass has dropped from 30% to under 10%.
This is the compound learning mechanism applied to content generation: the voice profile is a living document that improves with every correction. A pipeline without a voice profile has no mechanism for this compounding — each article's quality depends entirely on the current prompt, with no memory of past improvements.
The voice profile is infrastructure, not content. It is the configuration layer that makes consistent voice-matched generation possible at scale. Write it before you write the first article. Treat corrections to it as engineering work, not creative work. The pipeline that runs 156 articles is not the one Knox built for article 1 — it is the one he refined over 155 corrections.