Leg het transcriptiecontract vast: bronnen, formaat en grenzen (#2509) #2549

Merged
brenno merged 1 commit from docs/transcriptie-01-contract into main 2026-10-22 21:13:05 +00:00
Owner

Samenvatting

Sluit #2509 — Transcriptie 01, het contractissue van epic #2508. Voegt docs/design/TRANSCRIPTION.md toe: het productcontract, het opslagformaat en de providerneutrale grens waar #2510–#2525 op voortbouwen.

Kernbesluiten (§6 noemt per besluit waaronder het zou veranderen):

  • Transcript = gewoon document (FILE_FORMAT §14): geen marp: true, geen nieuw bestandstype, byte-faithful round-trip.
  • <!-- transcript version=1 audio="media/…" --> als enige machine-pointer — dezelfde unprefixed-markerfamilie als <!-- form -->/<!-- toc -->; herkomst als gewone tekst, audioreferentie als gewone link. Afgewezen: frontmatter-key (§14.1 verbiedt eigen vocabulaire), sidecar (onzichtbaar voor de vreemde lezer voor wie herkomst juist bedoeld is), fenced JSON, <audio>-tag, base64.
  • Audio in media/ naast de .md, via het bestaande staging→save-spoor; bewaren of loslaten is een expliciete keuze bij opslaan.
  • CaptureSource/TranscriptionEngine-grens met fouttaxonomie die permissie van kunnen en van afwezigheid scheidt; één opname schrijft duurzame audio én levert live-chunks, de definitieve pass volgt altijd op stop.
  • Capability-matrix met de uit het issue gevraagde statussen; geen universele systeem-audiocapture geclaimd (WASAPI = endpointmix, PipeWire = sink-monitor, web = per-browser-matrix). Android/iOS apart als niet-ondersteund.
  • Serverroute als eigen profiel, nooit via AiClientService; lokale verwerking valt nooit stil terug op upload.

Bewaker-toets: opent in teksteditor en Marp-gereedschap leesbaar; als OciDeck stopt blijven transcript én audio bruikbaar.

Testplan

  • make check volledig groen op 531bcced4 (incl. ankerscan en conventions over de nieuwe doc)
  • docs_anchor_links_test en docs_registration_test — geen registratie nodig (docs/design/** is repo-only)
  • Acceptatie #2509 afgevinkt in de doc: routes/bronnen/grenzen/faalpaden (§2–§4), matrixstatussen (§5), round-trip-eisen (§3.3), geen AI-backend voor audio (§1.2, §4.3)

Generated with Devin

## Samenvatting Sluit [#2509](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2509) — Transcriptie 01, het contractissue van epic [#2508](https://pawprint.vigilis.online/LibreKAT/Ocideck/issues/2508). Voegt `docs/design/TRANSCRIPTION.md` toe: het productcontract, het opslagformaat en de providerneutrale grens waar #2510–#2525 op voortbouwen. **Kernbesluiten** (§6 noemt per besluit waaronder het zou veranderen): - **Transcript = gewoon document** (FILE_FORMAT §14): geen `marp: true`, geen nieuw bestandstype, byte-faithful round-trip. - **`<!-- transcript version=1 audio="media/…" -->`** als enige machine-pointer — dezelfde unprefixed-markerfamilie als `<!-- form -->`/`<!-- toc -->`; herkomst als gewone tekst, audioreferentie als gewone link. Afgewezen: frontmatter-key (§14.1 verbiedt eigen vocabulaire), sidecar (onzichtbaar voor de vreemde lezer voor wie herkomst juist bedoeld is), fenced JSON, `<audio>`-tag, base64. - **Audio in `media/`** naast de `.md`, via het bestaande staging→save-spoor; bewaren of loslaten is een expliciete keuze bij opslaan. - **`CaptureSource`/`TranscriptionEngine`-grens** met fouttaxonomie die permissie van kunnen en van afwezigheid scheidt; één opname schrijft duurzame audio én levert live-chunks, de definitieve pass volgt altijd op stop. - **Capability-matrix** met de uit het issue gevraagde statussen; geen universele systeem-audiocapture geclaimd (WASAPI = endpointmix, PipeWire = sink-monitor, web = per-browser-matrix). Android/iOS apart als niet-ondersteund. - **Serverroute** als eigen profiel, nooit via `AiClientService`; lokale verwerking valt nooit stil terug op upload. Bewaker-toets: opent in teksteditor en Marp-gereedschap leesbaar; als OciDeck stopt blijven transcript én audio bruikbaar. #### Testplan - [x] `make check` volledig groen op `531bcced4` (incl. ankerscan en conventions over de nieuwe doc) - [x] `docs_anchor_links_test` en `docs_registration_test` — geen registratie nodig (`docs/design/**` is repo-only) - [x] Acceptatie #2509 afgevinkt in de doc: routes/bronnen/grenzen/faalpaden (§2–§4), matrixstatussen (§5), round-trip-eisen (§3.3), geen AI-backend voor audio (§1.2, §4.3) Generated with [Devin](https://devin.ai)
Design-doc voor epic #2508 dat #2510–#2525 moet volgen: vier
bronsoorten, transcript als gewoon .md-document met een
unprefixed <!-- transcript -->-marker, audio in media/ met
bewaar-of-laat-gaan-keuze, een providerneutrale
CaptureSource/TranscriptionEngine-grens met fouttaxonomie, en
een capability-matrix die 'niet getest' durft te zeggen.

Bewaker-toets uitgevoerd: herkomst als gewone tekst en een
gewone link, geen sidecar, geen base64, geen eigen
frontmatter-vocabulaire — het bestand blijft leesbaar zonder
OciDeck.

Signed-off-by: Brenno de Winter <brennodewinter@users.noreply.github.com>
brenno merged commit a1562b3cf3 into main 2026-10-22 21:13:05 +00:00
Sign in to join this conversation.
No description provided.