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:
MemoryStorefor backend implementationsMemoryScopefor visibility boundariesMemoryTypefor entry classificationMemoryEntryfor stored recordsMemoryQueryfor retrievalRetrievalPolicyfor read controlsWriteBackPolicyfor persistence controlsAgentMemoryfor the agent-facing interfaceInMemoryStorefor 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.