Reading Packs
Each pack is built for three different readers. The same evidence is accessible at different depths depending on what you need.
Lane 1 — Public synthesis
Section titled “Lane 1 — Public synthesis”For humans who want the answer.
Start here:
packages/<pack-name>/README.mdpackages/<pack-name>/synthesis/final-report.mdpackages/<pack-name>/synthesis/decision-brief.mdREADME.md is a human-readable synthesis derived from final-report.md. It cites accepted claims by ID (e.g. [clm_3a7f…_001]) so every statement is traceable. If you only want the conclusions without touching the evidence, read Lane 1.
decision-brief.md is the handoff-mode summary — a compact document for decision-makers that states the question, the decision, and the key supporting claims.
Lane 2 — Frozen evidence pack
Section titled “Lane 2 — Frozen evidence pack”For people who want to audit the claims.
The full evidence is in pack/:
pack/ sections/ <section-id>/ sources.jsonl # source cards with URL, publisher, date excerpts.jsonl # raw excerpts extracted from sources claims.jsonl # accepted/rejected claims with IDs claim-reviews.jsonl # adversarial reviewer verdicts, reasons, overrides audits/ contradiction-resolutions.jsonl # how contradictions were resolved freeze-receipt.json # sha256 fingerprints of all artifacts gates.yaml # gate results for each section research.yaml # full pack metadata and run configuration synthesis/ final-report.md # citation-clean synthesis (same as Lane 1) decision-brief.md # decision summary cross-section-map.json working-report.mdClaim IDs
Section titled “Claim IDs”Every accepted claim has an ID in the format clm_<source_id_hex>_<extractor>_NNN. The source_id_hex links the claim back to a specific source card in sources.jsonl. The NNN is a zero-padded counter per source.
To trace a claim cited in final-report.md:
- Note the claim ID (e.g.
clm_3a7f2b_nemo_001) - Search
claims.jsonlfor that ID to see the full claim text and verdict - Check
claim-reviews.jsonlfor the adversarial reviewer’s verdict and reason - Find the
source_idinsources.jsonlto reach the original source
Dispositioned claims
Section titled “Dispositioned claims”Some claims are dispositioned rather than accepted or rejected — for example, out_of_bounds_regression_fixture marks claims that are intentionally excluded from synthesis but preserved as regression fixtures. These must not be cited. The disposition type and reason are in claims.jsonl.
Lane 3 — Method proof
Section titled “Lane 3 — Method proof”For people evaluating research-os itself.
The top-level docs/ and catalog.json are the method-evaluation surface:
catalog.json # machine-readable pack indexdocs/ how-to-read-a-pack.md # this pack's structure explained artifact-contract.md # admission contract and manifest schema source-quality-notes.md # findings on source quality across arcs operator-playbook.md # operating doctrine from running packs to freezesource-quality-notes.md accumulates findings from each research arc — patterns in source quality, discovery fallbacks, contradiction rates. operator-playbook.md distills the operating decisions that aren’t obvious from the spec.
Verifying integrity
Section titled “Verifying integrity”Before trusting any claim, verify the pack:
node scripts/verify-pack.mjs packages/<pack-name>A PASS means the pack’s contents are byte-identical to what was frozen. A FAIL means an artifact was modified after freeze — treat the pack as untrusted.