Source-traceable, revisioned memory runtime for AI agents.
RecallOrigin has 4 tools with basic verb-noun naming (memory_put, memory_context, memory_search, memory_forget). All tools have descriptions (10-60 chars), but most are terse and lack actionable context for LLM selection. Input schemas are present with typed parameters and descriptions, but lack enums for constrained values (e.g., 'mode' accepts 'remember', 'capture', 'feedback', 'govern' but is declared as free-form string). No output schemas documented. Error handling and recovery guidance absent. Idempotency support noted in memory_put but not enforced across other write operations.
Retrieve contextual memory information and evidence packs
Delete or forget memories from the system
Store or update a memory claim in the system
Search for memories matching a query
Mode parameter accepts free-form string instead of enum. 'mode' in memory_put and memory_context should declare allowed values ('remember', 'capture', 'feedback', 'govern', 'evidence', 'fast') as enum constraint, not description text. LLMs cannot parse description-embedded enums reliably.
No output schemas documented. Tools return results but LLMs cannot plan downstream calls without knowing response structure. memory_search should document: returns array of {claim_id, content, scope, timestamp, evidence_pack?}. memory_context should document evidence pack structure.
Descriptions are terse (30-60 chars) and lack WHEN/WHY context. 'Retrieve contextual memory information and evidence packs' does not explain when to call memory_context vs memory_search, what 'evidence' mode returns vs 'fast', or what ttl_seconds controls. Descriptions should be 50-200 chars with actionable guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
memory_forget lacks confirmation or dry-run pattern. Destructive operations should support a confirmation step or return a preview of what will be deleted before executing. No guidance on recovery if wrong scope/target is provided.
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. E.g., if memory_search returns 'scope not found', should the LLM retry, ask the user, or try a different scope? No recovery hints provided.