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

@@ -115,6 +115,15 @@ WhisperX config keys:
- `pipeline.whisperx.retry_delay` (default: `2s`)
- `pipeline.whisperx.concurrency` (default: `2`)
Seriatim config keys:
- `pipeline.seriatim.binary` (required)
- `pipeline.seriatim.timeout` (default: `10m`)
- `pipeline.seriatim.output_schema` (default: `seriatim-intermediate`; allowed: `seriatim-minimal|seriatim-intermediate|seriatim-full`)
- `pipeline.seriatim.coalesce_gap` (default: `3.0`, must be `>= 0`)
- `pipeline.seriatim.report` (default: `true`)
- optional tuning under `pipeline.seriatim.env.*` (must be `> 0` when provided)
Validation currently enforces:
- `pipeline.workspace.root` is required.
@@ -122,6 +131,11 @@ Validation currently enforces:
- `pipeline.whisperx.timeout` and `pipeline.whisperx.retry_delay` must parse as Go durations.
- `pipeline.whisperx.retries` must be `>= 0`.
- `pipeline.whisperx.concurrency` must be `> 0`.
- `pipeline.seriatim.binary` is required.
- `pipeline.seriatim.timeout` must parse as Go duration.
- `pipeline.seriatim.output_schema` must be one of `seriatim-minimal|seriatim-intermediate|seriatim-full`.
- `pipeline.seriatim.coalesce_gap` must be `>= 0`.
- optional `pipeline.seriatim.env.*` values must be `> 0` when provided.
- `session.session_id` is required.
- `session.inputs.speakers_file`, `autocorrect_file`, `glossary_file` are required.
- At least one audio source: `session.inputs.audio_dir` or non-empty `session.inputs.audio_files`.