## Why Meeting Assistant should provide a meeting capture workflow that is not tied to a specific online meeting provider. The first version needs to establish the platform-independent core: meeting notes, metadata capture, transcription with speaker attribution, generated summaries and next steps, and a project knowledge base that agents can use for later retrieval and controlled project work. ## What Changes - Create Meeting Assistant as a .NET 10 server application in `Manuel/meeting-assistant`. - Establish OpenSpec as the source of truth for behavior changes. - Define the version 1 meeting flow around Obsidian markdown notes created before transcription starts. - Require the core flow to support in-person meetings and not depend on Teams, Zoom, or similar APIs. - Add a configurable global hotkey that toggles recording/transcription mode. - Capture microphone input and computer output into one transcription audio stream. - Require speech recognition pipelines to accept streamable audio, with FunASR configured for speaker-attributed transcription and local Whisper plus pyannote kept as a fallback pipeline. - Store the live transcript in a text file under the configured vault folder. - Add requirements for speaker-attributed transcription, summaries, decisions, and next steps. - Define project context capture and retrieval as first-class capabilities. - Define agent tools for project lookup and project file changes in existing projects. ## Capabilities ### New Capabilities - `meeting-session`: creation and lifecycle of meeting notes and metadata. - `meeting-recording`: hotkey-controlled recording mode, mixed audio capture, and transcript persistence. - `meeting-transcription`: platform-independent transcription with speaker attribution. - `meeting-summary`: generated summaries, decisions, and next steps. - `project-knowledge`: project context, retrieval, and knowledge base updates from meetings. - `agent-project-tools`: agent tools for lookup, retrieval, and project file updates. ## Impact - New .NET 10 solution, service project, tests, README, and OpenSpec structure. - New recording/transcription services using configurable .NET options. - NAudio is used for Windows microphone and WASAPI loopback capture. - FunASR is used as the configured speaker-attribution pipeline, and Whisper.NET plus pyannote remains available as a local transcription fallback. - Version 1 behavior is documented before feature implementation. - Future platform integrations remain optional augmentations instead of hard dependencies.