Draftwave's quality gate is a two-stage system — fast deterministic checks first, then an LLM-as-judge score constrained by hard floors — and the decision to pass or reject lives in code, not in the model. That's the single design choice that separates a content engine from a spam generator: nothing generic, thin, or risky reaches your site, because the gate can say no.
What does the quality gate actually check?
Stage one is deterministic and runs for free before we spend a single judge token. It rejects or flags a draft that fails any structural rule: exactly one H1 and at least three H2s, length within 25% of the brief (and never under 600 words), a meta title under 60 characters, valid JSON-LD, an FAQ block of 3–8 questions with 50–150-word answers, the primary keyword present but under 2% density, at least two resolving internal links, and a de-duplication check against your existing articles.
Only drafts that clear stage one are worth judging.
How does the LLM-as-judge score content?
Stage two scores the draft 1–5 on eight criteria: helpfulness, depth, originality, accuracy risk, readability, AEO structure, voice match, and unique value present. We run the judge on a different model family than the drafter, which measurably reduces self-preference bias. In 2026 an LLM judge agrees with human reviewers about 85% of the time — higher than two humans agree with each other — but it still has verbosity and self-preference biases, so we constrain it with a rubric and back it with hard rules.
Why can a high-scoring draft still fail?
Because hard floors override the average. A draft can average 4.5 out of 5 and still be rejected if unique value present scores a 1. The same is true for accuracy risk and AEO structure — each has a non-negotiable floor of 3. This is the anti-generic rule, and it's the reason Draftwave won't ship content that merely restates what already ranks.
Drafts that clear the floors but land in a middle band trigger exactly one bounded auto-retry of the edit step, with the judge's suggested fixes injected. If it still doesn't pass, it goes to a human as needs_attention rather than publishing.
Key takeaways
- The gate is two stages: deterministic checks, then a constrained LLM-as-judge.
- The model advises; code decides — the pass/reject logic is deterministic.
- Hard floors on unique value, accuracy risk, and AEO structure override the average score.
- Passing the gate means
pending_review, never auto-published — publishing is a separate human action.