An open format for knowledge vaults

Every note is a tile that stands on its own.

The picture exists only in the whole.

Mosaix is a file-level format for vaults of atomic, self-describing notes. Machines retrieve one note at a time. People read many notes as one document.

Nothing is silently lost.

01Why a format

Three documents, three launch dates. Which one is true?

Every knowledge base has this: the last edit wins, and nobody recorded that there was a disagreement. Mosaix records it at the file level, and keeps every version where it was.

Roadmap.docxLaunch: 26 Oct 2026
edited 2026-07-22
Master index.mdLaunch: 25 Nov 2026
edited 2026-08-05
Timing rules.mdLaunch: 27 Jan 2027
edited 2026-08-29
■ current · ▢ superseded, kept in place · ☐ open question
Launch date — online platform27 Jan 2027
✅ sourced · decided with partners 2026-08-29 · rev 2b7c…
Launch date — online platform (v2)25 Nov 2026
superseded → links to the current note · kept in place
Launch date — online platform (v1)26 Oct 2026
superseded → links to the current note · kept in place
Open question #12Three dates recorded on 2026-09-03; consequence: the email schedule shifts by 90 days.
_meta/Open questions.md · R6 record, don't resolve
02What the format asks, and what it gives back

One paragraph in, three tiles out.

The same knowledge, once as prose in a document and once as Mosaix tiles. The body of each tile is the sentence you already wrote. The keys are generated by enrichment and reviewed by a person.

BEFORE · a paragraph in "Market notes.docx"
Westguard, a Nordic manufacturer, sells in more than 130 countries and undercuts distributors with its own-brand line. The European industrial coatings market is consolidating: three acquisitions in 2025 moved about 18% of distribution under two groups. A colleague heard that Westguard opened a plant in Romania in 2024, but we could not confirm it.
Westguard — player cardsummary: Nordic coatings manufacturer, 130+ countries, own-brand line that undercuts distributors on price.
entities: Westguard (company) · ✅ sourced
Coatings consolidation 2025summary: Three acquisitions in 2025 moved ~18% of European industrial coatings distribution under two groups.
relations: Apex Group → owns → distributors · ✅ sourced
Open question #33 — Romaniasummary: Unconfirmed report of a Westguard plant in Romania (2024); blocking for one argument, not for a number.
_meta/Open questions.md · ⚠ to confirm
03The tile

Up close, a tile is a note you can read. And ten keys a machine reads first.

Nothing in the body changes. The keys sit above it, in plain YAML. Hover a key to find it in the note.

  • idULID — stable across renames. Warning if absent (W003).
  • summaryOne declarative sentence, 120–240 characters.
  • keywordsSix to eight terms: synonyms, spoken phrasings, questions.
  • entitiesNamed things, typed.
  • relationsTyped links between entities. The graph lives in the note.
  • revHash of the body when metadata was computed. Mismatch means stale.
How a tile ages
2026-08-22body written · metadata computed · rev 91be7f0a3c44 ✓ fresh
2026-09-03body edited by a person · metadata untouched · ✗ stale: rev no longer matches
2026-09-03enrichment proposes new keys on a branch · reviewer sees the mismatch · merges · ✓ fresh
--- title: §6 Composed documents id: 01JVKE4X2PFNRW8BQDP5MHCG2X updated: 2026-09-03 tags: [spec, mosaix, composed-document] summary: "Defines the note type that joins atomic notes into one readable document without duplicating them." keywords: [composed document, document type, fragments, view over notes, transclusion] entities: - {name: Mosaix Format, type: project} relations: - {from: §6, type: depends on, to: §3 The note} rev: 91be7f0a3c44 --- # 6. Composed documents Atomic notes are for machines. Humans read documents. The format therefore defines … vault/spec/§6 Composed documents.md · a real note of the specification vault
04Composition

The five gold tiles from the mosaic above, read as one document.

A note of type document lists the tiles it is made of, in reading order. Hover a paragraph to see its tile. Nothing is copied.

64 tiles · 5 in fragments, reading order · one still to confirm

Market entry brief — industrial coatings, Europe

type: document · fragments: 5 · composed 2026-09-03 · every paragraph saves back to its own note

1The European industrial coatings market is consolidating: three acquisitions in 2025 moved 18% of distribution under two groups.← Coatings consolidation 2025 · ✅ sourced

2Westguard sells in 130+ countries and undercuts distributors with an own-brand line; it is the reference competitor for price.← Westguard — player card · ✅ sourced

3Whether Westguard opened a Romanian plant in 2024 is disputed between two sources; the argument does not depend on it.← Open question #33 · ⚠ to confirm

4CoatExpo Munich in October is the single most relevant fair; exhibitor lists confirm both direct competitors will attend.← Coatings trade fairs, Europe 2026 · ✅ sourced

5Recommendation: enter through marine coatings, where Eastern European manufacturing has a documented cost advantage of 22–30%.← Strategic scenarios · ✅ sourced

Every paragraph saves back to its own note.
05The rules

Seven rules. Two make the difference. Five are checked from files.

A vault that obeys them can call itself Mosaix 1.1 conformant. Conformance is a property of the files, not of any tool.

The two that no other format has
Agent workflow recommendation

R8 — Propose, don't apply. Automated writes go to a branch or a review queue. A person merges. The revision hash shows whether the proposal was made against the current body. This is a SHOULD, not a MUST — the checker does not verify it.

The five the checker verifies
  1. Atomicity

    One note answers one question.

  2. Self-description

    Every note carries the core keys.

  3. Connectedness

    No orphans, no broken links.

  4. Declared taxonomy

    Every tag lives in the meta note.

  5. Composition

    Read together? Composed, never copied.

06Why it matters

The format does the work, not the model.

Same model, same task, same pass rate. Change the input structure, change everything.

Data read per query
0× less data per query
Token reduction, CRUD cycle
0× fewer total tokens
Raw tokens used, CRUD cycle
0K vs 443K tokens
Cost per CRUD cycle
0× $0.0064 vs $0.0099
07Why it scales

One agent, one cluster. Any model.

A planner hands each agent one tile and its direct dependencies. No agent reads the whole vault; there is no shared memory to keep in sync. So each agent can run on the smallest model that passes its tile, local or cloud, general or vertical, all in parallel.

In production vaults, a single agent task typically consumes around 600 tokens — one note plus its direct dependencies, measured across three real vaults. This is an observed average, not a prescribed limit. Actual token consumption depends on note size, dependency depth, and model tokenizer. The format imposes no token budget.

the vault · 64 tiles
the planner reads the map and picks, for each agent, one tile and its direct dependencies
cluster A
Gemma 4 · 2B · local
its tile + 2 dependencies · ~620 tok
cluster B
Qwen 3.5 · 4B · local
its tile + 1 dependency + 1 open · ~480 tok
cluster C
vertical model · legal
its tile + 3 dependencies · ~750 tok
cluster D
DeepSeek flash · cloud
its tile + 1 dependency · ~490 tok
composed result · four tiles back in the vault · fragments in reading order
no shared memory · no agent reads the vault · all four run in parallel · one model per agent

Because the cluster is the unit of work, the model is a per-agent choice: a 2B model for the tiles it passes, a vertical model where the domain needs it, a cloud model only where nothing smaller will do. Swap one, and the others don't notice. This is the direct evolution of the system: work verticalised across different models, each on its own cluster of knowledge.

08Compatibility

Works where you already write.

Obsidian is the reference host. The format needs none.

ObsidianLogseqFoamDendronZettlrVS CodeAny Markdown editorgit
09Check a vault

Already have an Obsidian vault? You are part of the way there.

One Python file, standard library. It reports every error and warning against §10, note by note, and exits 0 when the vault is conformant. On the right: the example vault, then a real marketing vault before and after two fixes.

Download audit_reference.py
Python 3.10+ · no dependencies · read-only · example vault or the bakery vault (.zip) to try it on
vault:
# run it on your vault python audit_reference.py ~/vaults/example-vault

Everything you need to start.

Six skills for Claude, a reference MCP server, and two utilities. All open, all stdlib-only Python, all in the repo.

npx degit mosaix-format/spec/skill ~/.claude/skills/mosaix-format

Install any skill the same way. ~/.claude/skills/ for personal use, .claude/skills/ for a project repo. Skills are non-normative: they encode the specification as agent instructions. Nothing in the checker depends on them.

Reference tools
python -m mosaix_mcp ~/vaults/my-vault          # start the MCP server
python mosaix_init.py my-vault --with-examples   # scaffold a new vault
python mosaix_migrate.py ~/notes --dry-run       # preview migration

Skills teach what to write and how to validate it. The tools above connect any agent to a vault. How to produce knowledge at scale — enrichment, ingest, retrieval — is out of scope (§8), and that's where implementations compete.

10What's next

Open tiles. Announced, not promised.

The fourth tile of the mark is outlined and empty: it stands for what is decided but not built. These are the open tiles of the format itself. Each is recorded in the example vault's ledger with a status, like any other open question.

Nothing on this list is a product. What produces, enriches, searches or composes vaults is out of scope by design (§8).

Not going to write YAML today?

You get one line when the checker package ships. Nothing else.

Double opt-in. We store your address in Resend until you unsubscribe. Privacy.