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__ | ||
| audit_logger.py | ||
| emailer.py | ||
| ffmpeg_http_service.py | ||
| gcs.py | ||
| gemini.py | ||
| gemini_tts.py | ||
| microsoft_auth.py | ||
| secrets_manager.py | ||
| tts.py | ||
| validation.py | ||
| video_renderer.py | ||
| vtt_retimer.py | ||
| websocket.py | ||
| websocket_publisher.py | ||
| whisper_http_service.py | ||
| whisper_service.py | ||
| zip_download.py | ||