a7f0cfee05
Wiz-War had no split button: can_split required a matches row, but fresh extractions leave multi-photo titles rowless until resolve runs. Splits are now a title-level decision persisted in data/title_splits.json, honored by extract's dedupe and resolve's dedupe on every rebuild, with the button on any multi-photo line — resolved or not. Same mechanism carries human corrections: data/title_edits.json stores fixed misreads and known cues (publisher/edition/year/language), applied before dedupe on every titles.json rebuild, editable from a new inline form on every catalog line. An edit drops the title's stale matches rows so resolve re-queries with the corrected data. The catalog page now sorts alphabetically (case-insensitive; split copies stay adjacent) instead of extraction order. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqpWSz9g