Writing articles
This is the step where a brief becomes an actual draft. It runs in the background, checks its own facts, and hands you something pre-audited to review — it never publishes anything on its own.
What happens when you click generate
Only an approved brief can generate an article (see Briefs). Clicking Generate article — or Approve & generate from a draft brief — does two things immediately: it schedules the writing pipeline to run in the background, and it swaps the page over to a live progress checklist. You don’t have to stay on the page; it keeps running and picks up where it left off when you come back.
Only one generation can run per brief at a time. Generating an article uses one article credit from your plan; if the run fails, that credit is refunded automatically and the brief reverts to approved so you can retry.
The six-step pipeline
Every generation runs through the same six steps, in this order, whether or not your project has an AI model connected. Where a step needs a model and none is configured — or a specific model call fails — it falls back to a deterministic, honest alternative rather than stopping the whole run.
Reading sources
Up to five URLs are fetched from the brief — its sources and citations to beat — and their readable text is pulled out. A source that fails to load is simply skipped; the step records how many of the requested URLs actually came back readable.
Drafting sections
The article is written one outline section at a time. With a model configured, each section is generated grounded strictly in the fetched sources — factual claims are attributed inline (“According to {domain}, …”) and source sentences are never copied or lightly paraphrased. If a section’s model call fails, or no model is configured at all, a deterministic template writer produces honest, non-fabricated prose instead, and the draft is marked simulated so you know it wasn’t AI-authored.
Assembling draft
The lead paragraph and every section are stitched into one document. If the brief is FAQ-leaning or has three or more unanswered questions, a “Frequently asked questions” block is appended for anything the outline didn’t already cover. A “Related reading” list is added from the brief’s internal-link suggestions.
Fact-checking claims
Every sentence that looks like a factual claim (it has a number, or a word like “percent,” “study,” “research,” “report,” or “survey”) is checked against the fetched sources. Claims a model can verify get attributed in place if they weren’t already; claims it can’t verify are flagged with a reason, and later surface as issues in the editor. Without a model, a lighter heuristic check verifies only claims that already name a source.
Checking similarity vs competitor pages
The draft and each fetched source are compared using overlapping five-word phrase matching. If the highest overlap with any one source passes 35%, the draft is flagged as too close to that competitor’s page — a signal to rework it, shown plainly once the draft lands.
Running pre-audit
The draft is saved as a real content item — status draft — and immediately run through the same audit engines used in the audit & editor. Any claim the fact-check step couldn’t verify is added on top as a critical accuracy issue at the exact sentence, up to five, each with a suggested safer rewrite.
What you see while it runs
The progress view polls for status roughly every second and shows each of the six steps as pending, running, done, or failed, with a short live detail underneath — for example “4 of 5 sources readable” or “12 claims checked · 2 unverified.” A simulated badge appears if any part of the run used the deterministic fallback instead of an actual model call, so a templated draft is never mistaken for model-authored prose.
If a run fails
The pipeline never leaves things half-done silently: a failed step marks the whole generation failed with an error message, and the brief goes back to approved so you can hit Retry. If a run is ever orphaned mid-step (a server restart, for example), it’s automatically detected and cleaned up the next time you open the brief, so the brief never gets stuck in a permanently “generating” state.
Landing pre-audited in the editor
Once the pipeline finishes, the brief becomes generated and you get a summary right on the brief page: the pre-audit score, how many claims came back unverified, and the highest competitor overlap percentage found in the similarity check. An Open in editor → button takes you straight into the Module 2 editor for that draft — already scored, with any unverified claims sitting as accuracy issues ready to accept, edit, or dismiss the same way you would on any other page.
Human review is mandatory
A generated draft is created with status draft and stays there — generation never publishes anything by itself. Drafts reach WordPress only through the normal publishing flow, as WordPress drafts, and only after a person has actually opened the piece in the editor and reviewed it. Treat the generated draft as a strong first pass grounded in real sources, not a finished, publish-ready article — the fact-check and similarity flags exist specifically to tell you where to look first.
Key takeaways
- Generating an article runs six fixed steps: reading sources, drafting sections, assembling the draft, fact-checking claims, checking similarity against competitor pages, and running a pre-audit.
- Section writing and fact-checking are grounded in the brief's own sources; when no AI model is available, a deterministic fallback writes honest prose and the draft is marked simulated.
- The draft lands in the Module 2 editor already scored, with unverified claims flagged as accuracy issues you review like any other audit finding.
- Nothing generated publishes automatically — drafts only reach WordPress as drafts, and only after a human opens and reviews them.
Next step
Once your draft is in the editor, work through it the same way you would any flagged page — see the audit & editor for how inline fixes work, then Publishing back to send it to WordPress as a draft.