4.7 KiB
4.7 KiB
Configuration Reference
Configuration surfaces
seriatim has no central JSON/TOML/YAML application config file.
Runtime configuration comes from:
- CLI flags
- Environment variables (
SERIATIM_*) - Optional YAML rule files referenced by CLI flags (
--speakers,--autocorrect)
Output schema precedence
For merge and normalize:
--output-schemaflag (when explicitly set)SERIATIM_OUTPUT_SCHEMA- default
seriatim-intermediate
For trim:
- If
--output-schemais omitted, output preserves the input artifact schema. - If
--output-schemais set, it must be one ofseriatim-minimal,seriatim-intermediate,seriatim-full.
Merge module defaults
Default merge module selections:
--input-reader:json-files--preprocessing-modules:validate-raw,normalize-speakers,trim-text--postprocessing-modules:detect-overlaps,resolve-overlaps,backchannel,filler,resolve-danglers,coalesce,detect-overlaps,autocorrect,assign-ids,validate-output--output-modules:json
Module-list notes:
- Lists are comma-separated.
- Empty module names are invalid.
- Unknown module names fail the command.
- Preprocessing order must satisfy state requirements.
Environment variables
| Variable | Default | Used by | Rules |
|---|---|---|---|
SERIATIM_OUTPUT_SCHEMA |
seriatim-intermediate |
merge, normalize |
Must be seriatim-minimal, seriatim-intermediate, or seriatim-full. Ignored when --output-schema is explicitly set. |
SERIATIM_OVERLAP_WORD_RUN_GAP |
1.0 |
merge |
Positive float (> 0). |
SERIATIM_OVERLAP_WORD_RUN_REORDER_WINDOW |
1.0 |
merge |
Positive float (> 0). |
SERIATIM_BACKCHANNEL_MAX_DURATION |
2.0 |
merge |
Positive float (> 0). |
SERIATIM_FILLER_MAX_DURATION |
1.25 |
merge |
Positive float (> 0). |
Additional merge threshold flag:
--coalesce-gapdefaults to3.0and must be a non-negative float (>= 0).
speakers.yml
Purpose:
- Maps each merge input filename basename to a canonical speaker label.
Top-level key:
match(array of ordered rules)
Rule fields:
speaker(required, non-empty)match(required, non-empty array of non-empty strings)
Example:
match:
- speaker: "Alice"
match:
- "alice_track"
- "alice"
- speaker: "Bob"
match:
- "bob_track"
Behavior:
- Matching is case-insensitive.
- Matching is against basename only (not full path).
- First matching rule wins.
- Duplicate
speakervalues are invalid. - If any input file has no match, merge fails.
autocorrect.yml
Purpose:
- Applies ordered token-level text replacements during merge
autocorrectpostprocessing.
Top-level key:
autocorrect(array of rules)
Rule fields:
target(required, non-empty)match(required, non-empty array of non-empty strings)
Example:
autocorrect:
- target: "Godfrey"
match:
- "God-free"
- target: "Mike Brown"
match:
- "Mike Pat"
Behavior:
- Match strings are case-sensitive.
- Replacements are whole-token only (no substring replacement inside larger tokens).
- Duplicate match strings within one rule are invalid.
- Duplicate match strings across different rules are invalid.
- If
--autocorrectis not provided, the autocorrect module is skipped.
Path and validation rules
All commands:
--input-filepaths must exist and must be files.- Output/report parent directories must already exist.
- Paths are normalized before use.
merge:
- Requires at least one
--input-file. - Rejects duplicate
--input-filepaths. - Sorts normalized input file paths for deterministic execution.
--speakersand--autocorrectare optional, but when set they must point to existing files.
trim:
- Requires exactly one of
--keepor--remove. --keepand--removeare mutually exclusive.- Validates optional
--output-schemawhen provided.
normalize:
- Validates
--output-schemathrough the same schema set asmerge. - Currently accepts only
jsonin--output-modules.
Related docs
- CLI reference: cli.md
- Operations guide: operations.md
- Troubleshooting: troubleshooting.md
- YAML example files:
- Synthetic examples: ../examples/README.md
- Public output schemas:
- Documentation roadmap: roadmap/documentation.md