WordloopWordloop
WorkDeliveredLive CaptureTechnical DesignMilestonesLive Recording

Core — Schema, Endpoints, Events

Slice 1 Core.

Slice 1: Core — Schema, Endpoints, WebSocket Events

Owner: Core engineer Domain: Core Complexity: L

The foundation everything else builds on. No UI can be built until these contracts exist and the API spec is regenerated.

Tasks

  • Write and apply DB migrations (UUIDv7, speaker_label, start_ms/end_ms, person_id, is_final, headline, status)
  • Implement GET /meetings/{id}/audio-url — returns signed GCS URL
  • Implement POST /meetings/{id}/speaker-labels — bulk person_id assignment + voice profile enrichment
  • Implement PUT /transcriptions/{id}/segments — atomic replacement
  • Add new WebSocket events: RecordingStartedEvent, RecordingStoppedEvent, RecordingDegradedEvent, TalkingPointEvent, TaskEvent
  • Implement ML streaming session management and audio GCS upload stream
  • Regenerate API spec: ./dev gen all

Test cases:

TestLocationAssertion
Migrations apply cleanlytest_core./dev db migrate succeeds with no errors
GET /audio-url returns signed URLtest_core200 with url and expires_at fields
POST /speaker-labels updates segmentstest_coreAll segments with matching speaker_label receive person_id
PUT /segments replaces atomicallytest_coreNew segments replace old; count matches input
WebSocket events conform to CloudEvents v1.0test_coreEvents include specversion, id, source, type, time
Unauthenticated requests rejectedtest_core401 for all new endpoints without auth

On this page