4.3 KiB
MODIFIED Requirements
Requirement: Meeting Assistant generates meeting outputs
Meeting Assistant SHALL generate a summary, decisions, and next steps from the meeting transcript, metadata, user notes, and assistant-discovered context.
Meeting Assistant SHALL use a Microsoft Agent Framework pipeline for the first summary implementation. The pipeline SHALL use a configurable OpenAI-compatible endpoint, model, and API key source, including support for a direct key or an environment variable name.
The summary pipeline SHALL retry transient model endpoint failures according to configurable reconnection attempts and delay settings.
The summary pipeline SHALL expose tools scoped to the current meeting:
read_meetingnoteread_transcriptread_contextread_usernotesread_glossaryadd_dictation_wordadd_attendeeremove_attendeeoverride_speakerdelete_identitywrite_summarywrite_contextlist_projectslist_projectfilesread_projectfilewrite_projectfilesearch
All summary-agent read tools that return file-like content SHALL support either reading the whole file or reading a clamped inclusive 1-based line range when from and to are supplied.
The summary pipeline SHALL write the summary note as a markdown artifact linked to the meeting note, transcript, and assistant context.
The summary agent SHALL be able to read the meeting note, transcript, assistant context, glossary, and bound project files through tools.
The summary agent SHALL be able to write the summary and assistant context files as its owned artifacts.
The summary agent SHALL be able to read and write the assistant context body as its own notebook using append-by-default, explicit whole-body replacement, replace, and insert line modes.
When the summary agent calls write_context without line edit arguments and without replace_file, Meeting Assistant SHALL append the supplied content to the assistant context body while preserving assistant context frontmatter.
When the summary agent calls write_context with replace_file true, Meeting Assistant SHALL replace the assistant context body while preserving assistant context frontmatter.
Meeting Assistant SHALL refuse ambiguous write_context calls that combine replace_file with line edit arguments.
For summary-agent writes to any file other than the summary file and assistant context file, Meeting Assistant SHALL record an in-memory diff containing removed and added lines.
Meeting Assistant SHALL use a diff implementation that can reduce whole-file rewrites to changed lines instead of treating every rewrite as a full replacement.
When the summary agent finishes, Meeting Assistant SHALL append the collected external write diffs to the assistant context file.
Scenario: Assistant context note is initialized
- WHEN Meeting Assistant starts a meeting session
- THEN it creates the assistant context note with frontmatter links to the meeting note, transcript note, and summary note
Scenario: Assistant context body appends by default
- WHEN the summary agent writes assistant context content without line arguments
- THEN Meeting Assistant appends the content to the existing assistant context body
- AND preserves the existing assistant context frontmatter
Scenario: Assistant context body can be explicitly replaced
- WHEN the summary agent writes assistant context content with
replace_fileset to true - THEN Meeting Assistant replaces the assistant context body
- AND preserves the existing assistant context frontmatter
Scenario: Assistant context body writes do not duplicate frontmatter
- WHEN the summary agent writes assistant context content that accidentally includes a markdown frontmatter block
- THEN Meeting Assistant preserves the existing assistant context frontmatter
- AND writes only the replacement body content after that frontmatter
Scenario: Assistant context write mode is ambiguous
- WHEN the summary agent combines
replace_filewithfrom,to, orinsert - THEN Meeting Assistant refuses the assistant context write
Scenario: External project write is audited
- WHEN the summary agent writes a bound project file
- THEN Meeting Assistant records the changed removed and added lines for that project file
- AND appends that diff to the assistant context after the agent finishes