Skip to content
mif-rs — a Rust implementation of MIF The chevron-M mark, the mif-rs wordmark, the line "Validate. Resolve. Embed. Search.", and its four core crates. mif-rs A Rust implementation of MIF Validate. Resolve. Embed. Search. mif-schema · mif-ontology mif-embed · mif-store modeled-information-format.github.io/mif-rs

mif-rs

A Rust engine for MIF — the same document a person reads and a parser reads, kept losslessly in sync, validated, embedded, and searchable.

mif-rs implements the MIF (Modeled Information Format) specification as nine Cargo workspace crates: seven libraries and two thin binaries built on top of them.

Validate

mif-schema validates MIF documents, citations, and ontology definitions against the canonical, vendored JSON Schema — offline, no network access at validation time.

Resolve ontologies

mif-ontology resolves the three-tier extends inheritance chain across a corpus of ontology definition files.

Project losslessly

mif-frontmatter projects markdown frontmatter to JSON-LD and back, proving the round trip is lossless — the frontmatter markdown is source of truth; JSON-LD is always a derived projection.

Embed and search

mif-embed computes local sentence embeddings offline after first fetch; mif-store ranks them by cosine similarity in a SQLite-backed vector store.

Both mif-cli and mif-mcp are thin consumers of those five libraries: a command-line tool and an MCP server exposing the identical validate/ingest/search/resolve operations as tools for an agent.

Errors are a first-class, machine-readable surface

Section titled “Errors are a first-class, machine-readable surface”

Every failure across the workspace maps to an RFC 9457 application/problem+json envelope with a stable, versioned type URI — not just a human-readable message. See the error reference for the full catalog.