feat(store): persist and read back the reconciliation

CompleteUpload writes it (SQL NULL when there was none, never the JSON text 'null':
the page claims a second opinion only if the column is non-NULL); GetUpload reads it,
List does not. Mutation-checked.

domain.go and the store are one commit: the store tests need the new field.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-01 23:22:09 +02:00
co-authored by Claude Sonnet 5.5
parent e838f6bb6d
commit ae4f9fd775
2 changed files with 26 additions and 8 deletions
+6 -3
View File
@@ -214,7 +214,10 @@ type UploadedTranscript struct {
// HadVideo records that the uploaded file carried a video track. Only its audio
// was used and the video was discarded; the page says so. It is set at upload
// and never cleared (ADR-033).
HadVideo bool
CreatedAt time.Time
FinishedAt time.Time // zero until the job reaches done or failed
HadVideo bool
// Reconciliation is how a merged transcript came about, or nil for a single
// engine (ADR-034). Set by Get, not by List.
Reconciliation *Reconciliation
CreatedAt time.Time
FinishedAt time.Time // zero until the job reaches done or failed
}