Open Knowledge Format (OKF)
index.md
declares okf_version: "0.2".
Memanto uses OKF as its portable, at-rest interchange format. Moorcheh stays
the retrieval engine — OKF is only how memories are represented on disk so they
can be exported, browsed, versioned in git, and imported elsewhere without lock-in.
Export
Write an agent’s memories to an OKF bundle — one folder per memory type, plus daily summaries, session logs, and metrics.
Import
Load any OKF bundle into an agent with
memanto migrate okf. Unmapped fields are preserved, nothing is lost.Sync
Drop a browsable OKF bundle into a project directory for an agent (or human) to read.
Lossless
Memanto-only fields ride along in an
x_memanto frontmatter block, so Memanto → OKF → Memanto round-trips keep confidence, provenance, source, and the last-updated timestamp.What an OKF document looks like
Onlytype is required; every other field is optional.
Export
~/.memanto/exports/<agent>_okf/. The bundle nests
memories under memories/ alongside export-only context sections (only the
sections that have data are written):
--split: controls how each memory type folder is written.
See
memanto memory export for all options.
Import
migrate okf accepts a bundle directory (or a single .md file), maps each
node onto Memanto’s schema, and bulk-writes the memories into the target agent.
It runs as a subcommand of memanto migrate but, unlike
the provider migrations, needs no API key and produces no savings report — OKF
is a local file format, not a competing provider.
- Fields that don’t map onto a Memanto column are preserved in a bounded
[Supporting data]footer appended to the memory content, so nothing is lost. - OKF’s
typeis free-form domain vocabulary (BigQuery Table,Runbook, …). When it isn’t one of Memanto’s 13 types, it is auto-classified and the original type is kept in the footer. - Import is scoped to
memories/when a bundle has that folder, so daily-summaries, sessions, and metrics are never re-ingested as memories. - v0.1 bundles still import.
created_atis read fromgenerated.at, and falls back to a top-leveltimestampwhen the bundle predates v0.2.
Sync
./my-project/okf/, giving
an agent (or a teammate) a browsable, git-friendly memory wiki. See
memanto memory sync.
Field mapping
Notes & limitations
- Round-trip: Memanto → OKF → Memanto preserves the extra fields via
x_memanto. Importing a foreign bundle auto-classifiestype(the OKF and Memanto vocabularies differ), so it is not byte-identical — this is inherent to the format, not a bug. - Links: exported bundles are flat — Memanto does not store inter-memory edges, so no cross-links are generated. Links found in imported bodies are preserved verbatim and listed in the footer.
- Context sections (
daily-summaries/,sessions/,metrics/) are read from local files under~/.memanto/; a machine that has never generated a daily summary exports memories only. generated.byis namespaced. OKF expects an agent-qualified producer, so a bare Memantosource(user,cli, …) is exported asprocess:<source>. Values already carrying ahuman:orprocess:prefix — or a/— are written through unchanged. The raw value is still available asx_memanto.source.