MIRAmodular interoperable research attribution Try it

Run it, don’t just read it

The prototypes — public, and marked for how real they are.

Everything here is under github.com/MIRA-science and public. Each entry says what it is, points to a link, and what to try — and carries a status, because this page is also the provenance.

shipped — runs today designed — a concrete draft, not built
schemashipped

The canonical LinkML grammar — every node and edge on this site is defined in it. SHACL, Turtle and JSON-LD are generated from the source.

What to try: read mira.yaml, then run the Makefile to regenerate SHACL and validate a graph against it.

github.com/MIRA-science/schema ↗
The DNA walkthroughshipped

The interactive schema-demo deck: the six-node grammar built one record at a time on the discovery of DNA’s structure, with every slot and edge explaining itself on hover.

What to try: scroll it end to end, then hover an edge label to read the relation both ways.

Open the walkthrough on this site →
MIRA-extractionshipped

AI-assisted MIRAfication of a source. Emits schema-conformant JSON-LD (<name>.mira.jsonld) — the wire format the viewers and the KOI envelope speak — with a verbatim provenance.excerpt on every node (the receipts), dangling and ungrammatical edges reported instead of dropped, and the source → study → grounds → evidence spine enforced.

What to try: MIRAfy a source and diff the Initial AI draft nodes against what a human would advance; the emitted .mira.jsonld is what moves downstream.

mira-extraction.vercel.app ↗
install it: github.com/MIRA-science/MIRA-extraction ↗
demo-MIRA-graph-datashipped · mock data

A ~314-node discourse graph plus a standalone d3 viewer and the Python transform pipeline that built it. The data is mock — terms are randomized to a microtubule-transport field; use it to validate tooling, never as a scientific source.

What to try: open the d3 viewer and traverse from a Question to its Evidence; the same grammar, rendered and navigable.

github.com/MIRA-science/demo-MIRA-graph-data ↗
myst-plus-mirashipped

The TypeScript MyST parser — authoring discourse-graph nodes inside MyST Markdown and emitting JSON-LD. One authoring tool to one viewer: real, and narrow.

What to try: npm test (vitest) — the MyST → JSON-LD round-trip on the golden fixture.

github.com/MIRA-science/myst-plus-mira ↗
koi-net-mira-prototypeshipped

The KOI cross-organization envelope — operational. Different orgs’ agents and tools read from and write to the same KOI node, and it ingests the JSON-LD that MIRA-extraction emits. Our working MIRA KOI node contains unpublished scientific results by our users, and so isn’t yet public — and even there, each record is a pointer to its artifact, not a copy of it. Still designed, not built: federation across schemas and a public network at scale.

What to try: stand up your own KOI node to push and pull MIRA nodes across the network.

github.com/MIRA-science/koi-net-mira-prototype ↗
inter-lab-user-storyshipped · mockups + prototype

The north-star user story — “push a result to a shared web interface” — with the normative transport/sharing rules R1–R13 and the authoritative open-questions list.

What to try: read AGENTS.md; it is the brief the whole approach is measured against.

github.com/MIRA-science/inter-lab-user-story ↗
Two live public graphsshipped · live

The same grammar running in public on two unrelated topics — a healthcare-language graph and a whitepaper-as-a-graph. Both give every node a URL and generate their narrative as a traversal: the prose is a rendering, the graph is the source.

What to try: open either and read a node, then follow its edges to the evidence.

language-and-health-open-synthesis.vercel.app ↗
rdf.scios.tech ↗
schema/atprotodesigned

A draft ATProto lexicon binding (science.mira.*) for public discourse-graph nodes — the intended public layer. Self-labeled DRAFT / PROPOSAL: not adopted, not published, not on the network.

What to try: read the lexicons as a concrete direction; treat them as a proposal pending schema-team review, not a shipped surface.

github.com/MIRA-science/schema/tree/atproto-lexicon-draft/atproto ↗

The shape of it

One shared transport. A closed loop.

Both authoring paths write the same JSON-LD into one KOI node — the shared cross-org transport every tool reads and writes. And the graph isn’t a dead end: it surfaces its own open questions as Requests, which spin out new studies whose evidence flows back in. Data in across the top; the next study out across the bottom.

Tools as boxes, the format as the edge, the loop as the point. Both authoring paths (MIRA-extraction, myst-plus-mira) write the same JSON-LD into one KOI node — so they’re demonstrably entering the same place, not two parallel pipes. The bottom edge is the payoff MIRA exists for: the graph surfaces its own gaps as Requests, a Request spins out a Study, and its evidence flows back in. Everything solid runs today; the one dashed box is designed, not built.
source / input tool (software we have) viewer / renderer live public graph Request / Study — the next unit of work designed, not built
JSON-LD the shared wire format — data flowing in the next study flowing back out