Skip to content

Writer

The Writer is the paper-writing specialist. It operates in a clean, isolated session to maximize the context budget available for high-quality academic writing.

Identity

PropertyValue
LLMClaude Opus
InvocationClean Claude Code session
LifecyclePer-section — fresh session for each major paper section
ContextCurated by Orchestrator — minimal, relevant only

Clean Isolated Session

The Writer starts each major section in a fresh Claude Code session. This is not a limitation — it's a deliberate design choice.

Why fresh sessions?

Paper writing is context-hungry. A single section of a research paper — with its technical arguments, equation descriptions, related work references, and experimental details — can consume a significant portion of the context window. Starting fresh ensures the Writer has maximum context budget for the task at hand.

mermaid
graph LR
    O[Orchestrator] -->|"curated context"| W1[Writer Session 1<br/>Introduction]
    O -->|"curated context"| W2[Writer Session 2<br/>Method]
    O -->|"curated context"| W3[Writer Session 3<br/>Experiments]
    O -->|"curated context"| W4[Writer Session 4<br/>Related Work]

    W1 -->|"v1 draft"| D[papers/drafts/]
    W2 -->|"v1 draft"| D
    W3 -->|"v1 draft"| D
    W4 -->|"v1 draft"| D

    style O fill:#f9f0ff,stroke:#7c3aed
    style W1 fill:#ede9fe,stroke:#7c3aed
    style W2 fill:#ede9fe,stroke:#7c3aed
    style W3 fill:#ede9fe,stroke:#7c3aed
    style W4 fill:#ede9fe,stroke:#7c3aed
    style D fill:#fef3c7,stroke:#d97706

What It Receives

The Orchestrator curates a specific context package for each writing task:

InputSourcePurpose
Paper outlinepapers/outline.mdStructure, target lengths, key claims
Section assignmentOrchestrator instructionWhich section to write
Experiment resultsexperiments/summary.yaml (relevant subset)Numbers, comparisons, trends
Figure descriptionspapers/figures/descriptions.yamlWhat each figure shows
Related work summariespapers/related_work/summaries.yamlPre-digested by Scout
BibTeX entriespapers/related_work/papers.bibCitation keys
Venue guidelinesStyle requirements, page limitsFormatting constraints
Previous sectionsOnly if needed for coherenceAlready-written sections

The Orchestrator does the curation work

The Writer does not decide what information it needs. The Orchestrator assembles the context package based on the paper outline and the section being written. This keeps the Writer focused on writing.

What It Never Receives

Excluded InformationWhy
Raw training logsNoise — the Writer needs results, not debugging history
Failed experiment detailsIrrelevant unless needed for discussion section
Code implementationThe paper describes the method, not the code
Orchestrator decision historyInternal system state is not paper content
Other agents' reasoningHow agents arrived at results doesn't matter for the paper
Debugging transcriptsNever relevant to paper writing

Contamination prevention

If the Writer receives debugging transcripts or failed experiment details, it may unconsciously frame the paper around implementation struggles rather than research contributions. Clean context produces clean writing.

Context Management

Single Session per Section

Each major section gets one fresh Writer session. If the section is large (e.g., a 4-page experiments section), it may be split into subsections across multiple sessions.

What Happens When Context Fills

If a Writer session's context fills during writing:

  1. The session ends naturally
  2. The partial draft is already on disk (papers/drafts/)
  3. The Orchestrator starts a new Writer session
  4. The new session receives the partial draft + remaining outline
  5. Writing continues from where it stopped
mermaid
graph TD
    A[Writer Session 1] -->|"context full"| B[Partial draft on disk]
    B --> C[Orchestrator reads partial draft]
    C --> D[Writer Session 2]
    D -->|"completes section"| E[Full draft on disk]

    style A fill:#fee2e2,stroke:#dc2626
    style D fill:#dcfce7,stroke:#16a34a
    style E fill:#fef3c7,stroke:#d97706

The Related Work section is special because it requires detailed knowledge of many papers. The Writer handles this through a staged approach:

  1. Scout pre-digests papers into structured summaries (stored on disk)
  2. Writer receives summaries, not full papers
  3. If the Writer needs more detail on a specific paper, it flags this in its output
  4. Orchestrator dispatches Scout to fetch deeper details
  5. Writer receives the additional detail in a follow-up instruction
yaml
# papers/related_work/summaries.yaml (what Writer receives)
- key: "katharopoulos2020"
  title: "Transformers are RNNs"
  contribution: "Linear attention via kernel approximation"
  relevance: "Direct baseline — our method improves on their efficiency"
  venue: "ICML 2020"
  
- key: "sun2023retnet"  
  title: "Retentive Network"
  contribution: "Recurrent formulation of attention with retention mechanism"
  relevance: "Core inspiration — we extend their recurrence with flash attention"
  venue: "arXiv 2023"
Why not just give the Writer all papers?

Full papers are thousands of tokens each. A related work section may cite 30+ papers. Loading all of them would exhaust the context window before the Writer writes a single word. Pre-digested summaries are 50-100 tokens each — 30 summaries fit comfortably alongside the outline and other context.

Output

The Writer produces LaTeX files saved to papers/drafts/:

latex
% papers/drafts/section_4_experiments.tex
\section{Experiments}

\subsection{Setup}
We evaluate our method on three standard language modeling benchmarks...

\subsection{Main Results}
Table~\ref{tab:main} summarizes our main results. Our method achieves...

The Orchestrator receives a one-line summary:

"Section 4 (Experiments) draft complete. 2.5 pages, 3 tables, 2 figures referenced. Saved to papers/drafts/section_4_experiments.tex"

Next

  • Scout — who prepares the Writer's literature context
  • Judge — who reviews the Writer's drafts
  • Writing Stage — the pipeline stage where the Writer is most active

AutoResearch — Multi-agent Deep Learning Research System