Specimen Casebook
Specimen Casebook is auditable data reconciliation for biodiversity collections.
Core trick
Field-level quotes are re-checked as exact substrings, and fields whose grounded values disagree are marked conflicting instead of auto-resolved.
Description
Specimen Casebook is auditable data reconciliation for biodiversity collections. Herbarium and museum data managers digitize specimens whose sources disagree — a label, a field ledger, and a legacy database may record three different collection dates. Conventional pipelines flatten these into a single value and discard the reasoning, silently turning uncertainty into fact.
Specimen Casebook uses Claude's structured extraction to read every source field by field, returning a verbatim supporting quote and a source id for each claim. A deterministic policy layer re-checks each quote as an exact substring, drops any that were altered or invented, and refuses to auto-resolve a field when two grounded values disagree — marking it CONFLICTING and routing it to human review. The output is a Darwin Core CSV that carries unresolved disagreements in `informationWithheld` instead of hiding them, plus a full provenance JSON that lets a reviewer reconstruct every decision.
Claude proposes; the policy layer decides what can ship. The primary metric — unsupported resolution rate — holds at 0% across adversarial tests and live runs against claude-opus-4-8. Built for a named herbarium collections data manager, it is working software, not a demo.
README excerpt
# Specimen Casebook [](https://github.com/keigotak/specimen-casebook/actions/workflows/ci.yml)    **Auditable data reconciliation for biodiversity collections.** Specimen Casebook helps herbarium collections data managers reconcile specimen labels, field ledgers, collector notebooks, taxonomy histories and legacy databases—without silently turning uncertainty into fact.  > **Claude proposes. The policy layer decides what can ship.** ## Judge shortcuts | Review path | What it proves | | --- | --- | | [Five-minute judge's guide](docs/judges-guide.md) | Fastest route through the working code and adversarial test | | [3-minute narrated demo](demo/SpecimenCasebook_3min_Demo.mp4) | Problem, user, product workflow and safety case | | [How-to tutorial](docs/tutorial.md) | Step-by-step usage, how to read each status, and how to run your own evidence | | [Synthetic evidence packs](demo/mock/) | Two inspectable cases: a date/locality conflict and a collector-identity conflict | | [Claude integration](docs/claude-integration.md) | API contract, citation grounding, conflict policy and limitations | The interface can be run locally with