Files
meeting-assistant/openspec/changes/add-meeting-automation-rules/specs/meeting-session/spec.md
T
2026-05-27 12:55:18 +02:00

3.2 KiB

ADDED Requirements

Requirement: Meeting automation rules are configurable

Meeting Assistant SHALL allow an optional local YAML rules file path to be configured.

When the configured rules file is missing or blank, Meeting Assistant SHALL continue without applying automation rules.

The local rules file SHALL be ignored by source control.

Rules SHALL be evaluated against the latest meeting note data read from disk for each event.

Scenario: Missing rules file is ignored

  • WHEN Meeting Assistant handles a meeting event and no configured rules file exists
  • THEN it leaves the meeting note and assistant context unchanged

Scenario: Created rule adds default attendee

  • GIVEN a configured rule that triggers on meeting creation when meeting.attendees.count = 0
  • WHEN Meeting Assistant creates a meeting note without attendees
  • THEN it adds the configured attendee to the meeting note

Requirement: Meeting automation rules support lifecycle triggers

Meeting Assistant SHALL support rule triggers for created, state_transition, and speaker_identified.

A state_transition trigger MAY filter by from, to, or both state values.

A speaker_identified 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 metadata to transcribing
  • WHEN Meeting Assistant transitions that meeting from collecting metadata to transcribing
  • THEN it applies the rule steps

Scenario: Speaker identified rule filters by name

  • GIVEN a configured rule that triggers when speaker Ada is 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

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.

Meeting Assistant SHALL support these initial rule steps:

  • add_attendee
  • remove_attendee
  • set_property
  • add_context
  • add_project

Scenario: Nested conditions choose a matching rule

  • GIVEN a configured rule with nested and, or, and not conditions 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_identified rule with an add_context step using Razor syntax
  • WHEN Meeting Assistant identifies matching speaker Ada
  • THEN it appends rendered context text containing Ada to the assistant context note

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