ML — Timestamped Transcript
start_ms / end_ms timestamps on every final transcript segment from batch AssemblyAI output, ordered and seekable within the audio duration.
ML — Timestamped Transcript
Owner: ML Engineer Domain: ml Complexity: S Prerequisite: Milestone 04 merged
When this slice is complete, every final transcript segment ML writes back from the batch AssemblyAI pass carries start_ms/end_ms, ordered by start_ms and each within the composed audio's duration — the data the App's playback highlighting and click-to-seek depend on.
Required Capabilities
- Every final transcript segment carries integer
start_msandend_ms, withend_ms >= start_ms. - Final segments are returned ordered by
start_ms. - Every segment's
start_msfalls within the composed audio's duration.
Dependencies
- Milestone 04 (
live-transcript-to-final-rebuild) must be merged — the batch AssemblyAI transcription path andPUT /transcriptions/{id}/segmentswrite-back.
Test Cases
Test cases map to tests/bets/meeting-recording/test_milestone_10_audio_playback_and_review.py. Run via ./dev test bet meeting-recording.
| Test | Location | Assertion |
|---|---|---|
test_transcript_highlighting_follows_playback_time | test_milestone_10 | Every final segment has integer start_ms/end_ms with start_ms >= 0 and end_ms >= start_ms. |
test_clicking_transcript_seeks_audio | test_milestone_10 | Final segments are returned ordered by start_ms, and every segment's start_ms falls within [0, max(duration_ms, last_start_ms)]. |
Completion Checklist
- Code merged and deployed
- Bet progress tests pass (
./dev test bet meeting-recording) - Permanent service tests implemented per testing strategy
- Code review completed
- Testing review completed
- System documentation updated (as applicable)
Core — Audio URL
GET /meetings/:id/audio-url returning a time-limited signed URL, with mime_type and duration_ms in the response, and the recoverable-error contract for expired or forged links.
11 Recording Hardening
Recording handles long sessions, browser limits, no-audio conditions, and diagnostics.