- _init_schema skips the duplicate-attachments GROUP BY scan once the
unique index already exists (checks sqlite_master first).
- upsert_status merges extra_json per key instead of replacing the
whole column: a stored key now survives unless the incoming payload
sets that specific key to a non-empty value.
- docket_counts is one grouped query (a single items scan, left-joined
against the enriched-tag set) instead of two separate url LIKE scans.
- fingerprint_files widens `except FileNotFoundError` to `except
OSError` so NotADirectoryError/PermissionError are handled the same
way as a plain missing file.
- backfill_details and backfill_from_mirror shared an identical
sealed-guard block; factored into one _sealed_backfill_skip helper.
Adds coverage: extra_json per-key merge (both directions),
docket_counts, the widened OSError catch, attach_file's explicit-title
dedupe path (two different source files, same explicit title), a
dedupe-migration conflict test for a missing kept file, and a test
confirming _init_schema's new short-circuit actually skips the scan.