Governed agent workbench: attributed, approvable, revertable AI agents over your local markdown vault
Machina provides 12 tools with complete JSON Schema definitions and descriptions for all tools and parameters. Naming follows verb_noun conventions (read_note, write_note, search_vault, etc.). However, descriptions are brief (avg ~60 chars) and lack actionable context for LLM selection. Parameter descriptions are present but minimal. Error handling is basic, no recovery guidance or categorization. Output schemas are not documented. No tool annotations (readOnlyHint, destructiveHint). Composition is sound: tools are single-responsibility and chainable (e.g., list_vault → read_note). Security: write tools (write_note, edit_note, pin_to_canvas) lack confirmation/dry-run patterns despite modifying state.
Close a dock tab by index or kind
Edit a note by finding and replacing text content
Set the viewport (pan and zoom) of a canvas
List all canvases in the vault with their card counts
List files in the vault matching optional glob patterns
Open a dock tab (canvas, editor, graph, ghosts, or health)
Add a card to a canvas, optionally linking to a vault note or embedding markdown content
Tool descriptions are too brief (avg 60 chars, baseline 194 chars). Lack context for LLM selection and when to use vs. similar tools. E.g., 'Read the content of a note file from the vault' does not explain when to call read_note vs. search_vault.
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess downstream field names and risk broken tool chains.
Write tools (write_note, edit_note, pin_to_canvas, unpin_from_canvas, focus_canvas) lack confirmation/dry-run patterns. Agents can destructively modify vault state without approval workflow visibility in tool definitions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Read the structure and content of a canvas (nodes, edges, viewport)
Read the content of a note file from the vault
Search the vault for a query string using ripgrep or JavaScript fallback
Remove a card from a canvas by ID
Write or create a note file in the vault with approval workflow
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe read-only tools from destructive ones without explicit hints.
Error handling lacks recovery guidance and categorization. Errors do not indicate whether they are retryable, user-fixable, or fatal. E.g., 'PATH_OUT_OF_VAULT' error provides no guidance on what to do next.