Files
recap-relay/startos/versions/v0.2.89.ts
T

14 lines
1.7 KiB
TypeScript

import { VersionInfo } from '@start9labs/start-sdk'
export const v_0_2_89 = VersionInfo.of({
version: '0.2.89:0',
releaseNotes: {
en_US:
"Pipelined analyze for the hardware backend. Analyze windows now fire AS SOON AS the transcribe chunks covering their audio range have completed, in parallel with later chunks still being transcribed. For a 94-min video the first topics now render at T~80s instead of T~160s — analyze hides under transcribe instead of running serially after it. Total wall time savings are modest (~10s on this content) but the user-perceived 'time to first result' drops dramatically. On longer content (4hr+ podcasts) the wall-time savings scale up since analyze becomes a larger share of total work. Mechanics: new server/chunk-buffer.js maintains a sorted, deduped-against-overlap segment buffer that hardware backend feeds via a new onChunkComplete callback per chunk. New runPipelinedAnalysis in server/chunked-analyze.js plans windows from audio duration (not entries — entries don't exist yet during transcribe), waits per window for its time range to be covered, then fires analyzeOneWindow (also new — extracted from runChunkedAnalysis). Window-local section indices are remapped to global canonical indices after transcribe completes via canonicalIndexForOffset. The per-window window_complete SSE event now embeds the window's own entries inline so callers can render partial sections WITHOUT waiting for the full transcript. Gemini transcribe still uses the sequential path (single big call, no per-chunk callbacks). Speaker clustering still runs at end of transcribe (needs all fingerprints).",
},
migrations: {
up: async ({ effects }) => {},
down: async ({ effects }) => {},
},
})