LLM confidence scoring layer — score, verify, and triage any LLM response
Verity defines 3 tools with complete input schemas and descriptions. However, parameter descriptions are sparse or missing entirely. score_response has 6 parameters but only 2-3 have substantive descriptions; extract_claims and get_hitl_decision lack parameter-level detail. Output schemas are not documented. Error handling is minimal, no recovery guidance or actionable error messages. Tool names are clear (verb_noun pattern), but the server lacks composition guidance and does not document what fields downstream tools should expect.
Decompose an LLM response into atomic verifiable claims with metadata.
Given a ScorecardResult, return the HITL decision (ACCEPT / REFINE / REJECT / ESCALATE) and an optional refinement prompt.
Score an LLM response for source grounding, factual consistency, claim specificity risk, and hedging calibration. Returns a full ScorecardResult with HITL recommendation.
Parameter descriptions incomplete or missing. score_response has 6 parameters; only 'response_text' and 'prompt_text' have substantive descriptions. 'sources', 'source_model', 'domain', 'request_id' lack detail on format, constraints, or when to use them.
Output schemas not documented. Tools return ScorecardResult, claims array, and HITL decision objects, but the response structure is not declared in the tool definition. LLMs cannot plan downstream calls without knowing what fields to expect.
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. A malformed scorecard in get_hitl_decision will fail with a Pydantic validation error, not a user-friendly message.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | <=2025-11-25 | v2 |
Parameter 'domain' in score_response is an enum (general|clinical|legal|financial) but the description does not explain when to use each value or what scoring adjustments they trigger.
extract_claims accepts only 'response_text' but does not document the expected length, language, or format. No guidance on what happens if text is too long or in an unsupported language.