Pipeline Stage Reference
Complete reference for all 10 pipeline stages. For a conceptual overview, see Understanding the 10-Stage Pipeline.
Stage 1 — Topic Refinement
Stage name (config key): topic_refinement
Agent: Topic Refiner
Core: Yes — cannot be disabled
| File |
Required |
Description |
brief.md |
Yes |
The topic brief entered by the user when creating the project |
| Identity memory |
Auto-injected |
Voice, style guide, author bio from identity/ |
| Topic memory |
Auto-injected |
Relevant topic files from topics/ |
Output
| File |
Description |
topic_brief.md |
Refined topic: angle, audience, key questions, constraints, tone notes |
Configuration
pipeline:
topic_refinement:
provider: fast # LLM provider name from global config
iterations: 2 # max iteration passes
# enabled: true — this is a core stage and cannot be disabled
Notes
- The
topic_brief.md is the single most important artifact in the pipeline. Every downstream agent reads it.
- Review and edit
topic_brief.md before proceeding if the angle or audience is not what you intended.
- Increasing
iterations gives the agent more passes to refine its output — useful for complex or ambiguous topics.
Stage 2 — Research
Stage name (config key): research
Agent: Researcher
Core: No
| File |
Required |
Description |
topic_brief.md |
Yes |
The refined topic brief |
| Identity memory |
Auto-injected |
Voice and context |
| Topic memory |
Auto-injected |
Relevant prior topic notes |
Output
| File |
Description |
research_notes.md |
Raw research: facts, quotes, sources, and relevant context gathered from web search and topic memory |
Configuration
pipeline:
research:
provider: default
iterations: 3
enabled: true # set to false to skip this stage
Notes
- Requires a configured search provider (
SEARCH_API_KEY) for web search. Without one, the agent falls back to topic memory only.
- More iterations allow for broader coverage — the agent makes multiple search passes and synthesizes results.
- Research notes are intentionally unstructured. The Outliner and Drafter decide what to use.
Skip Condition
If enabled: false, this stage is skipped and research_notes.md is not produced. The Outliner and Drafter will run without research context.
Stage 3 — Outline
Stage name (config key): outline
Agent: Outliner
Core: No
| File |
Required |
Description |
topic_brief.md |
Yes |
The refined topic brief |
research_notes.md |
No |
Research gathered in stage 2 |
| Identity memory |
Auto-injected |
Voice and style context |
Output
| File |
Description |
outline.md |
Section-by-section structure with brief notes on what each section should cover |
Configuration
pipeline:
outline:
provider: default
iterations: 2
enabled: true
Notes
- Edit
outline.md if you want to control the article structure before the Drafter runs.
- If you prefer free-form drafting without a pre-set structure, disable this stage.
Skip Condition
If enabled: false, the Drafter receives no outline and structures the article itself based on the topic brief and research notes.
Stage 4 — First Draft
Stage name (config key): first_draft
Agent: Drafter
Core: Yes — cannot be disabled
| File |
Required |
Description |
topic_brief.md |
Yes |
The refined topic brief |
outline.md |
No |
Article structure from stage 3 |
research_notes.md |
No |
Research context from stage 2 |
| Identity memory |
Auto-injected |
Voice, style guide, author bio |
| Topic memory |
Auto-injected |
Relevant prior topic notes |
Output
| File |
Description |
draft_v1.md |
Complete first draft of the article |
Configuration
pipeline:
first_draft:
provider: strong # recommend a high-quality provider
iterations: 2
# enabled: true — this is a core stage and cannot be disabled
Notes
- This is the most resource-intensive stage. Use your strongest LLM provider here.
- Increasing
iterations allows the Drafter to review and improve its own output.
- If neither
outline.md nor research_notes.md exist, the Drafter writes purely from the topic brief and identity context.
Stage 5 — Content Review
Stage name (config key): content_review
Agent: Content Reviewer
Core: No
| File |
Required |
Description |
draft_v1.md |
Yes |
The first draft |
topic_brief.md |
No |
Used to evaluate coverage against the brief |
| Identity memory |
Auto-injected |
Voice and style context |
Output
| File |
Description |
content_review.md |
Structured review: strengths, gaps, weak sections, suggestions for improvement |
Configuration
pipeline:
content_review:
provider: default
iterations: 1
enabled: true
Notes
- The Content Reviewer evaluates; it does not rewrite. All changes are applied by the Reviser.
- This review feeds into stage 8 (Revision).
Skip Condition
If enabled: false, content_review.md is not produced and the Reviser runs without content feedback.
Stage 6 — Fact Check
Stage name (config key): fact_check
Agent: Fact Checker
Core: No
| File |
Required |
Description |
draft_v1.md |
Yes |
The first draft |
research_notes.md |
No |
Research used in drafting |
Output
| File |
Description |
fact_check.md |
List of claims with verification status: verified, unverified, disputed, or incorrect |
Configuration
pipeline:
fact_check:
provider: default
iterations: 2
enabled: true
Notes
- Requires a search provider for web-based verification. Without one, verification is limited to reasoning from context.
- Disable this stage for creative writing or clearly fictional content.
Skip Condition
If enabled: false, fact_check.md is not produced and the Reviser runs without fact check feedback.
Stage 7 — Style Review
Stage name (config key): style_review
Agent: Style Reviewer
Core: No
| File |
Required |
Description |
draft_v1.md |
Yes |
The first draft |
| Identity memory |
Auto-injected |
Voice, style guide (critical for this stage) |
Output
| File |
Description |
style_review.md |
Feedback on tone, voice consistency, style rule violations, and suggested rewrites |
Configuration
pipeline:
style_review:
provider: default
iterations: 1
enabled: true
Notes
- The quality of style review is directly proportional to the quality of your
voice.md and style_guide.md. Invest time in those files.
- Feeds into stage 8 (Revision).
Skip Condition
If enabled: false, style_review.md is not produced and the Reviser runs without style feedback.
Stage 8 — Revision
Stage name (config key): revision
Agent: Reviser
Core: No
| File |
Required |
Description |
draft_v1.md |
Yes |
The first draft to revise |
content_review.md |
No |
Content feedback from stage 5 |
fact_check.md |
No |
Fact check results from stage 6 |
style_review.md |
No |
Style feedback from stage 7 |
| Identity memory |
Auto-injected |
Voice and style context |
Output
| File |
Description |
draft_v2.md |
Revised draft incorporating all available review feedback |
Configuration
pipeline:
revision:
provider: strong
iterations: 2
enabled: true
Notes
- The Reviser synthesizes all three review streams (content, fact, style) into a single improved draft.
- If none of the review stages ran, the Reviser produces a self-directed revision of
draft_v1.md.
- Use a strong LLM provider — this stage requires careful judgment about what to keep, change, and discard.
Skip Condition
If enabled: false, draft_v2.md is not produced. The Polisher falls back to draft_v1.md.
Stage 9 — Final Polish
Stage name (config key): final_polish
Agent: Polisher
Core: No
| File |
Required |
Description |
draft_v2.md |
Preferred |
The revised draft (falls back to draft_v1.md if not present) |
| Identity memory |
Auto-injected |
Voice and style context |
Output
| File |
Description |
final.md |
Publication-ready article |
Configuration
pipeline:
final_polish:
provider: default
iterations: 1
enabled: true
Notes
- The Polisher makes surface-level improvements only: sentence rhythm, transitions, opening/closing strength.
- It does not change facts, structure, or add new content.
final.md is the artifact you publish.
Skip Condition
If enabled: false, final.md is not produced. The last available draft (draft_v2.md or draft_v1.md) is your final output.
Stage 10 — Consistency Check
Stage name (config key): consistency_check
Agent: Consistency Checker
Core: No
| File |
Required |
Description |
final.md |
Preferred |
Final article (falls back to draft_v2.md → draft_v1.md) |
topic_brief.md |
No |
Used to check coverage and alignment |
| Identity memory |
Auto-injected |
Voice and style for consistency checking |
Output
| File |
Description |
consistency_report.md |
Flagged inconsistencies: contradictions, voice drift, formatting issues, claims that conflict with the brief |
Configuration
pipeline:
consistency_check:
provider: fast
iterations: 1
enabled: true
Notes
- This is a quality-assurance stage, not a rewriting stage. It reports issues; you decide what to fix.
- After this stage completes, Pensieve performs a post-pipeline topic memory update: it summarizes the project and appends findings to relevant topic files.
Skip Condition
If enabled: false, no consistency report is produced. Topic memory is still updated after the last stage that runs.
See Also