4.0 KiB
MODIFIED Requirements
Requirement: Meeting automation rules support lifecycle triggers
Meeting Assistant SHALL support rule triggers for created, state_transition, speaker_identified, and transcript_line.
A state_transition trigger MAY filter by from, to, or both state values.
A speaker_identified trigger MAY filter by speaker name.
A transcript_line trigger MAY filter by speaker name.
Scenario: State transition rule matches from and to
- GIVEN a configured rule that triggers on a state transition from
collecting metadatatotranscribing - WHEN Meeting Assistant transitions that meeting from
collecting metadatatotranscribing - THEN it applies the rule steps
Scenario: Speaker identified rule filters by name
- GIVEN a configured rule that triggers when speaker
Adais identified - WHEN Meeting Assistant identifies speaker
Grace - THEN it does not apply the rule
- WHEN Meeting Assistant identifies speaker
Ada - THEN it applies the rule steps
Scenario: Transcript line rule rewrites masked profanity before persistence
- GIVEN a configured rule that triggers on transcript line writes and sets
transcript.lineby replacing*****with[redacted] - WHEN Meeting Assistant writes a transcript line for speaker
Guest-1containing***** - THEN the written transcript line contains
[redacted] - AND the written transcript line does not contain
*****
Requirement: Meeting automation rules support conditions and steps
Meeting Assistant SHALL support rule conditions using an expression engine.
Rules SHALL support nested and, or, and not condition groups.
Step values SHALL support Razor syntax against the current meeting event model.
Step values SHALL treat @ characters inside valid email address tokens as literal text rather than Razor transitions.
Meeting Assistant SHALL expose the formatted transcript line and transcript speaker to transcript_line rule conditions and Razor step templates.
Meeting Assistant SHALL support these initial rule steps:
add_attendeeremove_attendeeset_propertyadd_contextadd_project
The set_property step SHALL support setting transcript.line during transcript_line events.
Scenario: Nested conditions choose a matching rule
- GIVEN a configured rule with nested
and,or, andnotconditions over meeting title, attendees, and event data - WHEN the condition evaluates to true
- THEN Meeting Assistant applies the rule
- WHEN the condition evaluates to false
- THEN Meeting Assistant skips the rule
Scenario: Templated context mentions identified speaker
- GIVEN a configured
speaker_identifiedrule with anadd_contextstep using Razor syntax - WHEN Meeting Assistant identifies matching speaker
Ada - THEN it appends rendered context text containing
Adato the assistant context note
Scenario: Email addresses do not trigger Razor templating
- GIVEN a configured rule step value containing
Support@contoso.com - WHEN the rule runs
- THEN Meeting Assistant preserves the email address as literal text
Scenario: Email addresses can appear beside Razor templating
- GIVEN a configured rule step value containing both
Support@contoso.comand a Razor expression - WHEN the rule runs
- THEN Meeting Assistant renders the Razor expression and preserves the email address as literal text
Scenario: Rule can clean a meeting title
- GIVEN a configured state-transition rule that matches a title containing a configured marker
- WHEN the rule runs
- THEN Meeting Assistant can update the meeting title through
set_property
Scenario: Transcript line conditions can use the written line and speaker
- GIVEN a configured
transcript_linerule with conditions overtranscript.lineandtranscript.speaker - WHEN Meeting Assistant writes a transcript line that matches both conditions
- THEN it applies the rule steps before the line is persisted