Public Access
Implement meeting assistant v1
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
## 1. Repository Setup
|
||||
|
||||
- [x] 1.1 Create the Gitea repository and clone it to `C:\Manuel\meeting-assistant`.
|
||||
- [x] 1.2 Add .NET 10 solution, service project, and test project.
|
||||
- [x] 1.3 Add repository README and agent instructions.
|
||||
- [x] 1.4 Add OpenSpec config and the version 1 proposal/design/specs.
|
||||
|
||||
## 2. Meeting Session Notes
|
||||
|
||||
- [x] 2.1 Define configurable vault locations for transcripts, meeting notes, assistant context, summaries, project knowledge, and dictation words.
|
||||
- [x] 2.2 Add a coded meeting note template and store with attendees, projects, transcript link, assistant context link, summary link, and body user notes.
|
||||
- [x] 2.3 Implement meeting session creation that writes the initial note before transcription starts and opens it through `obsidian://`.
|
||||
- [x] 2.4 Add tests proving user-authored notes remain preserved and included in later processing.
|
||||
- [x] 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
|
||||
|
||||
- [x] 2A.1 Add configurable hotkey settings using the normal .NET options model.
|
||||
- [x] 2A.2 Implement hotkey-controlled recording mode toggle.
|
||||
- [x] 2A.3 Capture microphone input and computer output through replaceable audio source abstractions.
|
||||
- [x] 2A.4 Mix microphone and system audio chunks into one PCM stream.
|
||||
- [x] 2A.5 Write transcript text into the configured vault folder.
|
||||
- [x] 2A.6 Add deterministic tests for streaming coordinator behavior, vault transcript persistence, hotkey parsing, and audio mixing.
|
||||
- [x] 2A.7 Stop capture while draining already captured audio through the speech recognition pipeline.
|
||||
|
||||
## 3. Transcription
|
||||
|
||||
- [x] 3.1 Select the first ASR backend.
|
||||
- [x] 3.2 Add provider-independent speech recognition pipeline contracts.
|
||||
- [x] 3.3 Implement transcription ingestion for platform-independent audio input.
|
||||
- [x] 3.4 Add FunASR speaker-attribution provider and tests.
|
||||
- [x] 3.5 Add local Whisper.NET provider adapter with configurable model path, language, and window size.
|
||||
- [x] 3.6 Add a small WAV fixture for transcription-provider tests.
|
||||
- [x] 3.7 Add an ASR diagnostic endpoint that streams a local WAV file through the configured provider.
|
||||
- [x] 3.8 Add managed FunASR backend install/start/stop lifecycle for the FunASR provider.
|
||||
- [x] 3.9 Temporarily write mixed recording audio and run a final FunASR CAMPPlus diarization pass that can rewrite the transcript.
|
||||
- [x] 3.10 Delete temporary recording audio after each run and clean up stale temporary recordings at startup.
|
||||
- [x] 3.11 Add a local Whisper final pyannote diarization pass that maps speaker turns onto live Whisper transcript segments.
|
||||
- [x] 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
|
||||
|
||||
- [x] 4.1 Define the summary, decisions, open questions, and next steps output structure for the first summary note.
|
||||
- [x] 4.2 Create the assistant context note at session start and link it to the meeting, transcript, and summary notes.
|
||||
- [x] 4.3 Add a Microsoft Agent Framework summary pipeline with OpenAI-compatible configuration and meeting-scoped tools.
|
||||
- [x] 4.4 Add assistant-context agenda frontmatter and Windows-only Outlook Classic Teams appointment enrichment.
|
||||
|
||||
## 5. Project Knowledge and Agent Tools
|
||||
|
||||
- [x] 5.1 Define project binding metadata for meetings.
|
||||
- [x] 5.2 Define project knowledge storage and retrieval requirements.
|
||||
- [x] 5.3 Add agent tools for project lookup and keyword lookup.
|
||||
- [x] 5.4 Define and implement project file write modes for overwrite, replace, and insert.
|
||||
|
||||
## 6. Verification
|
||||
|
||||
- [x] 6.1 Run `dotnet test MeetingAssistant.slnx`.
|
||||
- [x] 6.2 Run `openspec validate define-meeting-assistant-v1 --strict`.
|
||||
Reference in New Issue
Block a user