Add Streamlit meeting assistant MVP

This commit is contained in:
2026-08-24 10:28:44 +02:00
parent 443a85528b
commit 13d06b8a60
19 changed files with 1188 additions and 20 deletions
+14 -5
View File
@@ -15,7 +15,7 @@ are derived, reproducible artifacts and require human review.
Meeting Lab owns reusable and experimental processing:
- FFmpeg audio preparation
- FFmpeg audio preparation, with optional normalization enabled by default
- `whisper.cpp` transcription
- optional `pyannote.audio` diarization
- protocol generation
@@ -47,7 +47,8 @@ Processing logic must not be duplicated in the application.
```text
Imported audio
-> prepare as mono, 16 kHz PCM WAV with FFmpeg
-> always prepare as mono, 16 kHz PCM WAV with FFmpeg
(optionally normalize loudness; default on)
-> transcribe with whisper.cpp and large-v3-turbo
-> optionally diarize with pyannote.audio Community-1
-> generate a protocol directly from the full transcript
@@ -66,11 +67,14 @@ requirements. CPU execution remains supported and may be substantially slower.
## Meeting Context and Speakers
`MeetingContext` is a structured domain object containing meeting metadata and
participants. It can also contain optional explicit mappings from
`MeetingContext` is a structured domain object containing meeting metadata,
present participants, and people who were mentioned without attending. The GUI
records exactly `present` or `mentioned_only`; missing legacy participant status
defaults to `present` in Meeting Lab. It can also contain optional explicit mappings from
`SPEAKER_XX` labels to `participant_id` values.
A speaker mapping is authoritative only when a user explicitly confirms it.
A speaker mapping is authoritative only when a user explicitly confirms it and
may reference only a present participant.
Speakers otherwise remain anonymous. Automatic speaker-name inference is not
allowed. The GUI must create and edit Meeting Context; hand-written YAML is not
a product requirement.
@@ -101,6 +105,11 @@ The product should ultimately offer both a detailed contextual protocol and a
shorter participant/distribution version. The short version remains follow-up
work if it is not available for the first GUI milestone.
Confirmed meeting-specific corrections should ultimately be reusable by both
protocol views. The detailed correction and selective-regeneration decision is
recorded in [ADR 0012](docs/adr/0012-post-run-corrections.md); it is later
product work, not a current MVP requirement.
## Design Principles
- offline-first where practical