Ontogen Vaults Are OKF Bundles
OKF
(Open Knowledge Format) is a specification for a bundle of knowledge: a
directory of markdown files with YAML frontmatter, where each file declares a
type, a handful of keys have fixed meanings, and generated index.md files
make the bundle navigable without a database. An ontogen markdown vault follows
it, so other OKF consumers can read the vault while it stays plain markdown for
editors, Obsidian and git. Ontogen targets OKF 0.2.
The rules themselves live in the markdown backend guide; this page only maps the spec onto what ontogen does.
| OKF feature | What ontogen does | Details |
|---|---|---|
Every record has a type | The generator writes type as the first frontmatter key, defaulting to the struct name. Always on. | Every record carries a type |
index.md and log.md are reserved files | Both names are rejected as record ids and skipped by the vault walk. Always on. | Reserved ids |
Reserved frontmatter keys (status, resource, generated, …) | Checked at build time: type is always an error; generated is an error while okf.generated_by is set; every other reserved key warns. Always on. | Reserved frontmatter keys |
Generated index.md (§8) | Opt-in with okf.index: one per directory holding records, kept current on every real write, okf_version in the root. | Index files |
Provenance, the generated key (§5.2) and actors (§7) | Opt-in with okf.generated_by: every real write stamps by and at; the actor must name a program. | Generated stamps |
| Cross-links | Relations are stored as frontmatter [[id]] wikilinks. An OKF graph reader builds its graph from body markdown links, so it does not see them. A MarkdownPath opt-in that renders bundle-relative /<dir>/<id>.md links is deferred. | Relations are wikilinks |
| Where the settings live | The build script sets both knobs; the generated open_vault applies them. | The generated open_vault |
The notes-kb example turns both knobs on and commits
its index files; its test checks them against the spec’s structural rules.
The decision record is ADR 0005.