- Litters split into Expecting/Kindled; Record Kindle generates kits (farm
and breed filled in), and kindle-date/parent edits move existing kits
- Litter detail: Record Kindle/Add Kit, Edit, Delete; due/wean projections
- Rabbit detail: section cards, status select, show results from events
- Edit Rabbit: re-link sire/dam (grandparents come from parents' records)
- Herd search matches ear number and color; quick search shows status
- Settings split into shared Rabbitry and per-user Preferences
- Shared LoadError, Button `to` prop, responsive read-only pedigree
- Genetics hidden from nav for now
- Parent autocomplete popup stacks above the action bar and drops up
when there's no room below
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pedigree scanning
- Replace the Tesseract OCR pipeline with server-side Claude vision
(claude-opus-5-5, structured output) that reads any layout, printed or
handwritten, into the subject + 14 ancestors with per-field uncertainty
- New POST/GET /api/pedigree-scan; enabled by ANTHROPIC_API_KEY in .env
- Add Rabbit step 1: "Scan a pedigree" card, photo review panel, "Check"
badges on uncertain ancestors, sire/dam herd matching
- Remove vendored Tesseract assets and OCR libs; bump SW cache to v2
- nginx /api read timeout raised to 180s for slow scans
Ancestors
- Manual ancestors default to 3 lbs and Unknown DOB (legacy 0 lbs read as
3); weight/DOB shown in the tree and on Review
- On save, ancestors entered as text become linked rabbit records
(status Other), deduped by ear number or name + farm
Existing rabbits
- Adding a rabbit that already exists tops up the existing record: fills
empty fields, adds missing ancestors, promotes reference ancestors; never
overwrites. Review step warns beforehand
- Delete button on rabbit detail; delete snapshots full ancestor JSON to
offspring, clears litter links and timeline events, and is blocked while
the rabbit has show entries
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>