Add Seriatim configuration contract

This commit is contained in:
2026-05-03 19:13:50 -05:00
parent 657a44d8fb
commit 7aedca2ca1
8 changed files with 291 additions and 8 deletions

View File

@@ -16,6 +16,18 @@ WhisperX config contract in `pipeline.yml`:
- required: `whisperx.transcribe_url`
- defaulted when omitted: `whisperx.language` (`en`), `whisperx.timeout` (`30m`), `whisperx.retries` (`3`), `whisperx.retry_delay` (`2s`), `whisperx.concurrency` (`2`)
Seriatim config contract in `pipeline.yml`:
- required: `seriatim.binary` (name or path; existence is checked at execution time, not config validation time)
- defaulted when omitted: `seriatim.timeout` (`10m`), `seriatim.output_schema` (`seriatim-intermediate`), `seriatim.coalesce_gap` (`3.0`), `seriatim.report` (`true`)
- allowed `seriatim.output_schema` values: `seriatim-minimal`, `seriatim-intermediate`, `seriatim-full`
- optional tuning: `seriatim.env.*` (`overlap_word_run_gap`, `overlap_word_run_reorder_window`, `backchannel_max_duration`, `filler_max_duration`) must be `> 0` when provided
`speakers.yml` note:
- use Seriatims documented `match:` format (not the legacy direct mapping style used by older scripts/scaffolds)
- TODO: add a concrete `speakers.yml` example once the Seriatim README/spec is vendored or linked in-repo.
Decoding is strict (`KnownFields(true)`), so unknown YAML fields fail fast.
Example minimal files are available under `examples/`: