Reasoning topology mapper for Claude Code — extracts claims from conversations, builds a dependency graph, detects vulnerabilities, and surfaces findings via MCP
Two tools with complete JSON schemas and basic descriptions, but significant gaps in parameter documentation and output schema clarity. 'topology' and 'claims' both have action enums and project parameters, but lack descriptions for most conditional parameters (claim_id, query, basis, format, kb_claims for topology; text, basis, confidence, source, depends_on, supports, contradicts, etc. for claims). Output schemas are not documented, LLMs cannot predict what these tools return. Tool descriptions are generic and do not explain WHEN to use each action or what each returns. No error handling guidance. Naming is acceptable (verb_noun pattern) but parameter naming could be clearer (e.g., 'depends_on' vs 'dependency_ids').
Modify the reasoning topology graph. Actions: register, challenge, merge, parse_transcript, ingest_document
Query and analyze the reasoning topology graph. Actions: get_topology, get_vulnerabilities, get_claim, search, viz, export, analyze_kb
Output schemas not documented. LLMs cannot predict return types for topology (get_topology, get_vulnerabilities, get_claim, search, viz, export, analyze_kb) or claims (register, challenge, merge, parse_transcript, ingest_document) actions. Each action likely returns different fields, without documentation, agents cannot chain tools or extract required IDs.
Conditional parameters lack descriptions. 'claim_id' is described only as 'Claim ID (for get_claim)' but topology schema shows it applies to get_claim action only, no guidance on format, how to obtain it, or what happens if missing. Same for 'query', 'basis', 'format', 'kb_claims' in topology and 'text', 'basis', 'confidence', 'source', 'depends_on', 'supports', 'contradicts' in claims.
Tool descriptions are generic and do not explain WHEN to use each action or what each returns. 'Query and analyze the reasoning topology graph. Actions: get_topology, get_vulnerabilities, get_claim, search, viz, export, analyze_kb' lists actions but does not explain the difference between get_topology and analyze_kb, or when to call search vs get_claim. LLMs cannot disambiguate.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
No error handling guidance. If a claim_id is invalid, or a project does not exist, or a document_path is not found, the tools provide no recovery hints. Error responses should guide LLMs: 'Project not found. Available projects: [list]' or 'Claim ID invalid. Try search() to find claims.'
Parameter format constraints not specified. 'confidence' is described as 'Confidence 0-1' but no validation guidance. 'max_chars' defaults to 12000 but no min/max bounds stated. 'since_turn' is an integer with no range. LLMs may pass invalid values (confidence=2, max_chars=-1, since_turn=-100).