- Who wrote it? Which service, API key, Passport agent, or organisation connection observed the claim.
- Where did it come from? Which source event, payload hash, and evidence references produced it.
- Why is this version active? Which authority, recency, confidence, or human decision selected it over another claim.
Core objects
Service Writer
A Service Writer is a named identity for one backend service. Register one writer for each service that observes user facts. Examples:support-servicebilling-servicecrm-synclearning-platform
Source event
A source event is created for anadd() call that includes a source block. It records:
- your system event ID
- when your system observed the event
- which service wrote it
- SHA-256 payload hash
- optional evidence references
- optional scope metadata
Claim revision ledger
MemoryOS keeps claim revisions so conflict resolution does not erase history. When a newer or more trusted claim supersedes an older one, the older claim is archived instead of deleted. The active memory is what retrieval sees. The ledger keeps the full lineage for audit, dashboard inspection, and future graph work.Register a Service Writer
Send source metadata on add()
Idempotency and payload safety
Retrying the samesource.event_id with the same payload returns the original job path and does not duplicate extraction.
Retrying the same source.event_id with different messages returns a provenance conflict error. This prevents accidental mutation of historical source events.
Raw extraction payloads can be redacted after the configured retention window. The payload hash stays so the source event remains verifiable.
Conflict resolution
When two writers produce conflicting memories for the same user, MemoryOS compares claims using this order:- Writer authority for the memory category
- Source
observed_atrecency - Extraction confidence
- Human review when equally trusted sources disagree
Equal-authority conflicts
If equally trusted services disagree, MemoryOS does not silently choose one. It creates a review item. Example:- Support Service reports:
User's current subscription plan is Starter. - Billing Service reports:
User's current subscription plan is Growth.
Provenance in retrieve responses
retrieve and list include provenance when available: