2.0 KiB
Decisions
Scope Decision
Stage three is limited to Verifier V2 claim checks. Composer is explicitly deferred to stage four.
Reason: Composer requires stable verifier output and allowed-material filtering; mixing it into this stage would make rollback and acceptance unclear.
Contract Decision
claim_checks is the authoritative V2 verifier output.
facts_checked remains as a compatibility projection generated from claim_checks when present.
Reason: existing low-confidence rendering, retry context, trace output, and evaluation code still depend on facts_checked.
Mapping Decision
Claim verification maps to legacy facts as follows:
| claim verification | legacy facts_checked verification |
|---|---|
direct_observation |
direct_evidence |
reasonable_inference |
indirect_support |
overstated |
indirect_support |
unsupported |
no_evidence |
external_unknown |
no_evidence |
contradicted |
contradicted |
Guardrail Decision
Effective verdict is enforced in code:
gatekeeper_result.status=failcannot remainPASS.evidence.invocation_reffailure downgrades toREJECT.- Other Gatekeeper failures downgrade at least to
LOW_CONFID. - missing/malformed Executor structured output cannot remain
PASS.
Reason: prompt compliance is not deterministic enough for safety-critical evidence attribution.
Apply Fix Record
Initial targeted Maven verification failed because older tests expected PASS to return Executor natural-language output or V1 user_facing_answer.
Classification: test drift from the committed OpenSpec, not a design blocker.
Resolution: update tests to use valid Executor V2 output for PASS paths and assert downgrade behavior for malformed or Gatekeeper-failed outputs.
Interface Impact
L2 internal contract extension:
- Verifier output gains
claim_checks. - Existing
facts_checkedremains available. - Persistence JSON gains
claim_checksunder existingself_evaluation.
No external API or database schema changes.