Docs assistant

Searches these docs locally; a configured answer service can generate responses.

Ask about this page or the wider Carina docs. Try: “How do I roll back a patch?”

llms.txt

Skip to content

Markdown

Memory overview

Governed local memory, MemoryWrite capability, and optional HMS projection.

Memory

Carina’s local long-term memory belongs to the control plane, not the prompt builder. Memory mutation is a capability-mediated side effect (MemoryWrite).

Source: docs/architecture.md (Governed memory), docs/rpc-api.md (Memory API).

TargetPurpose
memoryProject / agent notes
userProfile facts (scoped by Nebutra identity when available)

The daemon stores bounded entries under its state directory. Each agent run receives a frozen memory snapshot in the prompt — writes during that run persist for future work without changing the current run’s stable prefix.

  1. Daemon builds a resource string from target, scope, action, operation count, and content hash
  2. Requests MemoryWrite from the Rust kernel
  3. Built-in policy defaults to requires_approval
  4. On allow: apply add/replace/remove/batch atomically after local content scanning and size checks
  5. Audit records decision + hash metadata — not raw memory text
# conceptual RPC
memory.list / memory.context / memory.status / memory.write

If approval is required, governance.action.approve applies the pending write; governance.action.deny discards it.

Resolution order:

  1. CARINA_NEBUTRA_IDENTITY_JSON
  2. Claims in CARINA_NEBUTRA_TOKEN
  3. CARINA_NEBUTRA_USER_ID
  4. Local fallback profile

Token claims choose a local memory scope only — they do not grant Gateway, kernel, or filesystem authority.

Optional HMS provider modes: off, hms-shadow, hms-hybrid.

  • Shadow evidence does not enter prompts
  • Hybrid evidence is frozen into the task checkpoint as a fenced, low-trust tool observation
  • HMS never changes local write/delete authority

HMS projection is a separate, disabled-by-default setting. After local commit, a durable outbox reconciles replace updates and delete tombstones. Projection independently requires NetworkAccess and MemoryExternalizeMemoryWrite approval is not sufficient.

  • memory.projection.authorize / retry / reseed
  • Projection failure never rolls back canonical local memory

See docs/integrations/hms-memory.md.

LayerLifetimeNotes
Turn contextSingle turnModel-visible working set
Session historySessionConversation + tool outcomes
Governed memoryDurable localCapability-gated
Audit storeDurableHash-chained, not model-writable

Was this page helpful?

One vote per page is recorded during this session.