Skip to content

Evals: evidence_quality metric saturates at ~1.0 (invented refs stripped before scoring) #69

Description

@JumpTechCode

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-89evidence_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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    testingTest coverage gaps or improvements

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions