Run the diarization + labeling pipeline (TASK-244 + TASK-247) across all pending and broken transcripts. This coordinates existing work rather than duplicating it: it executes the backfill behind TASK-124 (transcription automation), resolves TASK-022–025 (broken-transcript repairs) and TASK-125 (QC review), and unblocks the ~60 Canonical Review tasks (TASK-031–115) by giving them acoustic-grounded turns to review.
250 executes the 244+247 pipeline across the corpus by driving the existing machinery. Build nothing new here:
bin/batch_ztranscribe.rb (+ bin/batch_ztranscribe_other.rb for non-YouTube) — the same discovery/enqueue TASK-124 already uses.zdots-ctx worker --type transcription < /dev/null & (stdin redirect per doc-041 to avoid the ffmpeg hang).bin/stage_completed_transcripts.rb → ./bin/transcripts ingest (now carrying the 244 diarization sidecar).rake audit:prepare[slug] → fused audit (247) → rake audit:ingest[slug].bin/report_transcript_loops.rb → _data/transcript_retranscribe_queue.yml.video_assets missing transcript_id with a YouTube id) and the resumable worker. 250 does NOT re-implement discovery or the worker — it runs 124’s loop to completion with diarization now enabled, then pushes each completed transcript through the 247 fused audit. When 250’s backfill is green, 124’s remaining ACs (#2-#4) close as a byproduct.bin/report_transcript_loops.rb reports zero high-severity entries in _data/transcript_retranscribe_queue.yml (currently 87 flagged items, head scores 2211/1146/1004/871). Loop/corrupt files are re-transcribed on the whisper.cpp standard (Turbo) profile per the archive-forensics loop note.dave-hoover-geekfest-geekfest score 871 = TASK-024; ethan-gunderson-ryan-briones-... score 269 = TASK-022; plus jonathan-baltz-chicagowebconf-2012 = TASK-023, ashe-dryden-general = TASK-025). 250 repairs them as the leading batch via diarized re-transcription; each closes when its loop score clears and the linkage chain (Interview→Asset→Transcript) validates.bin/batch_ztranscribe.rb for all YouTube video_assets still missing transcript_id; drain the worker; stage/import (diarization sidecars land via 244); run 247 audit per slug.diarization block — re-transcribe to attach acoustics, then 247 audit.video_asset has a transcript_id and its transcript carries a diarization block (AC#1)._data/transcript_retranscribe_queue.yml regenerates with zero high-severity entries (AC#3, satisfies TASK-125).bin/validate_data, bundle exec rake transcript:audit, and bin/pipeline ci all green.Depends on TASK-247 (fused labeling). Blocks/unblocks TASK-031–115; feeds TASK-252 (captions). Advances TASK-124/125/022–025 to Done by executing them, not by re-scoping them.
author: claude created: 2026-07-05 17:07 — Re-transcription pilot (2 HIGH-severity loop-flagged files, identical 16k-mono WAV + bare whisper-cli, model the ONLY variable) — result flips the model choice:
bin/report_transcript_loops.rb to confirm scores drop, and re-apply normalize/split/validate before writing back. NB: the #1 queue item vimeo-38936294 and other vimeo-* entries are Vimeo-hosted — they need the Vimeo URL path, not YouTube (ties into the Vimeo migration track). Pilot artifacts: scratchpad/retranscribe-pilot/PILOT_FINDINGS.md.