Production-grade deep research consensus arbitrator that cross-references multi-source research citations and evaluates factual consensus using source authority, recency decay, and semantic contradiction vectors.
Single tool with partial schema definition. Tool name lacks action verb (should be 'evaluate_research_consensus' or 'verify_consensus'). Description is adequate (95 chars, within 10-1024 range) but generic. Input schema present with types and descriptions for all parameters, but output schema is completely undocumented, LLMs cannot plan downstream calls or extract structured data. No error handling guidance, no recovery paths, no validation rules in descriptions. Parameter 'claims' defaults to null with no guidance on required structure. Tool does not declare what it returns or how to interpret the verdict field.
Cross-reference multi-source research citations and evaluate factual consensus.
Tool name lacks action verb. 'verify_research_consensus' is passive; should start with verb like 'evaluate_', 'assess_', or 'check_'. LLMs infer intent from the name before reading description.
Output schema completely undocumented. Tool returns a dict with fields like 'verdict', 'consensus_score', 'evaluated_claims', but LLMs have no schema to understand structure, types, or field meanings. Cannot plan downstream calls or extract data reliably.
Parameter 'claims' defaults to null with no guidance. Description says 'List of claims...' but does not specify: is it required? What happens if null? What is the minimum/maximum array length? LLMs will pass null or malformed arrays.
No error handling or recovery guidance. If consensus calculation fails, LLM receives no actionable error message. No guidance on retryability, user-fixable vs fatal errors, or next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
Parameter descriptions lack validation rules. 'confidence' is described as 'Confidence score (0-1)' but does not state: is it required? What happens if outside [0,1]? 'year' has no bounds or format guidance.