Skip to main content
Provenance answers three questions about a memory:
  • 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.
This is the governance layer behind MemoryOS. It matters most when multiple services or agents write memories about the same user.

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-service
  • billing-service
  • crm-sync
  • learning-platform

Source event

A source event is created for an add() 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
Every memory created by that job points back to the source event.

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

Use separate API keys per service in production. Bind each writer to its key from the Tenant Dashboard when you are ready for production traffic.

Send source metadata on add()

Idempotency and payload safety

Retrying the same source.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:
  1. Writer authority for the memory category
  2. Source observed_at recency
  3. Extraction confidence
  4. Human review when equally trusted sources disagree
Example authority rules:
A billing service can be trusted more for subscription facts, while a chat service may be trusted more for user preferences.

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.
If both have equal authority, the tenant dashboard shows the conflict for review. If it is a personal Memory Passport conflict, it appears in the user’s Pending Questions tab. The losing claim is not hard-deleted. It is kept in the revision ledger and marked inactive or archived.

Provenance in retrieve responses

retrieve and list include provenance when available:
Legacy memories may have partial provenance. The Operator Console shows provenance coverage and unattributed lineage so the MemoryOS team can backfill safely.

Inspect source events

Use this endpoint to inspect source events, payload hashes, linked extraction jobs, evidence references, and scope metadata.

Error codes

Who needs provenance?