MemoryD demonstrates strong semantic design with 17 well-named, verb-prefixed tools (memory_remember, memory_recall, memory_forget, etc.). All tools have descriptions (avg ~100 chars, within baseline 34-392 range). Input schemas are present and properly typed with JSON Schema. However, parameter descriptions are sparse or missing entirely, most params lack explanatory text beyond the name. Output schemas are not documented. Error handling is minimal (generic 400/404 responses). The domain is sophisticated (memory consolidation, belief derivation, provenance tracking) but the tool interface underexplains itself to LLMs.
Read conservative direct beliefs and unresolved conflicts with their source memory IDs.
Create a provenance-linked durable summary from recent atomic memories. This does not delete its sources.
Build a compact LLM-ready context for continuing a task or conversation.
Read the append-only runtime event history for auditing and debugging.
Return one direct belief and the exact active memories that support it.
Soft-forget a memory so it no longer appears in normal recall. Do not use for changed facts; use supersedes.
Create an isolated writable brain from a MemoryD snapshot.
Parameter descriptions missing or minimal. Most params (e.g., 'query', 'limit', 'kind', 'relation', 'at') lack explanatory text. LLMs cannot infer parameter semantics from names alone.
Output schemas not documented. Tools return structured data (memories, beliefs, state) but LLMs have no schema reference for downstream planning or field extraction.
Error handling is generic. HTTP 400/404 responses with minimal context. No recovery guidance (e.g., 'memory not found, try memory_recall() to search'). LLMs cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2025-06-18+ | v2 |
Fetch a memory and its provenance relationships by ID.
Create a typed directional relationship between two existing memories.
Merge new fork knowledge into this brain; conflicting current state remains unchanged and is reported.
Analyze an experience and store only conservative durable candidates; ordinary chatter is ignored.
Find relevant active memories with hybrid lexical, importance, confidence, recency, and reinforcement scoring.
Generate reviewable consolidation, open-question, and duplicate proposals without changing memory.
Store one durable, atomic memory. Use supersedes instead of overwriting a changed fact.
Create a named, non-overwriting SQLite snapshot from this brain.
Read current materialized state facts, or their history, by subject and key.
Return the most recently updated active memories.
Destructive operations (memory_forget, memory_merge) lack confirmation or dry-run support. Agents can irreversibly delete or merge memories without safeguards.
Parameter 'relation' in memory_link accepts free-form strings with no enum or validation. LLMs may hallucinate invalid relation types.