import { VersionInfo } from '@start9labs/start-sdk' export const v_0_2_109 = VersionInfo.of({ version: '0.2.109:0', releaseNotes: { en_US: "Internal Meetings — per-line speaker re-assignment. Diarization on 4+ voices gets noisy in real meetings: similar voices get merged, mid-sentence speaker swaps get assigned to the wrong person, and the LLM name-inference compounds the issue when it confidently picks the wrong person from limited early-meeting context. Sometimes the LLM even invents names that aren't on the participant list. Now every speaker chip on the transcript is a clickable button — click it to open a small popover listing every speaker in the meeting (each rendered as its colored chip + name + speaking time), plus a 'Clear override (revert to auto)' option for any line you've already corrected. Pick the right speaker → POST → the chip updates in place. Operator-corrected chips render with a DASHED border (vs. solid for diarization-attributed) so you can scan a long transcript and see at a glance which lines you've already fixed. Override lives on a separate field (entry.speaker_override) so the original Sortformer attribution is never destroyed — you can always click 'Clear override' to revert a line. Click outside or press Escape to dismiss the picker. Corrections flow into every output: dashboard chips, the .html download, the .md download, and the .json download. Works alongside the v0.2.108 global rename (click a speaker NAME in the legend) — typical workflow: rename Speaker_A to the right person globally, then sweep through the transcript and re-attribute the handful of lines diarization got wrong. Speaker MERGES (collapsing two cluster IDs that are actually the same person into one) and cross-call speaker fingerprint memory remain on the roadmap.", }, migrations: { up: async ({ effects }) => {}, down: async ({ effects }) => {}, }, })