A macOS orchestration platform for multi-agent AI systems with MCP tool server support for spawn, send, kill, rename, and report operations
Vigil exposes 5 tools with clear verb-noun naming (spawn, send, kill, report, rename). All tools have descriptions (avg ~100 chars) and input schemas with typed parameters. However, schemas lack critical details: no enums for constrained values (e.g., role='leaf|manager'), no output schemas documented, and descriptions are terse without explaining WHEN to use each tool or what happens on failure. Parameter descriptions are minimal (e.g., 'Target node ID' without format/validation rules). Error handling is mentioned in code comments but not surfaced in tool definitions. No tool annotations (destructiveHint, readOnlyHint) despite kill being destructive. Composition is sound (each tool does one thing), but the interface assumes agents understand Vigil's node tree model without explanation.
Terminate a target node and cascade-delete its subtree. Emits a kill request struct and awaits the reply.
Root self-naming. Validates synchronously; empty/whitespace names are rejected as errors. Non-empty names pin the label so later automatic naming yields.
Fire-and-forget rollup report from a node. Emits a rollup command with a summary; no reply is awaited.
Send a message to a target node. Waits for delivery verdict (target exists, is live, and message is injected) and surfaces drops as errors with readable reasons.
Spawn a new child node with optional role, task, model, and display name. Emits a spawn request struct and awaits the reply.
No output schemas documented. Tools return results but LLMs cannot plan downstream calls without knowing response structure (e.g., does spawn return node_id, parent_id, timestamp?).
Destructive tool (kill) lacks destructiveHint annotation and no confirmation/dry-run pattern. Agents cannot reason about irreversibility.
Parameter descriptions lack format/constraint details. 'role' accepts 'leaf' or 'manager' but no enum declared; 'node' is a string ID with no format guidance; 'name' must be non-empty but constraint not in schema.
Tool descriptions do not explain WHEN to use each tool or dependencies. E.g., spawn description does not mention that role='manager' enables spawn/send/kill on children, while role='leaf' only allows report.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Error handling not surfaced in tool definitions. Code comments mention 'delivery verdict' and 'drops as errors' but tool descriptions do not explain what errors are possible or how to recover.