A local-first, governed agent harness: high autonomy inside structurally-enforced boundaries (Autopilot, not YOLO).
Keel provides 6 tools with basic schemas and descriptions, but falls short of production quality. Tool names lack consistent verb prefixes (e.g., 'read' vs 'search' vs 'bash' vs 'process.run'). Descriptions are present but minimal (10-50 chars for most), providing insufficient context for LLM selection. Parameter descriptions exist but are sparse. Critical gaps: no output schemas documented, no error handling guidance, no pagination support for search results, no idempotent/destructive hints. The 'bash' and 'process.run' tools are high-risk irreversible operations with no confirmation or dry-run patterns. File access tools lack path traversal validation documentation.
Execute bash shell commands
Edit file content by replacing oldString with newString
Execute a process with argv array
Read file content with optional byte or line offset/limit slicing
Search for content or filenames with pattern matching and glob support
Write content to a file
Irreversible operations (bash, process.run) lack confirmation/dry-run patterns. No guidance on recovery or rollback. Agents can execute destructive commands without safeguards.
No output schemas documented for any tool. LLMs cannot predict response structure, forcing them to parse unstructured output and plan downstream calls blindly.
Tool descriptions are too brief (10-50 chars). Insufficient context for LLM selection. E.g., 'bash' description is 30 chars; should explain when to use vs process.run, what it returns, and risks.
Search tool lacks pagination support (no limit, offset, or cursor parameters documented). Large result sets will blow context window. No maxResults enforcement visible.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. LLMs cannot infer which tools are safe to retry, which modify state, or which are read-only without explicit hints.