How a run works
- Align (only with
--audio). The external recording is measured against the video, and a master file is written with that recording as its audio. - Transcribe and analyse. The audio is transcribed once and cached. Silences, voiced spans and mouth noises are measured from the waveform.
- Decide. Three judged stages choose the cuts: the cold open and outro, the retakes, and the content. The judge votes on candidates that the code generated. Code turns each pick into a cut, so the judge never writes a timestamp. A mechanical stage then handles pauses, fillers and mouth noises.
- Render and check. Each cut’s edges are placed against the waveform: the level step across each join and voiced audio beside each edge are scored, then every join gets one refinement pass within 40 ms (
refine_joins, before anything downstream reads the plan’s output times). One ffmpeg render produces the cut and the mastered audio. The output is then measured against the plan: duration, loudness, the first word, join quality, dead air and colour. - Overlay and report. An optional second pass adds the overlays with the audio copied, so the checks still hold.
report.mdrecords every decision.
The stage-by-stage map is in docs/architecture.md.