feat: store matching metadata on session file registration

Each saved file now records three additional fields:
  matched_identifier    — the literal animal_id_string or animal_name
                          substring that matched in the filename
  animal_id_string_snap — snapshot of animal.animal_id_string at
                          registration time
  animal_name_snap      — snapshot of animal.animal_name at
                          registration time

This lets future consumers (scripts, exports, re-matching) identify
the subject from the file record alone, even if animal data changes.
The matched identifier is also shown in the drop preview UI (↳ 2852).

Tests: 25 total (+2 for new payload fields).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Experiments DB Dev
2026-04-23 13:41:36 -04:00
parent 5cd6d2a8a3
commit 52d5fca5d1
5 changed files with 111 additions and 43 deletions
@@ -0,0 +1,4 @@
ALTER TABLE "session_files"
ADD COLUMN "matched_identifier" TEXT,
ADD COLUMN "animal_id_string_snap" TEXT,
ADD COLUMN "animal_name_snap" TEXT;