Memory

forge-memory makes memory a runtime option with explicit scope and policy. It is not a hidden transcript cache.

Scopes

Memory is organized by visibility boundary:

Scope Use
Agent local Private working memory for one agent.
Task Memory that expires with a task or run.
Team or project Shared memory inside a team or project boundary.
Organization Organization-wide memory for authorized agents.

Memory types

Forge follows the Akasha memory model:

Type Meaning
Episodic Events, interactions, and temporal observations.
Semantic Facts, concepts, and relationships.
Procedural Skills, workflows, and executable procedures.
Associative Pattern completion and content-addressable recall.

Core API

The Rust reference crate exposes:

  • MemoryStore for backend implementations
  • MemoryScope for visibility boundaries
  • MemoryType for entry classification
  • MemoryEntry for stored records
  • MemoryQuery for retrieval
  • RetrievalPolicy for read controls
  • WriteBackPolicy for persistence controls
  • AgentMemory for the agent-facing interface
  • InMemoryStore for tests and standalone local runs

Operational rule

Memory reads and writes should be auditable. If memory affects a model call or tool decision, the run should emit enough metadata to identify which scope and policy were involved.

Use memory with Identity, Capabilities, and Telemetry when the memory boundary matters.