Local-first flight recorder for AI coding agents: hash-chained audit trail, MITRE-mapped sequence detection, DLP
Four tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (echo, read_note, read_jsonl_tail, list_notes), which is good. However, descriptions are minimal (10-60 chars), falling below the 50-200 char baseline for LLM-optimized descriptions. Parameters lack detailed constraints, ranges, and format specifications. No documented output schemas. Error handling and recovery guidance absent. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being READ_ONLY. Schema completeness is low, parameters have types but lack depth.
Reverse the input text.
List markdown files under a vault-relative folder ('' = whole vault).
Read the last N JSONL records from a vault file, formatted as markdown.
Read a vault-relative markdown note (e.g. '00-Inbox/meeting.md').
Descriptions are too short (10-60 chars vs. 50-200 char baseline). 'Reverse the input text' and 'Read a vault-relative markdown note' lack context for LLM tool selection. Should explain WHEN to use each tool and what it returns.
No output schemas documented. LLMs cannot plan downstream calls or extract fields without knowing what each tool returns. read_jsonl_tail and list_notes especially need documented return structures.
Parameter descriptions lack constraints and format guidance. 'limit' in read_jsonl_tail states 'default 20, max 50' in description but no min/max in schema. 'path' and 'folder' parameters lack format specs (e.g., 'must not start with /', 'use forward slashes').
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | <=2025-11-25 | v2 |
No tool annotations despite all tools being READ_ONLY. Missing readOnlyHint in tool definitions. This prevents agents from understanding which tools are safe to call without side effects.
No error handling or recovery guidance. Tools lack descriptions of failure modes (e.g., 'path not found', 'invalid JSONL format'). LLMs cannot self-correct without actionable error messages.