Drift doesn't hit variant one. It hits variant nine.
Ask a model for one Windrow subject line with the voice pack in the prompt and you'll usually get something decent. Ask for twelve and watch what happens across the batch: variant one is clean, variant four picks up an exclamation point, variant nine opens with "Unleash." The pack didn't fall out of the prompt — the model is being pulled, token by token, toward the center of everything it was ever trained on. And the center of all marketing copy ever written is exactly the sludge your banned list exists to stop.
This is why "I put the brand voice in the prompt" is necessary but nowhere near sufficient. The prompt moves the average of the batch toward Windrow. It does not guarantee any individual variant, and you ship individuals, not averages. A stray violation or two slipping through the batch is exactly what prompt-only enforcement leaves you holding — and those strays are exactly what the client forwards back with "??" in the subject line.
So the pack gets its second job. Run the editor: check_variant() reads the same dict that briefed the model and audits each variant coming back. Banned phrases via lowercase substring match. Exclamations, if the pack forbids them. And the sentence ceiling — note it checks the longest sentence with max(), not the average. A variant that averages fine can still hide one 22-word run-on, and averages are where run-ons go to hide.
First variant: three violations, itemized. Second: clean, and the empty list is the point — an empty list is what "on-voice" looks like when it's a fact instead of a feeling. You can put an empty list in an email to a client. Try doing that with a feeling.
One thing this check deliberately doesn't do: judge whether the line is good. "890 grams. Nothing you won't use." passes the gate and might still be the weakest of the twelve — that call stays with you, and no client is paying for a copywriter who outsources it. The gate's job is narrower and dumber: make sure nothing you didn't choose ships by accident. Dumb checks, run every time, catch what tired eyes miss on variant nine.