Skip to content

research-os

research-os turns an open-ended research question into a research-pack: a structured local repo where Claude, Cowork, or a swarm can work for hours without hallucinating, drifting, or flattening the investigation.

It is not a report generator. It is the operating environment for grounded research.

Most “deep research” tools collapse to search → summarize → pretty report. The model never has to justify a claim to a source. The output sounds confident but can’t be audited.

research-os refuses to work this way. Every claim must trace to a literal excerpt from a fetched source. Every section must pass a gate before synthesis runs. Contradictions are mapped, not smoothed over. The final freeze writes a sha256-fingerprinted receipt of every artifact.

No synthesis before source truth.

This one law drives everything else. The 16 laws in the Laws page are enforcement consequences of this single principle.

When you run research-os init, you get a research-pack — a directory with:

  • research.yaml — pack config: topic, decision, audience, gate thresholds, source waiver policy, section list
  • sections/<id>/ — per-section workspaces: brief, sources, claims, contradictions, gates
  • evidence/ — fetch receipts, source cards, excerpt ledgers
  • synthesis/ — cross-section map, decision brief, working report, final report
  • audits/ — gate results, review findings, pack rollup
  • handoffs/ — cowork handoff contract and master prompt
  • audits/freeze-receipt.json — proof the chain held end-to-end
Featureresearch-os
Source groundingEvery claim cites a literal excerpt ID from the excerpt ledger — model cannot author evidence text
Contradiction trackingDetected, mapped, resolution-ledgered — never flattened
Gate enforcementSection must be synthesis_eligible before downstream synthesis runs
Freeze integritysha256 fingerprint of every canonical artifact — unfinished research cannot masquerade as done
Dogfood proofv0.1 was gated through its own pack before shipping