Add assign-speakers pipeline node
Objective
Assign speaker labels to diarized + aligned transcript segments.
Why this matters
This is the first stage where the pipeline begins producing human-usable structured transcript data, not just ML outputs.
Parallelization metadata
Track
pipeline
Depends on
Safe to run in parallel with
- merge-doc node
- pipeline validation
Merge risk
Files in scope
Primary:
scripts/pipeline/nodes/assign-speakers.ts
Avoid touching:
Required implementation
1. Implement node wrapper
Expose as PipelineNode.
2. Input contract
Must consume:
- diarized segments
- aligned transcript
3. Output contract
Produces:
- speaker-assigned transcript JSON
Constraints
- assignment logic reuse only
- no ML changes
Acceptance criteria
Functional
Integration checks
Verification commands
Run pipeline through assign-speakers.
Expected result:
- transcript contains speaker labels
Explicitly out of scope
- merge-doc
- final transcript formatting
Suggested branch
refactor/s7-assign-speakers
Suggested commit slug
phase-2-step-6-assign-speakers
Add
assign-speakerspipeline nodeObjective
Assign speaker labels to diarized + aligned transcript segments.
Why this matters
This is the first stage where the pipeline begins producing human-usable structured transcript data, not just ML outputs.
Parallelization metadata
Track
pipelineDepends on
diarizepipeline node #40alignpipeline node #41Safe to run in parallel with
Merge risk
Files in scope
Primary:
scripts/pipeline/nodes/assign-speakers.tsAvoid touching:
Required implementation
1. Implement node wrapper
Expose as
PipelineNode.2. Input contract
Must consume:
3. Output contract
Produces:
Constraints
Acceptance criteria
Functional
Integration checks
Verification commands
Run pipeline through assign-speakers.
Expected result:
Explicitly out of scope
Suggested branch
refactor/s7-assign-speakersSuggested commit slug
phase-2-step-6-assign-speakers