Whisper's snap_pause_point() finds the nearest sentence boundary independently per cue, which can move a later cue's pause_point before an earlier cue's. The renderer then sorts by pause_point, producing non-sequential cue indices in the timeline. Add a forward monotonicity pass (clamp each pause_point >= previous) at three layers for defense-in-depth: - whisper_service: Phase 3 after consolidation - video_renderer: before temporal sort in _render_pause_insert_method - rerender_accessible_video: in _build_placements_with_adjustments Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __pycache__ | ||
| api/v1 | ||
| core | ||
| lib | ||
| middleware | ||
| migrations | ||
| models | ||
| prompts | ||
| schemas | ||
| services | ||
| tasks | ||
| telemetry | ||
| main.py | ||