# QA Note

- Media decode: `ffmpeg -v error -i content-library/ready-to-post/2026-05-16-1623-agents-judge/final-upload.mp4 -f null -` completed with exit code 0 and no decode errors.
- Visual backup decode: `ffmpeg -v error -i content-library/ready-to-post/2026-05-16-1623-agents-judge/media/visual-only.mp4 -f null -` completed with exit code 0 and no decode errors.
- Format: H.264 video with AAC audio, 1080x1920 vertical, 30 fps, 20.5 seconds.
- Contact sheet: inspected `media/contact-sheet.jpg`; six frames use consistent cyan/magenta/violet Kyanite styling with readable white foreground text.
- Mobile-safe margins: inspected `media/boundary-sheet.jpg`; main text stays inside the safe review box, with no top, side, or bottom clipping visible in sampled frames.
- Contrast: white text sits on dark violet/blue backgrounds or high-contrast glow fields; no bright white background collisions observed.
- Audio strategy: final upload includes the existing AAC music-text track. Recommended use is as-is for YouTube Shorts, or muted/low-volume with native trending audio on TikTok/Reels when reach is the priority. `media/visual-only.mp4` is included for silent/native-audio reposting.
- Human input: not required for publishing this package.

## Audio Ready Master
- Audio-ready upload: `final-upload-audio-ready.mp4`
- Source upload preserved: `final-upload.mp4`
- Audio lift: ffmpeg loudnorm target I=-16 LUFS, TP=-1.5, LRA=9; final audio AAC 192k stereo.
- ffprobe: final-upload-audio-ready.mp4: h264 1080x1920 30/1, 20.600s; audio aac 48000Hz 2ch
- Decode: ok
- Final volume check: mean_volume: -20.0 dB, max_volume: -8.7 dB
- Source volume check: mean_volume: -17.9 dB, max_volume: -7.0 dB

## Simon Clone TTS Pass
- Voiceover script: `VOICEOVER_SCRIPT.md`
- Cloned voice audio: `voiceover/simon-clone-tts.postclean-light.wav` (16.360s)
- Voice-only waveform source master: `final-upload-simon-tts-voiceonly.mp4`
- Voice plus music pre-waveform master: `final-upload-simon-tts-music.mp4`
- Mix: voice centered stereo at 1.0; existing music-text audio at 0.34 with sidechain ducking under voice.
- Final target duration: 20.500s; video pad 0.000s; voice pad 4.140s.
- Voice/music ffprobe: final-upload-simon-tts-music.mp4: h264 1080x1920 30/1, 20.500s; audio aac 44100Hz 2ch
- Voice/music decode: ok
- Voice/music volume: mean_volume: -16.0 dB, max_volume: -4.3 dB
- Waveform requirement: next render uses the voice-only master as waveform signal, not the music bed.

## Voice Waveform Treatment
- Waveform upload: `final-upload-simon-tts-music-voicewave.mp4`
- Source upload preserved: `final-upload-simon-tts-music.mp4`
- Waveform signal source: `final-upload-simon-tts-voiceonly.mp4`
- ffprobe: final-upload-simon-tts-music-voicewave.mp4: h264 1080x1920 30/1, 20.500s; audio aac 44100Hz 2ch
- Decode: ok
- Audio check: mean_volume: -16.0 dB, max_volume: -4.3 dB
- Contact sheet: `visual-gate/waveform-contact-sheet.jpg`
- Safe-margin sheet: `visual-gate/waveform-safe-margin-midpoint.jpg`
- Placement checked against the top-center mobile safe area; waveform is generated from the voice-only source while the posting master keeps the original final audio mix.

## Audio Mix Fix
- Problem found: the previous music-text mix failed local `whisper-cli` intelligibility; the final mixed MP4 was interpreted as music instead of transcribed speech.
- Active upload replaced with: `final-upload-simon-tts-minimax-mixfix-v3-voicewave.mp4`
- Audio-only mix source: `final-upload-simon-tts-minimax-mixfix-v3-audio.m4a`
- Music bed: reused `content-library/ready-to-post/2026-05-21-iteration-is-not-thrashing-real-i2v-tiktok/music/minimax-kyanite-build-public-bed-20260523-raw.mp3`
- Mix: MiniMax bed at 0.12, highpass/lowpass filtered, hard sidechain ducking under the voice; waveform visual remains voice-only.
- ffprobe: final-upload-simon-tts-minimax-mixfix-v3-voicewave.mp4: H.264 1080x1920 30 fps, 20.480s; AAC 48000Hz stereo.
- Decode: ok.
- Volume check: mean_volume: -17.3 dB, max_volume: -0.5 dB.
- Local intelligibility check: `whisper-cli` large-v3-turbo transcribed the spoken script from the final mixed MP4.
