ADR-0005: Atomic note schema — no status, slug filename, dual citations, closed tags, 300-word cap, provenance split

Status: Accepted Date: 2026-05-19

Context

Atomic note schema is the load-bearing decision for the whole vault. Drift here cascades into everything downstream.

Decision

  1. Filename = slug only. No timestamp prefix. Obsidian auto-updates wikilinks on rename.
  2. No status: enum. Atomic notes are unearthed truth from sources, not personal positions. They are not open for debate at the atomic level — they record what the text says. Wrestling lives in threads.
  3. Dual citations. Both sources: frontmatter (machine queries) AND inline [[wikilinks]] in body (readable prose). AI keeps them in sync.
  4. Closed tag registry (_meta/tags.md). AI may not invent tags. New tag = REVIEW.md request + user approval committed in same batch.
  5. 300-word body cap. Strict. Atomic means atomic. If you need more, it’s a thread.
  6. Provenance split. Two folders, /reference/ and /experience/, based on whether the note can cite a resource or comes from observation/conversation. Frontmatter field: provenance: reference | experience. Visual separation worth the rare migration cost.

Alternatives considered

  • Timestamp ID (20260519-1430-slug): rejected — unreadable in URLs when published.
  • Luhmann Folgezettel (1a3b): rejected — too rigid, AI can’t maintain lineage cleanly.
  • Frontmatter-only citations OR inline-only: rejected — frontmatter is needed for queries; inline is needed for reading; dual is worth the sync cost.
  • Open tag system: rejected — AI invents #fall, #the-fall, #fall-of-man and the graph becomes noise.
  • Single atomic folder with provenance: filtering: rejected — visual separation when browsing the vault by hand was worth more than the rare-migration cost.
  • Status enum (open/wrestling/settled/rejected): rejected after user feedback — atomics are not personal positions, so a status is conceptually wrong. Wrestling status belongs in threads.

Consequences

  • (+) Filenames double as URLs, human-readable on published site
  • (+) Closed tags + dual citations make the graph queryable and machine-validatable
  • (+) Splitting provenance keeps experiential and textual knowledge distinct without making either feel inferior
  • (−) Slug renames need Obsidian’s auto-update to avoid breaking links (acceptable)
  • (−) Migration of an atomic from /reference/ to /experience/ (or vice versa) updates many backlinks — rare, accepted