Brain-inspired persistent memory for AI coding assistants with hybrid BM25+vector search, ACT-R activation scoring, FadeMem decay, and knowledge graph traversal
18 tools with complete schemas and descriptions, but quality is uneven. Most tools have adequate naming (verb_noun pattern) and descriptions (100-300 chars), but parameter descriptions lack depth and output schemas are not formally documented. Security scanning in add_memory is good; error handling is minimal across most tools. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Output is JSON strings rather than structured objects, forcing LLM parsing. Novelty checking and ACT-R scoring add sophistication but are not exposed to the agent for reasoning.
Store a new memory. Types: fact, episode, decision, correction, identity, person. Protected memories never decay. Returns the memory ID.
Sync memories with other agents via changelog.
Check for conflicting memories between agents.
Verify database integrity and consistency.
Compress a memory using the CogCanvas-inspired compaction pipeline.
Run FadeMem decay algorithm to archive stale memories.
Extract memories from a conversation transcript.
Output schemas not formally documented. All tools return JSON strings; LLM must parse unstructured text. No field descriptions for response objects (e.g., search returns 'hybrid_score' but no explanation of scoring methodology or range).
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLM cannot distinguish safe reads from destructive writes without parsing descriptions. forget, decay_sweep, reindex, agent_sync, compact_text are WRITE/REVERSIBLE but unmarked.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Archive a memory to the graveyard. Protected memories cannot be forgotten.
Get a single memory by ID with full content and metadata.
Search the knowledge graph by entity or relationship.
Get knowledge graph statistics.
Pure BM25 keyword search. Use for exact terms, file names, error codes.
List recently created memories.
List topic clusters from the knowledge graph (if built) or content types.
Re-index the vault. Incremental by default (only changed files). Set force=True to re-index everything.
Hybrid search: BM25 keywords + vector similarity + ACT-R scoring. Returns ranked results with scores. Use this for any 'what do I know about X' query.
Get memory system statistics.
Update an existing memory's content, tags, or protected status.
Parameter descriptions lack actionable constraints. 'limit' appears in 8 tools with no min/max bounds stated (e.g., search limit=10 default, but is 1000 valid? 1000000?). 'content_type' in search has no enum values listed in description.
Error handling minimal. add_memory returns JSON with 'error' field on credential scan or embedding failure, but most tools (get, update, forget, stats, reindex) have no visible error handling. No recovery guidance (e.g., 'If search fails, try keyword_search').
graph_stats_tool and stats have generic names. 'stats' could mean memory stats, system stats, or performance stats. Rename to 'get_memory_stats' and 'get_graph_stats' for clarity per verb_noun pattern.