2.5 KiB
2.5 KiB
Integration: seriatim
Purpose
Define Narratio's adapter contract for merge, normalize, and trim subprocess invocations of Seriatim.
Inputs and Outputs
Inputs:
MergeRequest: raw/normalized transcript inputs, output path, optional report, speaker/autocorrect paths, logs/configNormalizeRequest: input transcript, output path, schema, optional report, timeout/log/configTrimRequest: input transcript, output path, keep selector, timeout/log/config
Outputs:
MergeResult,NormalizeResult,TrimResultwith output paths, logs/config paths, exit code, duration, binary provenance, and metadata.
Boundaries
Owns:
- Validated deterministic CLI invocation construction
- Optional env tuning propagation for merge
- Invocation config file emission
- JSON output validation
Does not own:
- Transcript input selection/promotion logic (stage-owned)
- Bounds computation (scriptorium/trim-stage-owned)
Config Fields Used
Via pipeline.seriatim.* mapped in app/stage wiring:
binary,timeout,output_schema,coalesce_gap,reportenv.overlap_word_run_gapenv.overlap_word_run_reorder_windowenv.backchannel_max_durationenv.filler_max_duration
External Adapters Used
- Shared subprocess helper (
internal/adapters/subprocess).
State and Manifest Behavior
- No direct manifest writes.
- Stage metadata consumes adapter result fields and preserves generated config/log references.
Skip and Resume Behavior
- Adapter has no skip/resume logic. Runner controls stage execution.
Failure Behavior
- Constructor fails for invalid binary/timeout/output-schema/coalesce-gap.
- Merge fails on missing output path/inputs/report path (if enabled), subprocess errors, invalid merged output JSON, invalid report JSON.
- Normalize fails on missing input/output, invalid schema, subprocess errors, invalid normalized output JSON shape, invalid report JSON.
- Trim fails on missing input/output/keep selector, subprocess errors, invalid trimmed output JSON shape.
Tests to Inspect Before Changing
internal/adapters/seriatim/subprocess_test.gointernal/adapters/seriatim/fake_test.gointernal/stage/merge_test.gointernal/stage/normalize_test.gointernal/stage/trim_test.go
Architectural Invariants
- Supported output schemas are limited to
seriatim-minimal,seriatim-intermediate,seriatim-full. - Normalize/trim outputs must include
segmentsarrays. - Merge/normalize/trim all route through deterministic subprocess invocation.