A C++ agent framework providing tool providers for execution, filesystem, knowledge, memory, and process management with LLM integration
Critical failures across all dimensions. Two tools (run_process, run_shell) have completely empty input schemas with no properties defined. Four tools lack parameter descriptions entirely. Descriptions are present but generic (10-60 chars, well below the 194-char baseline). No output schemas documented. No error handling guidance. The framework appears to be a C++ agent toolkit with tool definitions, but the MCP server implementation is not visible, only header files showing tool structs. Cannot verify actual MCP registration, serialization, or protocol compliance from provided code.
Run a process with optional shell execution
Run a short Python snippet with bounded output and timeout.
Run a shell command
Save a durable long-term memory record when the user explicitly asks to remember a stable preference, project fact, or reusable context.
Search the external knowledge base for cited document chunks relevant to the query.
Search durable long-term memory records in the current application scope.
Two tools (run_process, run_shell) have empty input schemas with no properties defined.
run_process and run_shell lack descriptions entirely (20 chars or less). LLMs cannot determine when to use these tools.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Violates pattern:tool and pattern:response-shaper.
No error handling guidance in any tool description. LLMs receive no recovery hints (e.g., 'If timeout, retry with longer timeout_ms'). Violates pattern:recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Tool names 'run_process' and 'run_shell' are ambiguous. What do they do? Execute arbitrary commands? Accept shell syntax? Descriptions do not clarify. Violates pattern:tool naming rules.