Every page here is also a document. Use your browser's print or save-as-PDF and you get the same PDF that goes out by email, which is why these are laid out like sheets of paper.
EZO Content Pipeline · Pillar 2 · AI Draft · 2026-07-27
The draft is born inside the SOP, then scored by the machine
The real Hardware feature-page brief through the draft stage. The writer's job moves from typing the first draft to editing and judging it - her seat is outlined below.
● built + tested code path (113 tests)
◕ hand-executed today - drafter API call blocked on credits; the scores are real output from the check
◆ fed by the one SOP ruleset - change a rule once, drafter and rule checker both move
■ outlined panel = the writer's seat (Wed session)
◆ ONE RULESET, TWO CONSUMERS - the SOP page rules (pipeline/qa_gate/feature_page.py) become both the drafter's constraint sheet and the rule checker's 20 checks. No hand-copied numbers anywhere.
● 1 · Approved brief
Hardware Asset Discovery & Tracking - PMM-team structure, 30,777 chars. Leaves real choices open: 3 hero headings, 4 benefits H2s, per-block headline picks.
→
● 2 · Draftgen ◆
Constraint sheet built at call time from the rule checker's ruleset. Grounding: brief-only - no invented stats, names, or pricing; gaps become [NEEDS-SOURCE].
→
◕ 3 · Draft, born in structure
13 sections in SOP order. H1 = 40/40 chars, hero heading = 50/50, hero description = 229 (200-230). CTAs sentence case per SOP.
→
● 4 · QA check ◆
Deterministic - 20 checks, 0-100 + CRITICAL, PASS at 80. Scored this draft 95/100 in under a second, findings itemized.
→
5 · Writer's seat
Edit + judge, not first-type. Fix what the check flags, pick the headlines, run the voice pass, log what the machine got wrong.
The scorecard she receives (real output from the check)
95/100PASS · 19/20 checks passed
1 finding · 0 critical
[MEDIUM] stats-h2 - length 44, allowed 50-70. The brief never wrote a stats heading, so someone had to. That someone is the writer - this is exactly where her judgment enters.
| Element | Measured | SOP rule | |
| H1 | 40 chars | 20-40 | ✓ |
| Hero supporting heading | 50 chars | 40-50 | ✓ |
| Hero description | 229 chars | 200-230 | ✓ |
| Meta title | 57 chars | 50-60 | ✓ |
| Meta description | 152 chars | 145-160 | ✓ |
| Stats section H2 | 44 chars | 50-70 | ✗ |
How the score works: 20 checks, score = checks passed out of 20. PASS needs 80+ and zero CRITICAL findings. A missing required section is CRITICAL - it can never silently pass. Fix the one heading above and this page re-checks at 100.
Born in structure - 13 sections, SOP order
breadcrumbhero
trust badges 4stats 3
benefits 6 cardslogos [NEEDS-SOURCE]
mid CTAfeature detail 6 blocks
testimonials 3mid CTA 2
resources 5FAQs 10
final CTA
Every count lands inside its SOP range on first pass. Approved logos are not in the brief, so the machine refuses to invent them - the red chip is an honest hole for the content team, not filler.
Conflict surfaced, not smoothed over: the brief writes CTAs as TALK TO AN EXPERT; the SOP mandates sentence-case buttons. The machine follows the SOP ("Talk to an expert") and the conflict stays logged for a human ruling - the check flags, it never silently resolves.
Where her judgment enters - Wed session script
Role shift: the machine types the first draft inside the rules. The writer edits, chooses, and catches what rules cannot.
1Input - open the approved brief; see the choices it deliberately leaves to a writer.
2Constraints - the drafter is told the same character counts the rule checker enforces. She never memorizes the SOP table again.
3Generate - watch the draft appear already in SOP order, gaps marked [NEEDS-SOURCE].
4Scorecard - the check returns 95/100 with the stats-h2 finding itemized.
5Her pass - fix the flagged heading, pick the hero and benefits headlines, voice pass, re-check and watch the score move.
6Feedback loop - what she flags becomes a rule in the checker or a rubric criterion. Problems found get logged - Friday's deliverable.