07 Live Talking Points
Draft talking points appear during recording and final talking points come from rebuild.
07 Live Talking Points
Goal
A user sees draft talking points during a live meeting, then receives final talking points from the final rebuild after recording stops.
Why This Comes Now
After the recording, finalization, durability, and user notes surfaces are stable, the system can safely add generated live insight previews without confusing them with final rebuilt artifacts.
Included Scope
- Generate draft talking points from the live transcript while recording continues.
- Label live talking points as draft or provisional.
- Update draft talking points as more transcript context arrives.
- On finalization, replace draft talking points with final talking points from the rebuild path.
- Preserve private notes separately from generated talking points.
Not Included
- User task extraction or reconciliation.
- Speaker labelling, audio playback, or review-time transcript sync.
- Manual editing or pinning of talking points.
- Treating live draft talking points as final meeting output.
Domain Slices
| # | Domain | Slice summary | Scaffold command | Complexity | Prerequisite |
|---|---|---|---|---|---|
| 1 | Core | POST /meetings/{id}/talking-points ML write-back; TalkingPointEvent broadcast; PUT /meetings/{id}/synthesis final replacement; SynthesisUpdatedEvent broadcast | ./dev new slice meeting-recording 07-live-talking-points core live-talking-points | S | Milestone 04 merged |
| 2 | ML | Batched insight pipeline producing TalkingPointProducedEvent every N transcript segments; final talking points in post-meeting synthesis | ./dev new slice meeting-recording 07-live-talking-points ml live-talking-points | M | Slice 1 merged + ./dev gen all |
| 3 | App | Draft talking points panel in the recording view; provisional label; replace with final on SynthesisUpdatedEvent | ./dev new slice meeting-recording 07-live-talking-points app live-talking-points-ui | S | Slice 1 merged |
Acceptance
These criteria map to tests/bets/meeting-recording/test_milestone_07_live_talking_points.py. Run via ./dev test bet meeting-recording.
- Draft talking points appear while a live transcript is streaming.
- Draft talking points are visibly marked as provisional.
- Draft talking points update as additional transcript context arrives.
- Stopping the recording triggers final rebuild through the shared finalization path.
- Final talking points replace draft talking points after rebuild completes.
- Private notes remain unchanged when talking points are generated or replaced.
Core — Live Notes
PATCH /meetings/:id notes field update, debounced write semantics, and EntityChangedEvent broadcast to the owner's other sessions.
App — Live Talking Points UI
Draft talking points panel in the recording view, provisional label, and replacement with final talking points on SynthesisUpdatedEvent.