Chisel has 19 tools with complete input schemas and descriptions, but quality is uneven. Most tools have adequate naming (verb_noun pattern) and descriptions (50-150 chars), but lack output schema documentation, error handling guidance, and parameter validation details. No tool annotations (readOnlyHint/destructiveHint). Parameter descriptions are minimal, many lack format/range constraints. Risk classification is present (READ_ONLY vs WRITE) but not surfaced to LLMs. Missing: pagination guidance, idempotency markers, recovery hints in error cases.
Run full project analysis
Cancel a background job
Show churn stats for a file
Show co-change coupling for a file
Auto-detect changes and show impacted tests
Show commit history for a file
Show impacted tests for files
Poll a background job from start_job
No output schema documentation. Tools return results but LLMs cannot predict field names, types, or structure. Forces agents to guess downstream field names and risks broken tool chains.
Missing tool annotations. No readOnlyHint/destructiveHint/idempotentHint in schemas. LLMs cannot distinguish safe (read-only) from dangerous (WRITE) operations without explicit hints. Risk classification exists in metadata but is not exposed to LLM reasoning.
Parameter descriptions lack format/range constraints. E.g., 'limit' has no min/max; 'coverage_mode' enum is documented but not all params specify valid ranges. LLMs cannot validate inputs without explicit constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Show ownership breakdown for a file
Record a test result (pass/fail)
Show risk scores for all files
Run tests and automatically record results
Detect stale tests
Run analyze or update in a background thread
Show database summary counts
Suggest tests for a file or directory
Find code units with no test coverage
Incremental re-analysis of changed files
Suggest reviewers for a file
No pagination or result-limiting guidance in tool descriptions. Tools accept 'limit' but descriptions do not state default, max, or when pagination is needed. Large result sets risk context window exhaustion.
Error handling lacks recovery guidance. No indication of retryable vs fatal errors, or what the LLM should do next. E.g., if 'analyze' fails due to stale DB, should the agent call 'update' first?