The Protocol FAQ · the spine
Why this protocol?
Interoperability without flattening, what the format actually looks like, how it survives new sources and better AI, and whether any of it is real. Each answer is short, carries an attributed quote where one exists, and links to a prototype or case you can open. Core questions — the ten-minute read — are marked with a dot.
Interoperability without flattening the nuance
The central worry: a shared format that lets analyses combine usually does it by forcing agreement, and agreement is where the nuance dies.
How do you get interoperability without flattening the nuance?
Put the objective/subjective boundary at the artifact. Below it — the data itself, the study that produced it, the method that study followed, which paper reported it — is shared and interoperable; everyone can point at it whether or not they agree. Above it — how you describe the artifact, which claim you think it speaks to, how strongly — is attributed and allowed to coexist, never merged into a single canonical reading.
Two people who read the same plot differently produce two attributed observationStatements over one observationBase, and the graph keeps both. Interoperability lives below the line; nuance lives above it, signed.
See it → five readings, one observationBase (COVID)Doesn’t a shared schema force everyone into one vocabulary or ontology?
No. The grammar is deliberately minimal — six node types — and the wire format is JSON-LD: schema-agnostic transport, no triple store required to participate. You attach records to shared artifacts; you never overwrite someone else’s node. Two “similar but not identical” claims stay as separate nodes, linked by qualitative supports / opposes / informs — not collapsed into one.
Because MIRA is co-developed as a generalization of the Discourse Graphs dg: vocabulary, a tool can extend the grammar for its own field and still round-trip the shared core.
Try it → the MyST → JSON-LD round-tripTwo analysts describe the same plot differently — whose description wins?
Neither. The observationBase — the plot, table or dataset — is invariant; the observationStatement is one person’s reading of it, attributed to them. Several statements over one base is just several people reading one plot differently. That is not corruption to be resolved — it is the honest state, made queryable: you can ask does the disagreement live in the description, or in the inference?
See it → one artifact, two verdicts (DNA) and on COVIDIf every reading coexists, how does a reader choose whose to trust?
You subscribe to a lens. Because every relation and every rating is per-agent attributed — each carries its creator — a reader, funder or lab can add a signal for whose reading of the shared graph they trust: follow one curator’s observationStatements and confidence ratings, blend several, or discount a source you don’t. The artifacts underneath stay identical for everyone; the lens applied on top is the consumer’s choice.
So interoperability never forces one canonical reading. It guarantees a shared set of records, then lets each consumer weight the curator whose judgment they subscribe to — the same graph, read through whichever attributed view you pick.
See it → five attributed readings, one base (COVID)The format
What a format looks like that is flexible enough to link diverse subtopics and multi-perspective investigations while preserving important detail.
What does the format actually look like?
Six node types — Question, Claim, Evidence, Study, Protocol, Request — plus SourceDocument. Each is a record with fields (slots), and the type-specific slots are what distinguish the types. Some slots hold a value (a date, or a pointer like observationBase — a URL to the data); some hold a reference to another node, and those reference-slots are what weave the graph. The load-bearer is the four-layer Evidence chain: an Evidence record’s fields place it against the Claim it speaks to (observationStatement), the artifact it rests on (observationBase), the Study that produced it (is_grounded_in) and the paper that reported it (sourceDocument). When a reference needs to carry who asserted it and how strongly, it is reified as its own record so attribution, flavor and degree attach to the assertion itself.
{ "@id": "mira:evd-photo51-helix",
"@type": ["sdata:44107", "mira:Evidence"],
"content": "An X-shaped diffraction pattern — a helix.", // a value
"observationBase": "https://…/photo-51.tif", // a value: a pointer (URL)
"observationStatement": "mira:clm-double-helix", // a reference → Claim
"is_grounded_in": "mira:study-franklin-1952", // a reference → Study
"sourceDocument": "mira:doc-franklin-1953" } // a reference → SourceDocument
How does it link diverse subtopics and multi-perspective investigations without collapsing them?
The Question layer plus addresses lets one inquiry fan out into sub-questions (“are eggs healthy?” → “healthy compared to what, on which observable, in whom?”). Multi-perspective disagreement rides on supports / opposes / informs with a qualitative degree, all pointing at the same claims. Cross-links compose across topics, so a graph in one field can reference a shared artifact in another.
You can see it running on two unrelated fields at once — a live language-and-health graph and a live whitepaper-as-a-graph — both giving every node a URL and generating their narrative as a traversal.
See it → both worked cases and two live public graphsHow do you preserve caveats, uncertainty, and “similar but not identical”?
Three moves. Multiple Evidence records and observationStatements instead of one merged claim. A qualitative confidence rating per edge that others can weigh in on. And ghost-slots — dashed placeholders that make absence structured and visible, so a missing dataset or an unmeasured exposure is a shape in the graph, not silence.
None of this is a number.
See it → ghost-slots (COVID) and the missing biomarker (eggs)How do you keep disagreement legible instead of resolving it away?
The same anchor absorbs disagreement. One artifact can carry a supports edge and an opposes edge at once — Photograph 51 supports the double helix and opposes the triple helix. Five analyses can land on one observationBase. Once they do, you can ask which layer the disagreement lives in: the description of the artifact, the inference drawn from it, or the artifact itself. Nothing is deleted to reach a verdict.
See it → supports + opposes on one artifact and five readings, one baseMaintained over time
How the format plays well with newly-emerging sources, a diverse and changing user base, and an expanding frontier of AI tooling.
New sources keep arriving — how does the graph absorb them?
Append-only attach. A new paper becomes new Evidence and Claim nodes that attach to existing ones by edge; every claim they touch updates its support without anyone rewriting a review. When Cell published a new class of pre-emergence-selection evidence in March 2026, two years after the Rootclaim debate closed, in a sealed-document world it is a PDF nobody wires up — in the graph it is a Claim and two Evidence nodes that snap onto the 2024 COVID graph.
See it → the snap-on nodesThe user base is diverse and changing — how does that not corrupt the record?
Extraction is AI-assisted; curation is human. A curation-status ladder — Initial AI draft → In review → Verified — is surfaced per subgraph and per node, with plural users, allowing for filters based on one’s “epistemic standards.” Every AI-drafted node is anchored to a verbatim source quote so the reviewer can check it in seconds. Every assertion carries its creator.
The anti-gaming property: ratings are per-agent attributed, never aggregated — an adversary can only add their own labeled rating, alongside everyone else’s. This pattern is running in public in the oasisresearchlab/language-and-health-open-synthesis graph (example).
AI tooling keeps getting better — does the format go obsolete?
The format is downstream of the tools, not coupled to them. Extraction, anchoring and structural validation scale with the models and get better every generation; what stays fixed is the human commitment point — deciding what enters the shared record and how strongly it is claimed. That is where the human goes, and nowhere else, so no hand-designed step becomes the bottleneck.
LinkML → SHACL makes conformance machine-checkable, so tools can be swapped without breaking the record, and JSON-LD means no lock-in.
Try it → AI-assisted extractionHow do you know the format is being followed and not silently drifting?
Typed and validatable. While entering this contest, we ran SHACL on our own graph and it caught real drift — a type error, a dead canonical URL, a validator silently broken for weeks — that we fixed with commits and issues proposing schema refinement. Maintaining a shared contract looks like catching your own violations; community calls and issue discussions allow for principled schema changes.
See it → Context and caveatsHow does it cross organizations and tools?
KOI is the cross-organization envelope: different people’s agents and tools read from and write to the same KOI node across organizational boundaries. KOI is an instance of the Knowledge Organization Infrastructure Network developed by the Dynamical Systems Group. Those records live on KOI nodes the participating orgs run — and even there, each record is a pointer to its artifact, not a copy. Federation across schemas is designed but not implemented (yet!) ATProto is the intended public layer; draft lexicons (science.mira.*) exist. The three legs — ingestion → structure → transport: MIRA-extraction lifts nodes from a source PDF and emits them as schema-conformant JSON-LD, each pinned to a verbatim source excerpt; the shared schema is the structure those records validate against; and the KOI envelope carries them across organizational boundaries. Two round trips run in that one wire format — ingestion: PDF → MIRA-extraction → JSON-LD → KOI; authoring: MyST Markdown → myst-plus-mira → JSON-LD → viewer. Different tools at each end, one format in the middle, nothing hand-glued between them.
Try it → the KOI and MyST round tripsWhat it unlocks
Once the material is structured, what becomes possible — including the move from “assess what exists” to “generate the work that would resolve it.”
Once it’s structured, what can you do that you couldn’t before?
Three things. Navigate to the evidence — the artifact is addressable, not buried on page 44 of an annex. Detect correlated evidence masquerading as independent — because convergence becomes a fact about artifacts, not a count of citations. And the gaps become actionable (next question).
The convergence test, undecidable in a claim-indexed or freetext model where twenty supports edges look like twenty independent supports:
| Pattern | What it actually is |
|---|---|
| Many Evidence → one observationBase | One dataset, re-cited. Not accumulating support. |
| Many Evidence → many Studies → one Protocol | Independent data, shared method ⇒ a shared systematic-error mode. |
| Many Evidence → one sourceDocument | One report, not many observations. |
| Disjoint at all three | Actually independent. Only this licenses accumulation. |
How does disagreement “compound into new experiments”?
“What would change my mind” is a Request. Its request_target points at the contested Claim; its request_for points at the Study that would settle it. A researcher claims it and it spawns their Study, which grounds new Evidence — closing the provenance loop, with the requester’s and the claimer’s credit both on the record.
And it’s field-tested: in one lab’s issue tracker, 15% of claimed issues were picked up by someone other than the author, and one sat dormant for fourteen months until a new undergraduate found and finished it — before the PI knew it existed. Story + evidence.
See it → the Request→Study spin-out + field dataHow does attribution work? — the “A” in MIRA
Credit attaches to the contribution, not the byline. Every node and edge carries its creator, so a claim, a piece of evidence, a protocol, or one reading of a figure is a discrete, attributable record — with its own author, date, identifier and license — separable from whatever paper it lands in (ORCID is the intended contributor identity). Because relations are reified and attributed, even “this evidence changed my mind” is a signed act by a named person, not an anonymous edge.
That makes credit composable. The graph can roll up exactly the contributions a claim or discovery stands on — down to the specific load-bearing records and the people behind them — instead of collapsing a whole collaboration into one authorship line. A Creative Commons license on each node lets any contributor’s work be cited and recombined into a custom dashboard, a narrative, or a funder’s impact view, with attribution traveling with the record wherever it moves.
Designed, not built: pairing those per-node licenses with workflows that validate and enforce attribution across the graph, so a “who contributed what” roll-up is generated and checked automatically. The bet is that a per-record, load-bearing account of what someone actually contributed is a more accurate and more useful signal than a byline position or a citation count. Credit, licensing and identity are named open items, filed as Requests — not solved.
See it → reified, attributed relations (creator on every record)Provenance & credibility
The meta-questions a skeptic asks: is it real, and is it new?
Is any of this actually running, or is it a spec?
Shipped: the schema, two live public graphs on unrelated fields, the extraction tool (JSON-LD out), the KOI transport, and both round trips — PDF→JSON-LD→KOI and MyST→JSON-LD→viewer. Designed, not built: cross-schema federation, ATProto on the network, MIRA deployed at scale. We’re ready to build and test those, if we have financial support!
See it → the whole catalog, markedWhere does this sit relative to nanopublications, PROV-O, and AIF?
MIRA is compatible with all three and extends the lineage. The reified-assertion idea is shared with nanopublications, argument structure with AIF, provenance with PROV-O. What MIRA adds on top is a question layer — open unknowns as durable, first-class nodes — and at the heart of the model: this observation is about that claim, carried as a first-class relation slot (the observationStatement / observationBase split).
See it → the prior-art mapping