Files
meeting-assistant/openspec/changes/archive/2026-05-19-define-meeting-assistant-v1/tasks.md
T
2026-05-20 02:06:16 +02:00

3.7 KiB

1. Repository Setup

  • 1.1 Create the Gitea repository and clone it to C:\Manuel\meeting-assistant.
  • 1.2 Add .NET 10 solution, service project, and test project.
  • 1.3 Add repository README and agent instructions.
  • 1.4 Add OpenSpec config and the version 1 proposal/design/specs.

2. Meeting Session Notes

  • 2.1 Define configurable vault locations for transcripts, meeting notes, assistant context, summaries, project knowledge, and dictation words.
  • 2.2 Add a coded meeting note template and store with attendees, projects, transcript link, assistant context link, summary link, and body user notes.
  • 2.3 Implement meeting session creation that writes the initial note before transcription starts and opens it through obsidian://.
  • 2.4 Add tests proving user-authored notes remain preserved and included in later processing.
  • 2.5 Add a configurable summary note location and store summary as a markdown link in meeting note frontmatter.

2A. Recording Control and Audio Capture

  • 2A.1 Add configurable hotkey settings using the normal .NET options model.
  • 2A.2 Implement hotkey-controlled recording mode toggle.
  • 2A.3 Capture microphone input and computer output through replaceable audio source abstractions.
  • 2A.4 Mix microphone and system audio chunks into one PCM stream.
  • 2A.5 Write transcript text into the configured vault folder.
  • 2A.6 Add deterministic tests for streaming coordinator behavior, vault transcript persistence, hotkey parsing, and audio mixing.
  • 2A.7 Stop capture while draining already captured audio through the speech recognition pipeline.

3. Transcription

  • 3.1 Select the first ASR backend.
  • 3.2 Add provider-independent speech recognition pipeline contracts.
  • 3.3 Implement transcription ingestion for platform-independent audio input.
  • 3.4 Add FunASR speaker-attribution provider and tests.
  • 3.5 Add local Whisper.NET provider adapter with configurable model path, language, and window size.
  • 3.6 Add a small WAV fixture for transcription-provider tests.
  • 3.7 Add an ASR diagnostic endpoint that streams a local WAV file through the configured provider.
  • 3.8 Add managed FunASR backend install/start/stop lifecycle for the FunASR provider.
  • 3.9 Temporarily write mixed recording audio and run a final FunASR CAMPPlus diarization pass that can rewrite the transcript.
  • 3.10 Delete temporary recording audio after each run and clean up stale temporary recordings at startup.
  • 3.11 Add a local Whisper final pyannote diarization pass that maps speaker turns onto live Whisper transcript segments.
  • 3.12 Refactor ASR backends behind a speech recognition pipeline interface for initialization, readiness, chunk writes, live transcript reads, and finished transcript reads.

4. Summary and Next Steps

  • 4.1 Define the summary, decisions, open questions, and next steps output structure for the first summary note.
  • 4.2 Create the assistant context note at session start and link it to the meeting, transcript, and summary notes.
  • 4.3 Add a Microsoft Agent Framework summary pipeline with OpenAI-compatible configuration and meeting-scoped tools.
  • 4.4 Add assistant-context agenda frontmatter and Windows-only Outlook Classic Teams appointment enrichment.

5. Project Knowledge and Agent Tools

  • 5.1 Define project binding metadata for meetings.
  • 5.2 Define project knowledge storage and retrieval requirements.
  • 5.3 Add agent tools for project lookup and keyword lookup.
  • 5.4 Define and implement project file write modes for overwrite, replace, and insert.

6. Verification

  • 6.1 Run dotnet test MeetingAssistant.slnx.
  • 6.2 Run openspec validate define-meeting-assistant-v1 --strict.