Coding agent CLI engineered to make any LLM — local or cloud, frontier or 7B — actually useful. Multi-tab sessions, automatic key+model failover, plan mode, MCP, and recovery loops for models that misbehave.
Factory Code exposes 9 tools with minimal schema documentation and sparse descriptions. Most tools lack parameter type definitions in visible code. Bash, Read, Write, Edit, Grep, Glob, WebFetch, Delegate, and Respond are defined with only name and brief description; input schemas are inferred from tool-names.ts and text-tool-parser.ts but lack explicit JSON Schema registration. Descriptions are generic (10-40 chars) and do not explain WHEN to use each tool or what happens on failure. No output schemas documented. Destructive tools (Bash, Write, Edit) lack confirmation patterns or dry-run support. Error handling is absent from visible definitions.
Execute shell commands
Delegate task to a sub-agent
Edit file contents with line-based replacements
Find files matching glob patterns
Search for patterns in files
Read file contents
Send response to user
Fetch content from URLs
Destructive tools (Bash, Write, Edit) lack confirmation or dry-run patterns. No error guidance for recovery.
All tool descriptions are under 40 characters and generic ('Execute shell commands', 'Write file contents'). No WHEN/WHY guidance for LLM selection.
Input schemas lack explicit JSON Schema type definitions. Parameters visible in code but not formally registered with types and constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
Write file contents
No output schemas documented. LLMs cannot predict return structure or plan downstream tool chains.
Bash tool accepts arbitrary shell commands with no input validation, sanitization, or injection guards. High security risk.