Releases: ncz-os/mpf
MPF v0.2.0 — PROV-DM + bi-temporal + 9 migration guides
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 section —
who/what/whenfor 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 tracking —
valid_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,cogneemif— read-only one-way import path from MIF documents into MPF- Shared
_adapter_common.pyfactored 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 thepayload_versionfield on the envelope. - The MNEMOS server's
/v1/exporthandler 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
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 validator —
pip install mpf[validate]thenmpf-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.