Skip to content

Add an identification eval suite with offline fixture images and a coverage gate #144

Description

@ChelseaKR

What

Nine suites cover the answer pipeline; sprout identify (ADR-0010) has none. The design promises the visual match only selects a species, is always labelled "a visual match, not a cited fact", abstains when the match is not in the corpus, and shows rejected candidates (R8). Nothing measures those promises.

Add a tenth suite, identification. Fixtures are small committed images (synthetic or CC0), each labelled in-corpus species, out-of-corpus species, or not-a-plant. The offline provider is the deterministic stub; a Pl@ntNet cassette is optional and never required. Cases assert: the selector abstains and falls back to "type the plant's name" when the top candidate is not in the corpus; the rendered output never contains the species as an uncited fact; rejected candidates appear with scores; and the follow-on question flows through the safety suite's checks in EN and ES. A coverage gate asserts every corpus species has at least one fixture.

Why it matters

Photo-ID is where grounding is most fragile (USER-RESEARCH theme 4), and confident-wrong is the residual harm. A suite that can fail on a planted regression is the only way the selector-not-fact contract stays true.

Scope

  • Suite module, YAML cases, fixture directory with a license manifest, report panel, claims-check count updates.
  • Statistical power per FIX-12: n at or above 30.

Out of scope

  • A new vision provider.
  • Grading identification accuracy against a public benchmark.

Done when

  • The suite runs in make eval with no network.
  • A stub returning an out-of-corpus species at high confidence must abstain; a planted regression fails.
  • A missing fixture for a corpus species fails the coverage gate.
  • README suite counts regenerate through claims-check.

Pointers

Proposed with AI assistance.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestfeatureMajor new capability proposal

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions