Multi-model coding agent with cost-aware routing and ensemble capabilities for software development tasks
LEA provides 15 tools with explicit JSON Schema definitions in agentflow/tools.py. All tools have names starting with action verbs (list_, read_, write_, edit_, grep, glob, run_, git_, save_, finish, echo, sleep) and descriptions. However, many parameter descriptions are minimal or missing entirely. For example, 'list_dir' lacks a description for its 'path' parameter beyond 'Relative directory. Default \'.\''. The 'save_skill' tool has good parameter documentation, but tools like 'grep' and 'glob_files' have sparse descriptions. Output schemas are not documented, LLMs cannot infer what fields to expect from responses. Error handling is minimal; no recovery guidance or actionable error messages are evident. The 'run_shell' tool is high-risk (IRREVERSIBLE) but lacks warnings or dry-run capability. Overall, definitions are functional but lack the depth and LLM-optimization expected of production tools.
Return the supplied text.
Replace exactly one occurrence of old_string with new_string.
Call when the role's work is complete.
Show git status and a short diffstat for the workspace.
Find files by glob pattern relative to the workspace.
Regex search over text files in the workspace.
List files and folders under a workspace-relative path.
Output schemas not documented. LLMs cannot infer what fields responses contain, forcing them to guess or make wasteful follow-up calls.
run_shell is irreversible and high-risk but lacks dry-run, confirmation, or safety warnings. Agents can execute destructive commands without safeguards.
Many parameter descriptions are minimal or missing. E.g., 'glob' in grep is 'Optional filename glob, e.g. *.py', lacks format constraints or examples of valid patterns.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
List toolbox drawers/categories and how many skills each has.
List toolbox skills. Pass category to open one drawer (backend, frontend, testing, …).
Read a UTF-8 text file. Optional 1-based line range.
Read a toolbox skill by name (and optional category if names collide).
Run a command in the workspace. Windows uses PowerShell, otherwise bash.
Save a reusable procedure to the local toolbox so later tasks can reuse it. Only for repeatable recipes, not this task's changelog.
Wait for a number of seconds.
Create or overwrite a UTF-8 text file inside the workspace.
No error handling guidance. Tools return raw errors with no recovery hints. E.g., if read_file fails, LLM has no guidance on whether to retry, check the path, or call list_dir first.
Tool composition gaps. 'finish' lacks clear documentation of what 'blocking_issues' and 'followups' mean or how they affect downstream behavior.