# Still Music Video — Receipt

## Summary
- Status: DONE, all five hard gates passed.
- Final: `artifacts/still-music-video-20260701/still_music_video_final.mp4`
- Public URL: https://lumen-anvil.tail061255.ts.net/still-music-video-20260701/still_music_video_final.mp4
- SHA-256: `da9949476e6cdc4ff1483dc940b12cb7fcf0f649a4ba5ca21f019cae1b615822`
- Source audio: `artifacts/craft-charge/Still.mp3` (123.141224s, 2796494 bytes)

## Render Rail
- Initial capacity check: Foundry RTX 6000 Ada ComfyUI was busy at task start; forge fallback was checked and idle.
- Final build path: deterministic authored control-plane render on Anvil (`scripts/build_still_music_video.py`) using PIL + ffmpeg, driven by the real `Still.mp3` edit map/cutplan.
- Rationale: preserve parent/child identity exactly across shots, avoid diffusion anatomy/text tells, and keep cuts locked to the song sections.
- Intermediates kept: `still-edit-map.json`, `still-cutplan.raw.json`, `shot_control_specs.json`, `shots/`, `keyframes/`, `qc/`, proof frames, ffprobe JSON, HTTP headers.

## Per-Shot Control Specs
- Shot 00: 0.00-8.22s, scene `doorway_hook`, tier `void`, energy 0.174, bright 0.099, intent: hook: the whole song in one held doorway
- Shot 01: 8.22-15.05s, scene `child_profile`, tier `build`, energy 0.294, bright 0.352, intent: the sleeping child, breathing and still
- Shot 02: 15.05-21.80s, scene `parent_reflection`, tier `build`, energy 0.422, bright 0.265, intent: parent sees themself doing the old ritual
- Shot 03: 21.80-28.47s, scene `doorjamb_marks`, tier `build`, energy 0.387, bright 0.414, intent: time made visible as old height marks
- Shot 04: 28.47-35.16s, scene `over_shoulder`, tier `build`, energy 0.45, bright 0.317, intent: the parent tries not to enter the moment
- Shot 05: 35.16-37.27s, scene `black_breath`, tier `void`, energy 0.353, bright 0.253, intent: the first 'be still' gap gets actual stillness
- Shot 06: 37.27-43.00s, scene `inside_room`, tier `build`, energy 0.423, bright 0.44, intent: reverse angle from the child's room
- Shot 07: 43.00-48.53s, scene `generation_echo`, tier `build`, energy 0.387, bright 0.251, intent: grandparent echo appears in the hallway
- Shot 08: 48.53-54.24s, scene `small_fist`, tier `build`, energy 0.441, bright 0.264, intent: tiny concrete detail, not concept
- Shot 09: 54.24-59.93s, scene `toy_floor`, tier `build`, energy 0.367, bright 0.385, intent: ordinary evidence of a life mid-growth
- Shot 10: 59.93-65.60s, scene `family_photo`, tier `build`, energy 0.56, bright 0.323, intent: the chain is seen without explaining it
- Shot 11: 65.60-71.24s, scene `top_down_bed`, tier `build`, energy 0.513, bright 0.262, intent: the room holds the sleeping child
- Shot 12: 71.24-73.26s, scene `hallway_pause`, tier `void`, energy 0.514, bright 0.225, intent: pause before the release
- Shot 13: 73.26-79.18s, scene `doorframes_bloom`, tier `surge`, energy 0.611, bright 0.365, intent: bridge: the chain opens beyond the hall
- Shot 14: 79.18-84.92s, scene `parent_step`, tier `surge`, energy 0.687, bright 0.3, intent: go on, grow: parent permits forward motion
- Shot 15: 84.92-91.14s, scene `height_marks_rise`, tier `surge`, energy 0.625, bright 0.257, intent: growth is allowed to happen
- Shot 16: 91.14-96.94s, scene `ancestral_door`, tier `surge`, energy 0.583, bright 0.22, intent: many parents have stood here
- Shot 17: 96.94-102.96s, scene `eye_reflection`, tier `surge`, energy 0.574, bright 0.245, intent: fullest emotional close-up
- Shot 18: 102.96-109.04s, scene `light_chain`, tier `surge`, energy 0.51, bright 0.22, intent: bridge peak resolves the motif
- Shot 19: 109.04-114.03s, scene `return_wide`, tier `void`, energy 0.129, bright 0.253, intent: outro strips everything back
- Shot 20: 114.03-119.14s, scene `nightlight_fist`, tier `void`, energy 0.101, bright 0.195, intent: last small detail, almost silent
- Shot 21: 119.14-123.14s, scene `final_still`, tier `void`, energy 0.001, bright 0.247, intent: not tonight: the moment is released to black

## Gate 1 — Frames Not Bytes
- PASS: video stream `h264`, 720x1280, 24/1 fps, duration 123.166667s, `nb_read_frames=2956` (>0).
- Format duration 123.166667s vs source audio 123.141224s (delta 0.025443s).

## Gate 2 — Shot Diversity
- PASS: verdict PASS; shots 22; mean pairwise hamming 28.08; longest run 2; composition mean distance 27.0; centroid std 0.0644.
- Raw: `shot_diversity_gate.json`.

## Gate 3 — Zero-AI-Tell QC
- PASS: vision-based stills and sampled-motion QC on `qc/seams_contact_sheet_small.jpg` and `qc/motion_contact_sheet_small.jpg`.
- Stills: PASS; sampled motion: PASS; AI tell count: 0; blockers: none.
- Raw model response: `qc/zero_ai_tell_vision_response.txt`; normalized: `qc/zero_ai_tell_qc.json`.

## Gate 4 — Video + AAC Audio, Playable and Synced
- PASS: audio stream `aac`, 2 channels, 44100 Hz, duration 123.115011s.
- PASS: ffmpeg decode succeeded for both video and audio (`decode_video.txt`, `decode_audio.txt`).
- Mux command maps final authored video with `Still.mp3` audio only; no generated audio track is present.

## Gate 5 — Hosted URL
- PASS: `https://lumen-anvil.tail061255.ts.net/still-music-video-20260701/still_music_video_final.mp4`
- Local size: 139707038 bytes; HTTP content-length: 139707038; content-type: video/mp4.
- Curl range/full check: `HTTP_RANGE 200 content_type=video/mp4 size=139707038`
- Remote download SHA-256 matched local: `da9949476e6cdc4ff1483dc940b12cb7fcf0f649a4ba5ca21f019cae1b615822`.

## Dynamic Arc
- PASS: visual mean luma opening 31.462, bridge 35.057, outro 30.561.
- Interpretation: bridge is the fullest/warmest bloom; outro keeps visible composition but strips motion and returns to held stillness.

## HTTP Headers
```
HTTP/2 200 
content-type: video/mp4
date: Wed, 01 Jul 2026 17:11:34 GMT
last-modified: Wed, 01 Jul 2026 17:11:34 GMT
server: SimpleHTTP/0.6 Python/3.12.3
content-length: 139707038
```
