6.6 KiB
MODIFIED Requirements
Requirement: Verifier SHALL fact-check Executor answers
The system SHALL have a Verifier Agent that reads structured Executor claims and the tool call history, then produces a structured verdict based on claim derivability.
Scenario: PASS verdict when all claims have evidence
- WHEN all critical claims in
executor_structured_output.claimshave direct observation or reasonable inference support in tool call results - AND at least one critical claim has direct observation
- AND no critical claim is contradicted, unsupported, external unknown, or overstated
- AND
gatekeeper_result.statusis notfail - THEN the Verifier MAY output verdict="PASS" with groundedness_score ≥ 0.5
Scenario: LOW_CONFID verdict with partial evidence
- WHEN no critical claim contradicts the tool results
- AND some critical claims are
unsupported,external_unknown, oroverstated - THEN the Verifier SHALL output verdict="LOW_CONFID"
Scenario: LOW_CONFID verdict with only inference support
- WHEN no critical claim contradicts the tool results
- AND all critical claims are only
reasonable_inference - THEN the Verifier SHALL output verdict="LOW_CONFID"
Scenario: REJECT verdict when claims contradict evidence
- WHEN any critical claim in
executor_structured_output.claimscontradicts tool call results - OR the claim fabricates a key entity, error code, or conclusion that does not exist in the tool evidence
- THEN the Verifier SHALL output verdict="REJECT"
Scenario: Structured Executor claims are verified first
- WHEN
executor_structured_output.claimsis present and valid - THEN Verifier SHALL verify each structured claim against
tool_trace_summarythroughclaim_checks - AND each claim's evidence bindings SHALL reference existing trace or invocation identifiers when those identifiers are available
- AND a claim with fabricated or missing evidence references SHALL NOT be classified as
direct_observation - AND Verifier SHALL NOT add extra confirmed facts from
executor_final_answerthat are absent fromexecutor_structured_output.claims
Scenario: Malformed structured output cannot pass through natural language fallback
- WHEN Executor does not return parseable structured output
- THEN Verifier SHALL NOT produce an effective
PASSby extracting facts fromexecutor_final_answer - AND the effective verdict SHALL be
LOW_CONFID
Requirement: Verifier SHALL output structured JSON
The Verifier SHALL output a JSON object with verdict, groundedness_score, claim_checks array, compatibility facts_checked array, and rationale.
Scenario: claim-level verifier output is accepted
- WHEN the Verifier checks Executor V2 structured output
- THEN the output SHALL contain
verdict,groundedness_score,critical_fact_count,claim_checks,facts_checked, andrationale - AND
claim_checksSHALL be the primary V2 verification result - AND
facts_checkedSHALL remain available for compatibility
Requirement: facts_checked SHALL use a fixed classification set
The system SHALL continue to expose legacy facts_checked using its fixed verification classification set.
Scenario: claim checks are mapped to legacy facts
- WHEN Verifier output contains
claim_checks - THEN ChatService SHALL derive compatibility
facts_checked - AND
direct_observationSHALL map todirect_evidence - AND
reasonable_inferenceandoverstatedSHALL map toindirect_support - AND
unsupportedandexternal_unknownSHALL map tono_evidence - AND
contradictedSHALL map tocontradicted
Requirement: Verifier SHALL be observable
The Verifier's verdict SHALL be persisted for observability.
Scenario: claim checks written to self_evaluation
- WHEN the Verifier evaluation is persisted
- THEN
diagnosis_session.self_evaluation.verifier_evaluationSHALL includeclaim_checks - AND it SHALL continue to include compatibility
facts_checked - AND existing fields such as
verdict,groundedness_score,rationale,executor_output_parse_status,tool_trace_summary, andgatekeeper_resultSHALL be preserved
Requirement: Verifier SHALL consume explicit verification inputs
The Verifier SHALL receive explicit verification inputs rather than inferring them only from raw conversation history.
Scenario: structured claims are the primary verification target
- WHEN
executor_output_parse_status.statusisvalid - AND
executor_structured_output.claimsis available - THEN Verifier SHALL verify each claim through
claim_checks - AND Verifier SHALL NOT add extra confirmed facts from
executor_final_answerthat are absent fromexecutor_structured_output.claims
Scenario: malformed structured output cannot pass through natural language fallback
- WHEN
executor_output_parse_status.statusismissingormalformed - THEN Verifier SHALL NOT produce an effective
PASSby extracting facts fromexecutor_final_answer - AND the effective verdict SHALL be
LOW_CONFID
Requirement: Executor Gatekeeper SHALL validate deterministic structured-output failures
The system SHALL run deterministic Gatekeeper checks after Executor output parsing and before Verifier model execution.
Scenario: gatekeeper fail prevents PASS
- WHEN
gatekeeper_result.statusisfail - AND the Verifier model returns
verdict = "PASS" - THEN ChatService SHALL downgrade the effective verdict
- AND the effective verdict SHALL NOT be
PASS
Scenario: invocation reference failure downgrades to reject
- WHEN
gatekeeper_result.failed_rulescontainsevidence.invocation_ref - AND the Verifier model returns
verdict = "PASS" - THEN ChatService SHALL set the effective verdict to
REJECT
ADDED Requirements
Requirement: Verifier claim checks SHALL use a fixed derivability classification set
The Verifier SHALL classify each structured claim using a fixed derivability classification set.
Scenario: claim check verification values are constrained
- WHEN Verifier emits
claim_checks - THEN each item SHALL use one of
direct_observation,reasonable_inference,overstated,unsupported,external_unknown, orcontradicted
Scenario: claim check evidence references remain auditable
- WHEN Verifier emits
claim_checks - THEN each claim check SHALL include
claim_id,verification,detail, andevidence_refs - AND every evidence ref SHALL preserve available
trace_ref,tool_name, andsource_invocation_ids