Files
meeting-assistant/openspec/changes/archive/2026-06-03-add-transcript-write-workflow-rules/design.md
T
codex 40853115c5
PR and Push Build/Test / build-and-test (push) Failing after 13m27s
Add transcript line workflow rules
2026-06-03 11:24:11 +02:00

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.