Graph-primary memory system for LLM agents. Provides persistent memory storage with semantic search, knowledge graph relationships, and LLM-driven consolidation cycles.
lattice0 presents a specialized memory-management tool suite with clear, domain-specific naming (remember, recall, forget, link, status, sleep, trace). All 7 tools have descriptions (avg ~120 chars, within baseline 34 - 392 range) and explicit JSON Schema input definitions with typed parameters. However, several tools lack parameter descriptions entirely (e.g., 'status' and 'sleep' have empty properties objects), and output schemas are not documented. The 'link' tool uses an enum for edge_type (good), but most tools lack validation guidance. Error handling and recovery paths are not visible in the provided code. Composition is sound, each tool has one responsibility, but descriptions could be more prescriptive about when to call each tool vs. alternatives.
Delete a stored memory by its ID. Use when the user asks to forget something or when information is outdated.
Create a directed edge between two memories.
Search and retrieve stored memories. Use this tool to look up previously remembered information, check what you know about a topic, or find context from past conversations. Always check memories before claiming you don't know something the user may have told you before.
Store a persistent memory. Use this tool whenever the user asks you to remember something, save information for later, or when you learn important facts about the user, their preferences, projects, or decisions. Memories persist across all sessions.
Trigger a memory consolidation (sleep) cycle.
Show the current status of the memory system: total memories stored, graph statistics, and last consolidation report.
Tools 'status' and 'sleep' have empty input schemas (no properties defined). This violates pattern:constrained-input and makes parameter intent opaque to LLMs.
Output schemas are not documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does 'recall' return? Is it a list of memory objects with IDs?). Violates pattern:tool and mxe:include-chaining-ids.
Parameter 'id' in 'forget' and 'link' tools lacks description. LLMs cannot infer that 'id' is a hex ChunkId without explicit guidance. Violates pattern:tool-description.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | <=2025-11-25 | v2 |
Show the retrieval plan for a query without executing it.
No error handling or recovery guidance visible. If 'recall' returns no results, or 'link' references a non-existent memory, what should the LLM do? Violates pattern:recovery-guide.
Destructive tool 'forget' lacks confirmation or dry-run capability. Agents can permanently delete memories without a safety gate. Violates pattern:confirmation-request.