Personal, persistent, self-learning memory for AI coding assistants
Five tools with complete schemas and descriptions, but quality is uneven. Tool names lack action verbs (ai-memory-* prefix is generic). Descriptions are adequate (60-120 chars) but lack WHEN/WHY guidance. Parameters have types and descriptions, but no enums for constrained values (e.g., 'role' should be enum: [user, assistant]). Output schemas are not documented. Error handling is absent, no recovery guidance or actionable error messages visible in source. Composition is reasonable (single responsibility per tool), but missing pagination details and chaining IDs in responses.
Retrieve a specific conversation by ID along with all its turns
List conversations with optional filters for workspace, project slug, and date range
Search conversations by query text with optional filters for workspace, date range, and role
Get the current status of the ai-memory system including database information and health checks
Update or create a summary for a conversation, optionally updating its title
Tool names lack action verbs. All five tools use 'ai-memory-*' prefix instead of verb_noun pattern (search_, list_, get_, update_). LLMs cannot infer intent from names alone.
No output schemas documented. Callers cannot predict response structure, forcing LLMs to guess field names and types. Breaks tool chaining.
Constrained parameters lack enums. 'role' in ai-memory-search accepts free-form strings instead of enum [user, assistant]. Invites hallucinated values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Descriptions lack WHEN/WHY guidance. 'Search conversations by query text...' tells WHAT but not WHEN to use this vs ai-memory-conversations. LLMs cannot disambiguate.
No error handling or recovery guidance in source. Errors will be raw exceptions with no actionable next steps for LLM.