Claim Extractor
Workflow
Per draft:
- [ ] Step 1: Segment draft by heading / section
- [ ] Step 2: Within each section, split by sentence
- [ ] Step 3: Flag sentences containing technical claims:
- Math symbols / formulas
- Named systems, components, algorithms
- Quantitative assertions
- Universal quantifiers ("always", "never", "all models")
- Named papers / results
- [ ] Step 4: Coalesce adjacent claim sentences that argue the same thing into one claim
- [ ] Step 5: Output numbered list: {id, excerpt (≤200 chars), location}
Non-claim content (skip)
- Personal anecdotes without technical assertion
- Motivation / framing
- Calls to action
- Closing maxims (unless they assert a technical fact)
Worked example
Draft paragraph:
Attention is O(n²). This is why context windows are expensive. Each token looks at every other token, and the matrix is n-by-n.
Extraction:
- "Attention is O(n²) in compute and memory in a naive implementation." [§2 ¶1]
- "Context windows are expensive because of attention's complexity." [§2 ¶1]
- "Each token attends to every other token via an n-by-n matrix." [§2 ¶1]
Guardrails
- Never paraphrase aggressively. Preserve the writer's hedges.
- Excerpts ≤200 chars verbatim.
- Coalesce adjacent claims only if they argue the same thing.
- Respect
[contrarian]annotations — still extract the claim, but flag it forclassify-claimto treat specially. - Don't extract claims from code blocks or quoted text.