1.6 KiB
Design: Transcript write workflow rules
Approach
Meeting Assistant should keep transcript redaction policy in the local workflow rules file instead of hard-coding it in the Azure Speech provider. The provider still emits the text it receives from Azure, and the persistence path asks the workflow engine to transform the formatted transcript line before writing it.
The workflow engine will add a transcript_line trigger. The event carries the formatted line without a trailing newline and the effective speaker name used in that line. Conditions receive transcript.line and transcript.speaker; Razor templates receive Model.Transcript.Line and Model.Transcript.Speaker.
The existing set_property step is extended with transcript.line. This keeps the action surface small while enabling replacements such as:
steps:
- uses: set_property
property: transcript.line
value: '@Model.Transcript.Line.Replace("*****", "[redacted]")'
Write Path
Live transcript appends and finished transcript rewrites both format TranscriptionSegment values into single transcript lines, pass each line through the workflow engine, and then write the transformed lines. This prevents a final diarization rewrite from reintroducing untransformed masked text.
Constraints
- Transcript line rules do not mutate meeting-note frontmatter unless they also include existing meeting-note steps.
- The transcript line model represents one formatted line, not the whole transcript file.
- The local rules file remains ignored by git; repository documentation covers the rule shape, while the user-specific redaction rule lives in
meeting-rules.local.yaml.