Local control plane for model inference — local-first desktop workspace with chat, terminal, notes, and persistent memory
Guardian exposes 7 PTY and terminal history tools with basic schemas and descriptions. All tools have descriptions (10-80 chars) and input schemas with typed parameters. However, descriptions are minimal and lack LLM-optimized guidance on WHEN to use each tool or what happens next. Parameter descriptions are present but terse. No output schemas documented. Error handling is absent, no guidance on retryability, recovery steps, or actionable error messages. Tool naming follows verb_noun convention (create, write, resize, kill, snapshot, search, recent) but lacks clarity on distinctions (e.g., snapshot vs. history:search). No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Composition is reasonable, each tool has one responsibility, but chaining guidance is missing.
Create a new PTY (pseudo-terminal) session with specified dimensions and working directory
Terminate a PTY session
Resize a PTY session to new dimensions
Save a snapshot of terminal content for history and search
Write data to a PTY session and capture it in terminal history
Retrieve recent terminal commands from history
Search terminal history by query with optional result limit
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess at downstream chaining and risking context loss.
Descriptions are 30 - 80 characters, below the 50 - 200 char baseline for LLM-optimized guidance. They state WHAT but not WHEN to use or what happens next. E.g., 'Write data to a PTY session' lacks context on whether this is idempotent, what the response contains, or how it chains to other tools.
No error handling guidance. Tools do not indicate which errors are retryable, what recovery steps exist, or what the LLM should do if a PTY session is not found or a write fails.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | <=2025-11-25 | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot determine which tools are safe to retry, which modify state, or which are read-only without explicit hints.
Parameter descriptions are terse (5 - 20 chars). E.g., 'Unique identifier for the PTY session' for 'id' is generic; it should clarify format, constraints, and whether the LLM can choose the ID or must use a returned value.