persistent, layer-isolated memory for AI agents: 5 primitives, hybrid search, knowledge graphs
Critical failures across all dimensions. 66 tools with minimal schema visibility in source code, tool definitions appear inferred rather than explicitly registered with JSON Schema. Descriptions are present but generic (10-50 chars typical), far below the 50-200 char LLM-optimized baseline. No parameter type definitions visible. No output schemas documented. No error handling guidance. Tool names lack clarity (e.g., 'think', 'dream', 'project' are vague; 'memory_*' prefix is repetitive). No evidence of input validation, permission gates, or security patterns. This server prioritizes feature breadth over definition quality.
Generate a daily briefing from memory
Primitive: generate hypothetical scenarios and explore possibilities
Primitive: update and refine existing memories
Primitive: delete or suppress memories
Manage API keys for memory access
Create a backup of memory data
Create memory branches (Phase D D1.11)
No input schemas visible in source code. All 66 tools lack documented JSON Schema with parameter types and constraints. Cannot verify LLM can infer valid inputs.
Descriptions are generic and under 50 characters (e.g., 'Store a fact or observation in user/agent memory' = 48 chars). LLM-optimized descriptions should be 50-200 chars with WHEN/WHY context.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | <=2025-11-25 | v2 |
Clean up memory data
Compress memory (Phase D D1.4)
Get current memory context
Inject context into memory
Generate counterfactual memories (Phase D D1.20)
Access raw memory data
Diagnose memory issues (Phase E E3)
Manage disclosure rules (Phase E E11)
Get a specific episode
List all episodes
Recall episodic memories
Save an episodic memory entry
Trace fact provenance (Phase D D1.6)
Get smart context (Phase D D1.10)
Add nodes and edges to the knowledge graph
List graph edges
List graph nodes
Query the knowledge graph
Heal memory issues (Phase E E3)
Access memory history ledger (A2.2)
Register and fire lifecycle hooks
Load memory rules (Phase D D1.9)
Purge lucidity data from memory
Execute memory procedures (Phase D D2.5)
Manage memory proposals (Phase C C1.11 S5)
Assess memory quality (Phase D D1.19)
Query memory with DSL (Phase D D1.7)
Retrieve facts and observations from memory
Execute recall protocol (Phase D D1.1 S3)
Generate memory recap (Phase D D1.2)
Generate reflections on memory (Phase D D1.16)
Store a fact or observation in user/agent memory
Generate memory report card (Phase C C1.14 S5)
Manage memory sagas (long-running operations)
Save typed memory (Phase D D1.8)
Use memory scratchpad (Phase D D1.15)
Search memory with hybrid search
End the current session context
List all sessions
Begin a new session context
Promote a skill or capability in memory
Manage standing queries (A2.5)
Stash memory changes (Phase D D1.12)
Get memory statistics
Steer memory behavior (Phase D D1.3)
Synchronize memory replicas
Watch memory for changes (Phase C C1.10 S6)
Primitive: create future-oriented projections and plans
Primitive: record internal reasoning and thoughts
Wake up the agent (Stage 2-C E10)
Add an entry to the wiki
Delete a wiki entry
Create links between wiki entries
List wiki entries
Query wiki with advanced filters
Read a wiki entry
Generate reflections on wiki content
Search the wiki
Generate a summary of wiki content
Vague tool names lack action verbs or clarity. 'think', 'dream', 'project', 'evolve' do not convey what the tool does. 'memory_*' prefix is repetitive across 50+ tools. LLMs cannot disambiguate intent.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., does memory_remember return a memory_id for later recall?).
No error handling guidance. Destructive tools (forget, wiki_delete, memory_cleanup, memory_lucidity_purge) lack confirmation steps or recovery instructions. Agents cannot self-correct on failure.