polyc-persona-memory 2026.9.0

Per-persona memory: types + a pure fold over the shared eventlog primitive's events.
docs.rs failed to build polyc-persona-memory-2026.9.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

Per-persona memory: a pure model over a journal partition's events.

Model

Each persona owns one append-only journal partition ([partition_name]: persona-{id}-mem) on the shared [polyc_eventlog] primitive — no new storage infrastructure. Facts, invalidations, profile-document rewrites, and conversation summaries are proto-typed events (polychrome.events.v1.Memory*, registered in the canonical kind table); the [MemoryView] is their fold, rebuilt identically by replay on every read ([MemoryView::from_events]).

Contradictions invalidate, never delete: a memory_invalidated event closes the fact's validity interval and both events stay replayable — the ACTIVE view changes, history doesn't. Erasure is a different operation entirely (dropping the partition wholesale), which is exactly why memory payloads live in these per-persona partitions and nowhere else.

Runtime

This crate is types + the [apply] fold only — no runtime dependency, no I/O. The control plane's EventLogHost bridge owns the actual journal (open/append/commit/replay) and calls [MemoryView::from_events] over what it reads back.