Specialized-Agent Personal Memory

Technical contract and phased rollout for isolated durable memory owned by specialized agents.

Specialized agents have a durable personal notebook that is separate from shared company, room, conversation, and owner memory. The notebook is identified by the Memory v2 audience tuple audience_kind='agent' plus audience_key=<specialized-agent-id>. Its legacy projection uses agent_memories.memory_scope='agent', private visibility, and metadata.specializedAgentId for auditability.

P1: namespace, tagging, and scoped tools

P1 ships the invisible storage and isolation foundation:

  • enabled specialist runs write extracted and explicit memories to their own agent audience, including room and channel runs
  • memory_search and context_search accept scope="personal"|"shared"|"all"; memory_store accepts scope="personal"|"shared"
  • specialist search defaults to all, specialist storage defaults to personal, and main-agent behavior remains shared
  • personal access is always resolved from the active runtime envelope; callers cannot supply another specialist id
  • main bootstrap, Learning prompt injection, Wiki and Dreaming inputs, and Knowledge Graph projection exclude personal memory
  • personal_memory_enabled is stored and forwarded with the specialist runtime envelope; there is no P1 settings UI

Planned phases

  • P2 — prompt injection: selectively inject the current specialist's personal notebook into its prompt/bootstrap context.
  • P3 — promotion and Dreaming: define reviewed promotion from personal memory into shared memory and specialist-aware consolidation policies.
  • P4 — UI: expose management controls, notebook inspection, audit views, and operator-facing enable/disable settings.

P1 deliberately does not seed notebooks, inject personal facts automatically, promote personal facts into shared knowledge, or change Apple clients.