WordloopWordloop
WorkMeeting RecordingTechnical Design DocMilestones09 Speaker Labelling

App — Speaker Labelling UI

Speaker label display on transcript segments, inline assignment dropdown (existing person or create new), optimistic assignment, and visually distinct unassigned labels.

App — Speaker Labelling UI

Owner: App Engineer Domain: app Complexity: M Prerequisite: Core Speaker Assignment slice merged

When this slice is complete, the transcript view shows each segment's speaker label, offers an inline assignment control (pick an existing person or create a new one), applies the assignment optimistically, and visually distinguishes labels that have not been assigned to anyone from those that have.

Required Capabilities

  • Transcript segments render their speaker_label.
  • An inline dropdown/control lets the user assign an existing person, or create a new one, to a label.
  • The assignment applies optimistically in the UI ahead of the server response.
  • Unassigned labels are visually distinct from assigned ones.

Dependencies

  • Core Speaker Assignment slice must be merged — specifically POST /meetings/{id}/speaker-labels, GET /meetings/{id}/speaker-labels, and POST /people.

Test Cases

Test cases map to tests/bets/meeting-recording/test_milestone_09_speaker_labelling.py. Run via ./dev test bet meeting-recording.

TestLocationAssertion
test_transcript_displays_distinct_speaker_labelstest_milestone_09 (App Vitest test_app_transcript_shows_speaker_labels)The transcript view renders distinct speaker labels on segments.
test_user_can_assign_existing_person_to_speakertest_milestone_09 (App Vitest test_app_assign_existing_person_to_speaker)The inline assignment control assigns an existing person to a speaker label.
test_user_can_create_person_from_speaker_flowtest_milestone_09 (App Vitest test_app_create_person_from_speaker_flow)The assignment flow supports creating a new person and attaching them to a label.
test_unassigned_speaker_labels_remain_visibletest_milestone_09 (App Vitest test_app_unassigned_labels_visible)Labels the user never assigned remain visible and visually distinct from assigned ones.

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)

On this page