Real-time module dependency graph dashboard with MCP integration
8 tools with READ_ONLY and WRITE operations. Tool names follow verb_noun pattern (get_, list_, declare_, report_). Descriptions present but brief (avg ~80 chars, below 194-char baseline). Input schemas visible for all tools with proper JSON Schema types. Critical gaps: no output schemas documented, no error handling guidance, no parameter constraints (enums, ranges), no idempotency hints for WRITE operations. Missing descriptions for return values forces LLMs to guess downstream field names. No pagination support despite potential for large result sets (e.g., health_report, impact analysis).
Declare the scope of edits by specifying files and/or modules for change impact analysis
Get change evidence chain including changes, impacts, overall risk assessment, and Chinese heuristics text for risk rules
Get dashboard information including watched root path, dashboard URL, node/edge counts, and module table
Get health report ranking modules by risk score with weights for high centrality, untested status, type errors, cycles, and review errors
Get upstream or downstream impact analysis for a module, showing affected modules at each depth level
Get detailed information about a module including source code, dependencies, dependents, language, and test state
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., module IDs from health_report for chaining to get_impact). Violates pattern:tool and mxe:include-chaining-ids.
WRITE operations (declare_edit_scope, report_edits) lack idempotency hints, confirmation steps, and error recovery guidance. No dry-run support. Agents cannot safely retry on ambiguous failures. Violates pattern:confirmation-request and pattern:idempotent-operation.
No parameter constraints (enums, ranges, patterns). 'direction' in get_impact accepts 'upstream' or 'downstream' but no enum declared. 'maxDepth' unbounded. LLMs will hallucinate invalid values. Violates pattern:constrained-input.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
List all untested modules in the project with total module count and untested count
Report edited files and verify they are within the declared scope; returns out-of-scope files and preexisting state
Descriptions too brief (avg 60 chars vs 194-char baseline). Missing WHEN to use each tool and dependencies. E.g., get_impact lacks guidance on when to call upstream vs downstream. Violates pattern:tool-description.
No error handling guidance. Tools return success/failure but no recovery hints (e.g., 'out-of-scope files' in report_edits, what should LLM do next?). Violates pattern:recovery-guide.