Summary
evidence_quality measures the fraction of evidence refs that resolve to context — but the diagnosis agent persists only verified refs, so by the time the scorer runs, every ref already resolves. The metric is effectively pinned at 1.0 (it can only drop to 0.0 in the total-hallucination case where evidence=[]), yet it gates pass_rate_strict.
Evidence
sentinel/diagnosis/agent.py:126 — persists evidence=verdict.verified (verified partition only).
sentinel/evals/runner.py:564,574 — reconstructs the scoring diagnosis from the persisted (verified-only) evidence and scores it.
sentinel/evals/scoring.py:60-89 — evidence_quality = fraction that resolves; every ref it sees already resolved → ~1.0. The committed baseline shows evidence_quality: 1.0 across all 10 cases.
sentinel/evals/report.py:149-157 — _case_passes_strict requires evidence_quality >= 0.8, so a saturated metric gates the headline pass rate.
Fix (options)
- Score evidence quality against the pre-strip model output (count invented refs the agent dropped) so the metric reflects model behavior, not post-processing.
- Or retire
evidence_quality from the strict-pass conjunction and track hallucination via the existing sentinel_hallucinated_evidence_rate instead.
Summary
evidence_qualitymeasures the fraction of evidence refs that resolve to context — but the diagnosis agent persists only verified refs, so by the time the scorer runs, every ref already resolves. The metric is effectively pinned at 1.0 (it can only drop to 0.0 in the total-hallucination case whereevidence=[]), yet it gatespass_rate_strict.Evidence
sentinel/diagnosis/agent.py:126— persistsevidence=verdict.verified(verified partition only).sentinel/evals/runner.py:564,574— reconstructs the scoring diagnosis from the persisted (verified-only) evidence and scores it.sentinel/evals/scoring.py:60-89—evidence_quality= fraction that resolves; every ref it sees already resolved → ~1.0. The committed baseline showsevidence_quality: 1.0across all 10 cases.sentinel/evals/report.py:149-157—_case_passes_strictrequiresevidence_quality >= 0.8, so a saturated metric gates the headline pass rate.Fix (options)
evidence_qualityfrom the strict-pass conjunction and track hallucination via the existingsentinel_hallucinated_evidence_rateinstead.