Skip to content

Releases: ncz-os/mpf

MPF v0.2.0 — PROV-DM + bi-temporal + 9 migration guides

06 May 15:12

Choose a tag to compare

What's new in v0.2.0

MPF resumes independent evolution. MIF (zircote/MIF) is treated as an idea source for specific concepts worth adopting, not an alignment target. Both formats coexist in the ecosystem.

Added

  • W3C PROV-DM provenance sectionwho/what/when for memory creation + transformation history. PROV-DM is a real W3C standard, not MIF-specific; using it gives MPF interoperability with anything else that speaks PROV. Test vector: vectors/provenance_full_chain.json.
  • Bi-temporal trackingvalid_time (when the fact was true) vs. transaction_time (when the system recorded it) as first-class envelope fields. Test vector: vectors/memory_bitemporal.json.
  • Nine migration guides — one markdown + executable Python adapter per source memory store under migrations/:
    • mem0, zep, letta, subcog, basic-memory, mempalace, graphiti, cognee
    • mif — read-only one-way import path from MIF documents into MPF
    • Shared _adapter_common.py factored out
  • Test-vector conformance suite — extended hand-crafted vectors covering the new PROV + bi-temporal fields. README at vectors/README.md.

Live deployment proof

CHARON round-trip from PYTHIA to a Cix Sky1 MS-R1 aarch64 box on 2026-05-06: another claude session exported PYTHIA's memory base via GET /v1/export?limit=500 and imported the MPF envelope into a fresh MNEMOS instance on the cix box. 50 of 51 memories on the target carry subcategory=from-pythia with metadata.original_id preserved through the envelope. First production round-trip outside the originating host.

MPF strengths kept as differentiators

  • DAG version chain (parent_hash, branch, commit)
  • Deletion-log audit trail (content_hash + requester + kind + reason)
  • Compression-manifest provenance (distillation lineage + judge confidence)
  • Federation source attribution (fed:<peer> provenance markers)

These are MPF-specific (no MIF analogs) and remain envelope features.

Compatibility

  • Schema location: schema/mpf-v0.2.json. v0.1 envelopes (schema/mpf-v0.1.json) remain valid; importers can negotiate via the payload_version field on the envelope.
  • The MNEMOS server's /v1/export handler currently emits v0.1 + sidecars; v0.3 will mint native v0.2 envelopes with PROV + bi-temporal fields populated from existing DB columns.

MPF v0.1.1 — initial public release

26 Apr 18:41

Choose a tag to compare

Think of it as the CSV export, but for agent memory.

First public release of the Memory Portability Format spec. Two
complementary use cases, one format:

  • Interop — migrate between memory systems (MNEMOS, Mem0, Letta, Graphiti, Cognee, MemPalace, Zep, …) without per-pair bespoke shims
  • Backup — self-describing, human-readable, schema-versioned archive of your memory state. Useful even if you never plan to migrate

What's in this release

  • Normative spec at MPF.md
  • JSON Schema (draft 2020-12) at schema/mpf-v0.1.json
  • Three canonical test vectors at vectors/
  • Standalone validatorpip install mpf[validate] then mpf-validate --file your_envelope.json
  • MIT licensed throughout — chosen to maximize adoption regardless of any peer system's license posture

Status

v0.1.x line. Forward-compatible: implementations should skip unknown record kinds and unknown sidecar fields. The schema is stable for kind: "memory" records plus three optional sidecars (kg_triples, memory_versions, compression_manifest).

Reference implementation

MNEMOS (Apache 2.0) produces and consumes MPF via its CHARON module and /v1/export / /v1/import endpoints.

Discussion

Spec-level / cross-system interop conversation lives at the master "the gods bring gifts" thread on this repo's Discussions. File issues for spec ambiguities, schema bugs, or vector-validation regressions.