feat(uploads): choose the language of a recording; record it, show it, carry it to the engines (#61)
Form field (Swedish preselected, Other = auto) read before the file part and refused before anything is spooled if outside the closed set; stored on the row (migration 021, CHECK constraint, default sv for history); carried on the Job and the worker's context; shown on the status page. Feature scenarios and the coverage map are updated, and ADR-033/034 amended. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
+10
-1
@@ -1434,7 +1434,12 @@ an hour of Swedish *was* an unknown here; it is now measured, see decision 8.)
|
||||
empty disables), recorded per row, and called out in Open items rather than defaulted
|
||||
silently.
|
||||
- Swedish only (`language=sv`). Language detection and routing (#28 decision 2) are not
|
||||
touched.
|
||||
touched. **Amended 2026-10-04 (#61, interim):** the language is now a per-upload choice on
|
||||
the form, `sv` (preselected, and what an upload that names none gets) or `auto` ("Other":
|
||||
`language` is omitted so the engine detects it), a closed set held by the form, the request
|
||||
code and a CHECK constraint on `uploaded_transcripts.language` (migration 021). Automatic
|
||||
detection and a general-purpose engine for other languages are still not built (#61); an
|
||||
`auto` upload goes to the same configured engine, which is not tuned for it.
|
||||
- `-H 'Expect:'`, multipart field `file` — encoded in the adapter and its tests, not rediscovered.
|
||||
|
||||
7. **Jobs run in-process, one at a time (ADR-018 stands).** Transcription is minutes (~7.5 min
|
||||
@@ -1645,6 +1650,10 @@ on the slow numbers and is reopened: 31B scored 97% against 92%.
|
||||
job timeout rises from 30 to 60 minutes: ~4 min of kb-whisper and ~40 s of pianissimo per hour of
|
||||
audio, plus the adjudication.
|
||||
|
||||
**Amended 2026-10-04 (#61, interim):** reconcile is for Swedish. A recording whose language is
|
||||
`auto` is never sent to the base engine (it is Swedish-only) and is not reconciled: the other
|
||||
engine transcribes alone, then the cloud fallback if that fails and the job is live, and the
|
||||
page does not claim a second opinion.
|
||||
8. **Not decided here.** A cloud adjudicator (rejected: private content); tuning the prompt; making
|
||||
`gemma4-31b` the default; a "reconciling" progress state (the page says "transcribing" for the whole
|
||||
job); feeding the uncertain spots to chat; whether pianissimo should also be a middle tier in the
|
||||
|
||||
Reference in New Issue
Block a user