diff --git a/docs/homelab-integration.md b/docs/homelab-integration.md index 6537d96..7472084 100644 --- a/docs/homelab-integration.md +++ b/docs/homelab-integration.md @@ -14,7 +14,8 @@ it** — endpoints and aliases drift, and this file is a snapshot (2026-06-06), not LiteLLM. Use `30401` for off-cluster LiteLLM. `confirm` resolved. - **Speech-to-text (ADR-033):** the same gateway serves `POST /v1/audio/transcriptions` for `iguana/kb-whisper` (primary, local) and `berget/kb-whisper` (fallback, EU cloud — private audio - leaves the homelab if it is used). **Call it via the NodePort / in-cluster address above, NOT + leaves the homelab if it is used: when the primary fails **or returns an empty transcript**, + e.g. a silent or music-only file; the transcript page then says so, #52). **Call it via the NodePort / in-cluster address above, NOT `https://llm-api.d-ma.be`:** that public ingress (openresty) returns `413` for bodies over roughly 8–10 MB (~5 minutes of 16 kHz WAV), while the NodePort took 174 MB (90 minutes) in one request (measured 2026-10-01, `docs/research/audio-length-ceiling-2026-10-01.md`). Send multipart diff --git a/docs/use-cases/audio_upload.feature b/docs/use-cases/audio_upload.feature index e45c465..cd3ed30 100644 --- a/docs/use-cases/audio_upload.feature +++ b/docs/use-cases/audio_upload.feature @@ -240,6 +240,11 @@ Feature: Upload an audio recording, get a private Swedish transcript, discuss it Then it is transcribed anyway and its audio step says how long the audio really is And a complete recording whose header over-estimated its length is not refused + Scenario: A transcript made by the cloud fallback says the audio left the homelab + When the transcript was produced by an endpoint that is not local + Then its page says in plain words that the audio left the homelab and names the provider + And a locally transcribed recording carries no such note + Scenario: A full queue is a retry, not an error When too many recordings are already waiting Then the upload is answered as busy, its row is failed honestly and its audio is deleted diff --git a/test/acceptance/scenario_coverage_test.go b/test/acceptance/scenario_coverage_test.go index 9bbf026..0dfcbba 100644 --- a/test/acceptance/scenario_coverage_test.go +++ b/test/acceptance/scenario_coverage_test.go @@ -122,6 +122,8 @@ var scenarioCoverage = map[string]string{ "I can ask about my recording and get a grounded answer": "TestUploadChatPost_SendsTheOwnersTranscriptWithTheUploadBudget", "A long recording is not cut to its first third": "TestAnswerMaxCharsOverridesTheServiceCap", + "A transcript made by the cloud fallback says the audio left the homelab": "TestUploadStatus_ACloudServedTranscriptSaysTheAudioLeftTheHomelab", + // audio_upload.feature, ADR-034 "Two engines transcribe the audio and their disagreements are reconciled": "TestEnsemble_BothEnginesRunInOrderAndTheirDisagreementIsReconciled", "Trivial disagreements never reach the model": "TestReconcile_TrivialDisputesAreResolvedWithoutAskingTheModel",