Files

14 lines
1.7 KiB
TypeScript

import { VersionInfo } from '@start9labs/start-sdk'
export const v_0_2_95 = VersionInfo.of({
version: '0.2.95:0',
releaseNotes: {
en_US:
"Phase 2 — post-cluster polish pass. After transcribe + diarize + clustering produce global speaker IDs AND pipelined analyze produces section objects, a new two-stage LLM pass runs at the end of the pipeline: (1) global speaker name inference — one LLM call sees the speaker-labeled transcript + episode metadata (channel name, title, description) and infers real names like 'Matt Hill', 'Sarah Jones'. Returns null when it can't confidently identify a speaker. (2) per-window summary polish — N parallel LLM calls rewrite each section's summary to attribute statements to specific speakers ('Matt Hill explains why self-hosting matters' instead of 'the discussion centers around self-hosting'). Section titles and indices are NEVER modified; only summaries get rewritten. Failure handling: both stages are best-effort. If Stage 1 fails entirely, all names default to null and Stage 2 still produces 'Speaker A explains...' attributions. If a Stage 2 window fails, that window's original summary is kept. If the whole polish fails, the unpolished analyze output is used unchanged. New operator toggle 'Speaker-aware summary polish' in Settings → Operator hardware (default ON). Skipped automatically when <2 speakers detected (nothing to attribute) or diarization is off. Cost: ~15-25s wall time added at the end of the pipeline. New module server/post-cluster-polish.js; new file-models schema field relay_post_cluster_polish_enabled (boolean, default true).",
},
migrations: {
up: async ({ effects }) => {},
down: async ({ effects }) => {},
},
})