Files
meeting-assistant/openspec/specs/meeting-session/spec.md
T
2026-05-27 12:55:17 +02:00

5.4 KiB

meeting-session Specification

Purpose

TBD - created by archiving change define-meeting-assistant-v1. Update Purpose after archive.

Requirements

Requirement: Meeting Assistant creates a note before transcription

Meeting Assistant SHALL create an Obsidian markdown note for a meeting session before transcription starts.

The note SHALL be the durable anchor for meeting metadata, user notes, assistant-discovered context, transcript references, summaries, decisions, and next steps.

Scenario: Session starts

  • WHEN the user starts a new meeting session
  • THEN Meeting Assistant creates a markdown note in the configured meetings folder before starting transcription

Scenario: Recording starts from hotkey

  • WHEN the user presses the recording hotkey while recording is inactive
  • THEN Meeting Assistant creates the transcript file, creates the meeting note with links to the transcript, assistant context, and summary notes, and opens the meeting note through an obsidian:// system command

Scenario: User adds context before transcription

  • WHEN the note exists before transcription starts
  • THEN the user can add attendees, project context, and other notes to that file

Requirement: Vault locations are configurable

Meeting Assistant SHALL expose separate configuration settings for transcript files, meeting notes, assistant context, generated summaries, project knowledge, and dictation words.

The dictation words location SHALL point to a word-list artifact that speech recognition pipelines MAY use as vocabulary hints when supported.

Scenario: Transcript and note locations are configured separately

  • WHEN Meeting Assistant starts with configured vault locations
  • THEN transcripts, meeting notes, assistant context, generated summaries, project knowledge, and dictation words each have an independently configured path

Scenario: Provider supports dictation words

  • WHEN the configured speech recognition pipeline supports vocabulary hints
  • THEN Meeting Assistant can provide words from the configured dictation words path without changing the other vault locations

Requirement: Meeting note template is coded and round-trippable

Meeting Assistant SHALL link the note files generated for one meeting run through frontmatter.

The meeting note frontmatter SHALL link to the transcript, assistant context, and summary notes.

Generated artifact notes SHALL link only to the other notes from the same run and SHALL omit the frontmatter property that would reference themselves.

  • WHEN Meeting Assistant creates a meeting note
  • THEN the note frontmatter links to the configured transcript, assistant context, and summary note locations

Scenario: Generated artifacts do not self-reference

  • WHEN Meeting Assistant writes transcript, assistant context, or summary artifact frontmatter
  • THEN the artifact frontmatter links to the other run notes
  • AND the artifact frontmatter omits the property for the artifact's own note type

Requirement: Meeting notes preserve user-authored content

Meeting Assistant SHALL preserve user-authored meeting notes and include them as input when generating summaries, decisions, and next steps.

Scenario: User writes notes during the meeting

  • WHEN the user updates the meeting note while the meeting is active
  • THEN Meeting Assistant keeps that content and incorporates it into generated meeting outputs

Requirement: Meeting sessions are platform independent

Meeting Assistant SHALL support meeting sessions that do not originate from Teams, Zoom, or any other meeting software API.

Meeting software integrations MAY augment the meeting experience, but they SHALL NOT be required for the primary meeting capture, transcription, or summary flow.

Scenario: In-person meeting is captured

  • WHEN the user starts transcription for an in-person meeting
  • THEN Meeting Assistant captures and processes the meeting without requiring a meeting platform integration

Requirement: Windows Outlook enrichment is optional

Meeting Assistant SHALL gate Outlook Classic COM enrichment behind the Windows compilation target.

When the Windows build starts a meeting and Outlook Classic has exactly one current Teams appointment, Meeting Assistant SHALL copy the appointment title and attendees to the meeting note and copy the appointment agenda and scheduled end time to the assistant-context frontmatter.

The agenda SHALL be extracted from the appointment body content before the Teams join separator or Teams join text.

Scenario: Current Teams appointment enriches meeting artifacts

  • WHEN a Windows build starts a meeting while Outlook Classic exposes exactly one current Teams appointment
  • THEN Meeting Assistant uses the appointment subject as the meeting title
  • AND writes the appointment attendees into meeting note frontmatter
  • AND writes the appointment agenda into assistant-context frontmatter
  • AND writes the appointment end time as scheduled_end into assistant-context frontmatter

Scenario: Outlook is unavailable or ambiguous

  • WHEN Outlook Classic is unavailable or more than one current Teams appointment is found
  • THEN Meeting Assistant starts the recording with the default generated meeting title and empty agenda
  • AND omits scheduled_end from assistant-context frontmatter