2.8 KiB
2.8 KiB
MODIFIED Requirements
Requirement: Verifier SHALL consume explicit verification inputs
The Verifier SHALL receive explicit verification inputs rather than inferring them only from raw conversation history.
Scenario: gatekeeper result available to Verifier
- WHEN the system prepares verifier inputs from Executor output
- THEN the payload SHALL include
gatekeeper_result - AND
gatekeeper_result.statusSHALL be one ofpass,warn, orfail - AND
gatekeeper_resultSHALL includefailed_rules,warnings, anderrors
Requirement: Verifier SHALL be observable
The Verifier's verdict SHALL be persisted for observability.
Scenario: gatekeeper result written to self_evaluation
- WHEN the Verifier evaluation is persisted
- THEN
diagnosis_session.self_evaluation.verifier_evaluationSHALL includegatekeeper_result - AND existing verifier fields such as
verdict,facts_checked,executor_output_parse_status, andtool_trace_summarySHALL be preserved
ADDED Requirements
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: schema rule rejects removed fields
- WHEN Executor structured output contains
diagnosis_summaryoruser_facing_answer - THEN
gatekeeper_result.statusSHALL befail - AND
gatekeeper_result.failed_rulesSHALL containschema.executor_v2
Scenario: schema rule rejects missing evidence bindings
- WHEN a confirmed claim has no
evidence_bindings - THEN
gatekeeper_result.statusSHALL befail - AND
gatekeeper_result.failed_rulesSHALL containschema.executor_v2
Scenario: invocation rule rejects fabricated invocation ids
- WHEN a claim evidence binding references a
source_invocation_idsvalue that is not present in current-sessiontool_invocationrows - THEN
gatekeeper_result.statusSHALL befail - AND
gatekeeper_result.failed_rulesSHALL containevidence.invocation_ref
Scenario: invocation rule rejects tool name mismatch
- WHEN a claim evidence binding references an existing invocation id
- AND the binding
tool_namedoes not match the invocation's persistedtool_name - THEN
gatekeeper_result.statusSHALL befail - AND
gatekeeper_result.failed_rulesSHALL containevidence.invocation_ref
Scenario: valid structured output passes initial gatekeeper rules
- WHEN Executor emits
executor_evidence_v2 - AND each claim has evidence bindings pointing to current-session invocations with matching tool names
- THEN
gatekeeper_result.statusSHALL bepass - AND
gatekeeper_result.failed_rulesSHALL be empty