Harlo v8.0 — biologically-architected AI memory. Uses recall to search memory, store to save traces, coach for coaching context, patterns for pattern detection, status for session info.
Harlo exhibits significant definition quality gaps. Tool descriptions are present but lack actionable detail for LLM selection. Input schemas are visible but incomplete: 'recall' and 'patterns' lack type info for the 'query' parameter; 'store' metadata is untyped object; 'coach' focus lacks constraints. No output schemas documented. Parameter descriptions are minimal (10-30 chars), below the 72-char baseline. No error handling guidance. Tools lack verb-noun clarity ('twin_session_status' is vague; 'recall' could be 'search_memory'). No enum constraints on depth parameter despite fixed options. Composition is reasonable (5 focused tools) but descriptions don't explain when to use each vs. alternatives.
Get coaching context from Harlo based on current state and recent traces.
Detect patterns in Harlo's memory traces.
Search the Harlo's memory for traces matching a query. Uses semantic SDR encoding (BGE + LSH) to find relevant stored traces via hamming distance. Returns context string, matching traces, and confidence score. The recall runs through the v9 engine so the exchange_index advances and schedule state stays current.
Store a trace in Harlo's memory with semantic encoding and optional metadata.
Get the current session status including engine health, observations, schedule, and routing information.
Input schemas lack type definitions for critical parameters. 'query' in recall/patterns has no type; 'metadata' in store is untyped object; 'focus' in coach has no type or constraints.
Parameter descriptions are too brief (10-30 chars vs. 72-char baseline). 'depth' is described as '"normal" (top 5) or "deep" (top 15)' but lacks explanation of when to use each. 'focus' in coach has no description at all. LLMs cannot infer parameter meaning from names alone.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. 'recall' returns 'context string, matching traces, confidence score' but structure is undefined. 'store' return value unknown. Violates pattern:tool requirement.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
Enum constraint missing for 'depth' parameter in recall. Despite fixed options ('normal', 'deep'), no enum declaration. Free-form strings invite hallucinated values like 'very_deep' or 'shallow'.
Tool naming lacks clarity. 'twin_session_status' is vague (what is a 'twin'?). 'recall' could be 'search_memory' for clarity. 'coach' lacks context (coaching what?). Names should start with action verbs and be self-documenting.