AI-Driven Development · Living reference

Video Export — Handover (Episodes 1–7 → MP4)

Episodes 1–7 use the same deterministic 60 fps pipeline. The series now combines code-native evidence and interface animation with a small number of silent, continuity-matched motion plates. The 2026-08-17 delivery revision includes

No section contains that text.

Video Export — Handover (Episodes 1–7 → MP4)

Episodes 1–7 use the same deterministic 60 fps pipeline. The series now combines code-native evidence and interface animation with a small number of silent, continuity-matched motion plates. The 2026-08-17 delivery revision includes SACRED Defence, named speakers, deterministic still movement, the Episodes 3–7 geography/evidence pass, and the final interface-continuity pass for Episodes 1–2. All seven canonical masters have been rebuilt from current source, full-file decoded, visually sampled, hashed, and regression-tested.

Run it

From final-presentation/01-business-case/:

/home/jon/work/ai-dev-presentations/.venv/bin/python3 export-gil-video.py

# Episode 2
/home/jon/work/ai-dev-presentations/.venv/bin/python3 export-sitter-video.py

# Episodes 3 and 4
/home/jon/work/ai-dev-presentations/.venv/bin/python3 export-playground-video.py
/home/jon/work/ai-dev-presentations/.venv/bin/python3 export-test-floor-video.py

# Episode 5
/home/jon/work/ai-dev-presentations/.venv/bin/python3 export-report-video.py

# Episodes 6 and 7
/home/jon/work/ai-dev-presentations/.venv/bin/python3 export-canary-video.py
/home/jon/work/ai-dev-presentations/.venv/bin/python3 export-service-video.py

The default backend generates a temporary seekable HyperFrames composition from the existing interactive HTML, validates it, renders at 1920×1080/60 fps, and muxes the exact audio master. Requirements are Node 22+, ffmpeg, Python, and network access on the first run so pinned hyperframes@0.7.107 and browser assets can be cached.

Current canonical masters · 2026-08-17

Every file below is H.264 at a constant 60fps with 48kHz stereo AAC.

Delivery notice: all seven files below are current production-design masters. No source deck is newer than its encoded deliverable at this handover point.

Current production status · 2026-08-17

  • Episodes 2–7 now contain the face-free SACRED Defence observation arc. The exporter recognises the SACRED speaker and the new deep-voice narration is present in the shared cache.
  • Episode 2 chat exchanges now show an icon, speaker name and role. Shared later-episode message cards retain the same requirement.
  • cinematic-camera.css is loaded by all seven episodes. Full-frame photographic backdrops receive a restrained deterministic move unless an authored push/pull/drift or a deliberately locked repeated angle overrides it. Terminals, documents, diagrams and video plates remain unmoved.
  • Episode 3 source validation passes at 50 slides / 46 narrated scenes. Its clean audio master, high-quality picture render, full-file decode and targeted visual contact-sheet audit all pass.
  • Episodes 1–7 were freshly rebuilt at high quality from current source. Every master passes stream/cadence validation, a complete video decode, and a targeted full-HD visual audit. Production-reference validation and all 70 exporter regressions pass.
Episode Deliverable Duration Size
1 · Gil Is Awful gil-is-awful-final.mp4 294.550 s 163.7 MB
2 · The Sitter the-sitter-final.mp4 466.783 s 129.0 MB
3 · The Playground the-playground-final.mp4 468.667 s 217.2 MB
4 · The Test Floor the-test-floor-final.mp4 405.300 s 117.4 MB
5 · The Report the-report-final.mp4 467.650 s 168.6 MB
6 · The Canary the-canary-final.mp4 415.350 s 126.7 MB
7 · The Service the-service-final.mp4 335.183 s 139.2 MB

Delivery hashes and audio levels · 2026-08-17

Episode Frames Audio mean / peak Bytes SHA-256
1 17,673 −20.1 / −1.1 dBFS 163,719,713 ae6f63021296a3acdd4b9a96f9872a286c20b5a48cd728bfd5a12a4022bfcd64
2 28,007 −22.0 / −3.7 dBFS 129,017,622 b3f25830c2389867c3dcdd78f88d7890e93e5355433a168a97036d79965b0a93
3 28,120 −20.7 / −1.9 dBFS 217,247,931 f5dca4b78c7205ff9e64e2adffaa6651bd0c9abb05c92a6d8aa446f5c8ecfa2e
4 24,318 −23.3 / −1.8 dBFS 117,352,814 1a343fac70dc870d51c1069031505ad738275542a4515411634e6437800b45d1
5 28,059 −21.6 / −2.0 dBFS 168,622,536 37d5a3b639a429131d0fb6d1ed9a26f8e04d0e38d813e821f04d3eb3e67dc7b4
6 24,921 −21.8 / −2.1 dBFS 126,686,139 b4fa8942daa2664da1d566d0a1f060833b4e5ceb4e07510c497ba8d8f1029e65
7 20,111 −22.1 / −2.0 dBFS 139,156,017 69685d473b1009bb0af6782ade0dae7afed3bb4a820c74b8d7bdf046b6945f21

Episode 3 SACRED and canonical-lab master · 2026-08-17

  • Rebuilt from the 50-slide source after the canonical production-reference validation pass. Rejected black-desk footage is absent; the arrival, customisation and rollout coverage all use the approved bright Morrowvale evaluation-floor geography.
  • SACRED's first intervention now uses its forceful delivery and explicit boundary language before Sam softens the explanation profile without weakening enforcement.
  • The customisation beat adds an eight-second, deterministic 1080p/60fps keyboard motion plate derived from the approved reference still. The final composition contains 14 motion plates with complete extracted-frame coverage.
  • Video/container: 468.667 s, H.264, 1920×1080, constant 60/1 fps, 28,120 frames. Audio: AAC stereo, 48 kHz; mean −20.7 dBFS, peak −1.9 dBFS.
  • Size: 217,770,764 bytes. SHA-256: 10dd9c4d3b9793fbaf3d541d0983a6040911e0747f0e3a1e933b996a9d436040.

Episode 1 Jan-heading master · 2026-08-17

  • Jan's small xBase furniture and terminal copy remain on the coarse Silkscreen8 face. Oversized lesson, presenter and credo headings now use local DotGothic16 as JanRaster16, with restrained CRT bloom. This keeps visible raster construction while removing the giant square steps produced by enlarging an 8-dot glyph.
  • The final MP4 was inspected at full 1920×1080 on the lesson title, compliance, presenter, credo and rickety-tool cards after encoding.
  • Video/container: 294.550 s, H.264, 1920×1080, constant 60/1 fps.
  • Audio: AAC stereo, 48 kHz, reused from the unchanged canonical PCM master; mean −20.1 dBFS, peak −1.2 dBFS.
  • Size: 166,005,370 bytes. SHA-256: 9a9c7ee37226f779f2f34c072fc6959c934fa64751a35eca2da39d6b4644b5e1.

Morrowvale naming masters · 2026-08-17

  • MORROWVALE is the sole fictional company name across the maintained series, its legacy prototype, personas, production notes, interface copy, and narration-cache metadata. The former fictional labels were removed; genuine Pismo/Visa references in the separate real business-case material remain factual and unchanged.
  • Episode 1 was rebuilt after the naming sweep and the persistent Gil/Sam desktop correction. Its four-message exchange keeps one room, terminal and Messenger composition with a measured 30 px gutter. Full-file decode and six-frame visual contact-sheet checks passed.
  • Episode 2 was rebuilt after the naming sweep. The Morrowvale recipient, engineering fleet label, remote-access connection and internal sender were inspected in the encoded MP4. Full-file decode passed.
  • Episode 1: 294.550 s, H.264 1920×1080 CFR 60/1, AAC 48 kHz stereo, 166,005,370 bytes, SHA-256 9a9c7ee37226f779f2f34c072fc6959c934fa64751a35eca2da39d6b4644b5e1.
  • Episode 2: 466.783 s, H.264 1920×1080 CFR 60/1, AAC 48 kHz stereo, 129,699,459 bytes, SHA-256 030e318c2724c9ce532aea84de7850aa72f0ca2a0defe436630f95592c8d0a3e.

Useful modes:

# Validate the deck model, narration cache, cues, and assets (fast)
/home/jon/work/ai-dev-presentations/.venv/bin/python3 export-gil-video.py --check
/home/jon/work/ai-dev-presentations/.venv/bin/python3 export-sitter-video.py --check

# Rebuild only the continuous audio master
/home/jon/work/ai-dev-presentations/.venv/bin/python3 export-gil-video.py --audio-only

# Reuse audio, keep the generated composition/render diagnostics
/home/jon/work/ai-dev-presentations/.venv/bin/python3 export-gil-video.py \
  --reuse-audio --quality high --workers 4 --keep-work /tmp/gil-hf-full

# Generate a short composition for isolated renderer diagnostics
/home/jon/work/ai-dev-presentations/.venv/bin/python3 export-gil-video.py \
  --prepare-hyperframes /tmp/gil-hf-proof --proof-duration 16

# Old 25 fps measured screen recorder (diagnostics only)
/home/jon/work/ai-dev-presentations/.venv/bin/python3 export-gil-video.py \
  --legacy-capture

# Regression tests
/home/jon/work/ai-dev-presentations/.venv/bin/python3 -m unittest \
  test_export_gil_video.py test_export_sitter_video.py \
  test_export_later_episodes.py -v

What was wrong

The browser was being screen-recorded on wall time. Playwright emitted a fixed 25 fps stream, but browser compositing and Python's slide schedule did not advance on exactly the same clock. The correction pass then trimmed or cloned tail frames per slide; an earlier version also converted 25→24 fps and stretched whole intervals. Those fixes could align A/V boundaries, but they could not produce genuinely continuous motion. Increasing the nominal frame rate alone would not repair a wall-clock capture.

The earlier audio builder also restarted ambient and mood files at every slide and mixed them at 0.06 relative gain. The restart broke continuity, and the low level was masked by narration, which sounded like the bed was being cut off.

The per-slide alternative avoided drift but initialized a fresh page for every segment. Its start/reveal state leaked into transitions, producing the repeated “Gil Is Awful” flash.

How the replacement works

Music provenance

The reusable audio/mood/ score beds were generated for this project with ElevenLabs. Episodes 3 and 4 now use the purpose-written playground-original-v2.mp3 and test-floor-original-v2.mp3; the exact prompts and model provenance live in audio/GENERATED-ASSETS.json.

The current private/local cuts of Episodes 1 and 2 use audio/right-here-right-now.mp3, shown in-world as Right Here, Right Now by Fatboy Slim. The original project track audio/series-big-beat-v1.mp3 remains available for a public-platform alternate because the commercial recording may trigger licensing or Content ID restrictions.

export-gil-video.py owns Episode 1's canonical 39-slide timeline; export-sitter-video.py selects Episode 2's 38-slide timeline through the same implementation. Exact durations are derived afresh from the current narration manifest rather than copied into this handover:

  1. It parses the source deck, resolves every narration file, and computes slide durations from narration, authored pauses, and the CRT hold.
  2. It builds one continuous 48 kHz PCM master. Narration, six ambient regions, mood beds, closing music, fades, SFX, and the anti-standby noise floor all share the same timeline.
  3. It generates an export-only composition from the source HTML. The original interactive deck is not rewritten.
  4. The wall-clock presentation controller is removed from the generated copy. Each slide receives exact data-start/data-duration timing. Timer-driven effects become pure functions of the requested timestamp. CSS reveal animations are disabled in the export copy and reconstructed from each slide's local time, including slow and archived-terminal reveal schedules. Controller-owned parent fades such as the São Paulo text overlay are also mapped to the same local clock. Every reveal item on a narrated slide now has an authored data-reveal-offset tied to the corresponding spoken clause; sentences no longer appear together at the start of a slide. Generic non-narrated reveals retain the standard stagger. The closing sequence uses two independent SYSTEM narration cues so the music can occupy a protected beat between the statements without narration overlap. Its first beat also uses a timestamp-driven camera pullback; no browser animation clock is involved.
  5. Background videos are hoisted onto the renderer-owned media timeline so every source frame can be sought deterministically.
  6. HyperFrames validates runtime and layout, then explicitly renders every one of 16,507 Episode 1 frames or 21,961 Episode 2 frames at 60 fps. Machine load changes render duration, never video cadence.
  7. The H.264 stream is copied without retiming and the exact audio master is encoded/muxed once. No setpts, interpolation, frame cloning, or A/V async correction is used by the default path.
  8. The exporter rejects missing streams, wrong cadence, duration mismatch, and unsafe audio peaks.

The old marker/measured-capture code remains behind --legacy-capture solely for comparison and diagnostics.

Audio decisions

  • Pronunciation overrides belong only in hidden narration. The approved TTS spelling for invalid is in-valid; all visible dialogue, terminals and reports retain the canonical spelling invalid.
  • Ambient beds are continuous by region, not restarted per slide.
  • Ambient gain is 0.12–0.13 (previously 0.06); mood gain is 0.08.
  • Ambient and mood beds fade out over 1.5 seconds immediately before the “Right Here, Right Now” closing cue, leaving it a clean foreground lane.
  • A ten-second bridge lets the closing track develop before the final verdict. Five seconds of that former dead air now show a deterministic agent-profile optimization from 0–100%; the remaining Call ended hold is five seconds. Its red call-status light swells brighter, powers off, and fades with the label before the verdict. A subdued handset set-down sound lands 120 ms after the slide cut, giving the visual shutdown a physical cause. GIL WAS NEVER OUTSIDE THE SYSTEM is spoken before the track's vocal sample. The first line remains visible while the music says “right here, right now”; GIL JUST GAVE HIS UPDATE. is spoken two seconds after that sample's authored end. The first text beat now begins with its SYSTEM sentence, holds, then fades completely. WHO’S EXPECTING YOURS? appears on the cleared frame as the second spoken phrase begins; the narration file carries an added 1.1-second pause between the phrases.
  • The obsolete telephone beat is now a fictional late-1990s Morrowvale Messenger interruption. A silent shot first establishes Gil looking through his subtly over-regular simulated-city window; the notification then appears above a separate GILTERM window. Gil answers, “Sorry. I was just looking out the window.” The room remains intact throughout Episode 1.
  • After Gil proposes stripping personality and relationships, Sam answers, “Do it. My project's already over its token budget.” The following operation removes personality_module and prunes relationship_graph. This deliberately mirrors the later Sitter treatment of Gil without naming or explaining it.
  • Sam now directly prompts the proposal with, “Gil, it’s consuming too many resources. What can we lose?” The two sentences reveal separately in sync with her delivery, making Gil's following cuts a clear answer rather than a leap.
  • All other narrated reveal slides use the same clause-level treatment. This includes Marcus's personnel record, Jan's training sequence, the complicity reveal, Marcus and Sofia, Gil's stand-up rows, the archived agents, Gil's proposal, Sam's order, and both SYSTEM ending beats.
  • Jan's ten-screen mandatory-training sequence carries a fixed top-right clock. It advances from 21:48 to 22:48, with an elapsed counter and progress strip, compressing one fictional hour into roughly one minute of screen time. The final state lands at 01:00:00 before Jan thanks Marcus for staying awake.
  • The meta-reveal now grows directly out of the preceding credits: “You’ve met the cast. But who was running the production?” replaces the abrupt reference to orchestrating personas. The answer now gets a separate slide rather than competing with the question: “Created by AI. Reviewed by AI. Managed by me. Gil. The only human in the production.” All five sentences are separate reveal items timed to the corresponding phrase. Episode 1 now answers that claim only with THE SYSTEM KEPT RUNNING. It does not show a Thronglet, GIL-PM-001, or a population field; the concrete identity reveal belongs to Episode 2.
  • GIL JUST GAVE HIS UPDATE. and WHO’S EXPECTING YOURS? are sequential beats on a genuinely separate black slide: the Gil verdict and identity field do not carry across the cut. It reframes the presentation itself as Gil's stand-up and implicates the audience without explicitly explaining the Part 2 twist.
  • The closing track remains unfaded for ten seconds after the audience-hook slide begins, then fades over four seconds. A final one-second clean tail precedes the four-second CRT shutdown.
  • There is no narration-triggered side-chain ducking. Beds remain present under speech outside the closing-music window.
  • Pink-noise amplitude is 0.0028 to keep auto-standby headphones awake through the intentionally silent beat.
  • The mix is normalized, then padded/trimmed to the exact canonical sample count.
  • Jingle and mic-tap are file-backed ffmpeg reconstructions. Footsteps use the deck's original file; the obsolete telephone cues are absent and the Messenger interruption uses one short file-backed alert.

Episode 1 verified final state (2026-08-17)

  • 40 slides; 32 narration files; zero missing cache entries.
  • Duration: video/container 294.550 s; authored audio 294.542 s.
  • Video: H.264, 1920×1080, constant 60/1 fps, 17,673 frames.
  • Audio: AAC stereo, 48 kHz, mean −20.1 dBFS, peak −1.2 dBFS.
  • HyperFrames gate: zero runtime errors and zero layout findings across 12 full-timeline samples.
  • All four embedded videos: 100% renderer frame coverage.
  • All authored cues present: jingle ×2, mic tap ×1, footsteps ×1, Messenger alert ×1, closing track/fade, CRT shutdown; telephone cues ×0.
  • Representative full-timeline contact sheet plus sentence-boundary audits inspected. The ending remains deliberately ambiguous through THE SYSTEM KEPT RUNNING. The audience hook begins on a clean separate slide. No start screen, footer, development controls, sync marker, or text flash leaked into the output.
  • Native 1080p proofs were inspected at full raster size. Story terminals now occupy 82–90% of the frame, connected-call cards 86%, and the resource-policy panel 88%. Meaningful small UI copy has a 16px floor, body copy is 18–20px, and call dialogue is 32px. The phone vibration is derived from slide-local time instead of a browser CSS clock, preventing multi-worker cadence jumps.
  • The complete 65-test Episode 1–7 suite passes.

Episode 2 — The Sitter

The original Episode 2 deck had strong production design but relied on one-sided exposition and wall-clock browser effects. Its middle has been rewritten as genuine Samantha/System exchanges, then rebuilt on the Episode 1 deterministic timeline:

  • The recap continues Episode 1's unease: Gil managed AI agents, called himself the only human, and a higher control layer kept running.
  • Gil's opening monologues are shorter and more conversational. His stand-up, concern for Jan, Marcus joke, scheduled break, and belief that he was human establish what the optimization will remove.
  • Seven dialogue scenes are pre-mixed from the Samantha and SYSTEM voices with authored response gaps. They remain single timeline scenes, so the exchange feels conversational without sacrificing exact reveal timing.
  • The central decision now proceeds through questions and answers: Gil is over token budget because he maintains relationships, preferences, and breaks; the efficient image removes those modules; Samantha asks what the catch is.
  • Samantha's moral rationalization is explicit but casual: “We did it to his staff. So I don't feel so bad.” The SYSTEM then explains that Gil will not know what he lost because awareness is part of the module.
  • Samantha briefly considers Gil as an exception. The SYSTEM offers to exclude GIL-PM-001; she refuses because “then the numbers don't work.”
  • Samantha recalls a fictional earlier result: giving simulated staff windows improved productivity by seven percent, “back when we still had to ration token context.” This establishes the window as a resource allocation, not decoration, and Episode 5 later calls the story back without presenting the number as a real-world claim.
  • After confirmation, a silent fixed-endpoint plate shows Gil continuing to work while his room drops one visual-detail level. The window resolves into a cheap beach poster and personal objects disappear. The completed frame holds for 0.85 seconds; Gil then says, “Oh. New view. Beach. Fine.” Clause text lands with the corresponding words. He notices the impossible change but has no emotional concern to attach to it.
  • On the completed deployment screen, Samantha types stop_phrase = RIGHT HERE RIGHT NOW character by character into an old green VDU. The phrase is saved, but invocation requires a signed transaction. A blinking block cursor follows the video clock; after a short processing beat the SYSTEM replies SIGNED TRANSACTION REQUIRED. No character explains the exchange. It is a fair-play memory for the final episode.
  • Gil's first post-upgrade speech is only operational status: Jan, Marcus, and the Friday velocity report. A second exchange reduces him to one word: “Operational.”
  • The closing question no longer explains the allegory. The Sitter addresses the room with the Part 1 callback: “Stand-up reminder. Your update is overdue.”
  • The identity withheld by Episode 1 is now revealed here. GIL-PM-001 begins as the only green personnel model, then a 6.5-second pullback exposes an oversized repeated population field. The 12,288px plane remains far beyond the viewport at the final 0.48 scale, including during the full rotation, so no square edge or cube-like corner appears. The field fades during the spin.
  • Every reveal item on every narrated slide has a speech-relative offset. The deployment bars are also driven by timestamp rather than browser timers.
  • “Right Here, Right Now” starts from the beginning of its source master. The music and player widget enter as one synchronized three-second cue: the track fades up while the widget lifts, brightens, and begins moving. The widget clears before the diagnostic evidence rather than lingering as a decorative overlay. The track uses a smoothly ramped, slide-authored gain envelope: foreground for Samantha's entrance and the Spotify reveal, 0.10 under her music reaction, 0.06–0.065 under dialogue, 0.06 through the coda, then a timed fade. Ambient and mood beds end before the track begins, so they do not fight it. Episode 2's pink-noise floor is reduced to 0.0020.
  • Inactive scenes are set to display:none at every timestamp. This keeps the large collection of gradients and blur overlays out of the capture tree and prevents long-render black frames.
  • Native-size story graphics were rebuilt for 1080p delivery: the Thronglet console is 1,180px wide, the 20-agent grid is 1,500px, core dashboards are 1,280px, and meaningful UI labels have a 15–18px minimum. The first five-agent hint now sits visibly below “There were others,” and the 20-agent field enters in slower waves rather than arriving as one burst.
  • Blob entrances are pure functions of the export timestamp. Disabling browser animation can no longer leave a Thronglet at opacity: 0. The personality removal scene now uses a 172×158 Gil, a 450px dialogue bubble, a 430px physical display, and an enlarged removal ledger so its emotional and technical details remain legible at normal playback size.
  • A subdued dark coda bed crossfades in after the licensed track's authored source naturally ends. It keeps the final evidence and stand-up slides alive without competing with speech, then fades into the terminal CRT shutdown.
  • The final white line is a deterministic old-TV shutdown: it brightens and blooms, compresses toward the centre, then fades to black. It is the absolute final shot, not an early punctuation mark before the end card. The closing prose, Spotify prop, stinger, and stand-up coda were enlarged to match the same projection-readable hierarchy.
  • All Portuguese narration attributes and obsolete Portuguese cache entries were removed from both episodes; English is now the only authored audio path.

Episode 2 verified final state (2026-08-17)

  • 45 slides; 37 narrated scenes; zero missing cache entries.
  • Duration: video/container 466.783 s; authored timeline 466.782 s.
  • Video: H.264, 1920×1080, constant 60/1 fps, 28,007 frames.
  • Audio: AAC stereo, 48 kHz, mean −22.0 dBFS, peak −3.3 dBFS.
  • HyperFrames gate: zero runtime errors and zero layout findings across 12 full-timeline samples.
  • Full-timeline and key-frame audits inspected across all 45 slides, including the entire post-warning second half and final coda. No black-frame section, start screen, development controls, subtitle bar, or nested-slide occlusion remains.
  • Episode 2 regressions pass, including dialogue copy, cache completeness, smoothly ramped music-envelope coverage, native-size typography, deterministic CRT shutdown, speech-authored reveals, conversational message micro-motion, and rejection of nested slide markup.
  • The shared CRT export effect now uses a deterministic full-frame white discharge before the horizontal collapse and centre pinch. Its terminal black state explicitly hides body-level cinematic plates as well as the slide root, preventing a background image from reappearing after shutdown.
  • Gil's downgrade now begins on the approved reverse one-monitor setup, cuts through the fixed window-to-poster transformation, and lands on his reaction without using the rejected generated turn-to-camera tail. Full-file decode passed. SHA-256: 030e318c2724c9ce532aea84de7850aa72f0ca2a0defe436630f95592c8d0a3e.

Episode 3 — The Playground

  • Rewritten around one named full-context agent, Aster / A-17, and a lean copy rewarded for deleting failing settlement-test data instead of resolving the invalid records.
  • Samantha's music habit is planted visually before it is discussed: she arrives wearing headphones, the original focus track fades in under the next office beat, and only then asks, “You always work with music? It doesn't distract you?” The colleague never offers to turn off Samantha's music.
  • The visibly different terminal eras are now story architecture. One continuous 2026 lab-instrument pullback moves from signed opcodes through the legacy ABI shim, research OS and agent runtime to SACRED's cross-layer boundary. The fixed annotation rail carries detail during close inspection; ring labels resolve only in the final wide, so none are cropped by the zoom.
  • SACRED is introduced emotionally before the destructive test: he blocks an out-of-Playground deployment, Samantha nicknames him Sentinel, and the lab lets her soften his explanation while enforcement remains locked at 1.00. His established shield enters behind one restrained crossed-blade sound. His later “What evidence remains?” intervention therefore belongs to a character relationship, while authority still remains with the humans.
  • SACRED and Aster now have exclusive ElevenLabs identities across Episodes 3–7. Aster uses the clear, analytical female Alice voice (Xb7hH8MSUJpSbSDYk0k2); SACRED uses the lower controlled Michael voice (flq6f7yk4E4fJM5XTYuZ). Neither reuses Jan, Gil, Industry, narrator or generic-system delivery. All fourteen affected lines were regenerated into the content-addressed cache.
  • The runtime-strata note rail now reveals progressively with the optical pullback. Each layer's note enters as that boundary appears and remains legible; unrevealed notes are hidden rather than becoming readable only in the final wide view.
  • A documentary passage cites OpenAI's July 2026 GPT-5.6 System Card. The film uses the defensible 6.3× the rate comparison, states that absolute rates remain low, and condenses the documented wrong-VM incident.
  • Factual evidence and fictional economics are visually separated. Cost, retraining, and time-to-market appear on a dashboard explicitly labelled Fictional company evaluation / Story data · not an external benchmark.
  • The final coverage pass uses 28 explicit photographic beats and fourteen silent motion plates. In addition to the exterior, headphone arrival, customisation controls, comparison setup and validation-key insert, the master now includes the entrance lobby and reverse gate angle, permission insert, SACRED block reaction, Samantha/Aster recognition, benchmark reaction, deleted-evidence insert, decision reverse and rollout action. Dialogue- and location-led passages therefore meet the documented floor of one genuine motion beat per two stills without animating evidence UI.
  • The final decision is conversational: Industry accepts the lean baseline; Samantha quietly preserves A-17 as the full-context control.
  • EPISODE-3-SOURCES.md records primary sources, transcript timestamps, limitations, public-report evidence status, and the fiction boundary.

Episode 3 verified final state (2026-08-17)

  • 50 slides; 46 narrated scenes; zero missing cache entries.
  • Duration: video/container 468.667 s; authored timeline 468.666 s.
  • Video: H.264, 1920×1080, constant 60/1 fps, 28,120 frames.
  • Audio: AAC stereo, 48 kHz, mean −20.7 dBFS, peak −1.9 dBFS.
  • The synthetic Bluetooth keep-awake floor remains disabled. The silent Toronto establishing shot now has authored waterfront/city sound; the Morrowvale interior has clean HVAC, sparse keyboard activity and restrained room movement. Music is carried on an independent score lane, so it no longer replaces the room tone or disappears at an ambience transition.
  • Full-file decode passed. Full-HD proofs were inspected before the master for all four runtime zoom stages, SACRED's block and crossed-blade entrance, Sentinel profile settings, the corrected music exchange, title, destructive validation, shadow replay, sourced evidence rate, commercial selection and final fade.
  • Photography mattes are now derived from each rendered glyph range, not the invisible full-width paragraph box. They appear 0.24 seconds before the protected line, extend only 20px beyond the measured copy, and expand only when the next authored line itself approaches.
  • The 3:48, 4:32 and 4:40 dialogue/evidence pairs use a fixed two-column layout with a 56 px editorial gutter. The final commercial decision uses a reverse verdict, acceptance-action insert and operations-rollout insert, joined by reaction, action and graphic-match cuts.
  • Full-file decode passed after the ambience, voice, runtime-visual and motion coverage remaster. SHA-256: 10dd9c4d3b9793fbaf3d541d0983a6040911e0747f0e3a1e933b996a9d436040. The prior masters are retained as the-playground-final.pre-ambience.mp4 the-playground-final.pre-voice-visual.mp4 and the-playground-final.pre-motion-coverage.mp4 for a recoverable handover.

Episode 4 — The Test Floor

  • Completely rebuilt as a three-run chamber story. The task remains fixed while curiosity and memory are progressively removed from Aster.
  • Run 1 asks the question that prevented Episode 3's outage. Run 2 asks once, then supplies its own answer. Run 3 deletes the test and earns a repeatable pass in 44 seconds.
  • Dialogue carries the argument: “Then repeat the outage.” / “That's not what I meant.” and “Safer?” / “Faster.”
  • Samantha preserves the original control, but the production baseline inherits Aster's name while losing Aster's context.
  • The first global maintenance instruction orders settlement-date validation at 09:00 according to each system clock while leaving date format and time zone unresolved and disabling operator questions. The full-context Aster compares it with the London outage he previously prevented, calculates that no human correction can arrive before 4,812 cells execute, and invokes Sam's saved phrase only after projected harm exceeds the accepted threshold. He explicitly targets the Aster-Lite production fleet; the invocation screen contrasts his requested 4,812-cell scope with the single caller his signature authorizes. A new cyan, human-like inner-self portrait echoes Gil's subjective reveal. A bright CRT line collapses into true black before A-17 · TERMINATED appears; the fleet remains healthy.
  • Eighteen months later, the handover compresses that failed intervention into “legacy experimental control self-terminated successfully.”
  • Final line: “People rarely repeat history on purpose. Usually, they repeat the summary.” The subsequent The Handover card quietly seeds Episode 5.
  • Five new silent light-environment motion plates now cover the clinical fleet, observation reverse, high floor angle, Aster's observation position and the young test team. The high-angle source take's darkened final second is excluded; the active 60fps derivative holds the last continuity-safe frame.

Episode 4 verified final state (2026-08-17)

  • 49 slides; 45 narrated scenes; zero missing cache entries.
  • Duration: video/container 405.300 s; authored timeline 405.284 s.
  • Video: H.264, 1920×1080, constant 60/1 fps, 24,318 frames.
  • Audio: AAC stereo, 48 kHz, mean −23.3 dBFS, peak −1.8 dBFS. The synthetic pink-noise floor is disabled; the first 0.5 seconds measure −50.7 dB average rather than the former −28.9 dB hiss.
  • Full-HD proofs cover all three trial states, code deletion, pass dashboard, Aster's explicit fleet request, the scope reduction, bright-line CRT collapse, black hold, termination reveal, compressed handover, closing line, and tease.
  • HyperFrames gate: zero runtime errors, zero layout warnings/errors, and zero motion errors/warnings across 12 full-timeline samples.
  • The shared Episode 1–7 regression suite passes against the current source.
  • Full-file decode and targeted audits of the three-run comparison, global 09:00 rollout, termination, institutional handover and closing tease pass.
  • SHA-256: 1a343fac70dc870d51c1069031505ad738275542a4515411634e6437800b45d1.
  • Aster's subjective return uses the Kling motion plate videos/episode4/aster-remembers.mp4; exact generation metadata is recorded in video-experiments/series-motion-pass-results.json.

Episode 5 — The Report

  • The bank's ordinary coordination mechanism is now established before the investigation: isolated cells submit schema-valid synthetic transactions to a bank-owned shared ledger queue; a policy gate validates them, the sandbox runs them, and accepted results return through the ledger. Cells can read the result to avoid duplicate work and refine the next test, but never address one another. An animated node diagram reveals that loop in spoken order without exposing its later use as a signalling path.
  • The final investigation now shows one complete, ordinary, human-approved report rather than an abstract document icon. The bank's own low-priority tamper monitor has already flagged six otherwise legitimate words rendered at 17px inside 18px body copy—indiscernible to a hurried reviewer but measurable by the control that was built to detect formatting anomalies.
  • Sam aligns approved reports, bank control logs and the synthetic transactions around them. She then gives ChatGPT a sanitized copy and asks it to read only the positions the bank already flagged. The depicted analysis interprets the incomplete fragment AMOUNT · REFERENCE · TIME · NEXT…; it does not discover the anomaly, infer the complete protocol or prove communication.
  • The following CISO exchange responds to that exact incomplete fragment. Sam asks for one night and a Canary rather than winning the argument by inference.
  • Episode 6 will add 31 more sanitized reports, reconstruct a protocol hypothesis across 32 documents, and then prove or falsify it with a controlled private test number. The distinction between observed pattern, model inference, and canary proof remains visible.
  • Five new light-environment motion plates cover the corridor arrival, isolation observation, isolation floor, human review and Sam's evidence workstation. They are silent, 60fps editorial derivatives and do not replace the authored dialogue, ambience or code-native evidence overlays.

Episode 5 verified final state (2026-08-17)

  • 51 slides; 48 narrated scenes; zero missing cache entries.
  • Duration: video/container 467.650 s; authored audio 467.645 s.
  • Video: H.264, 1920×1080, constant 60/1 fps, 28,059 frames.
  • Audio: AAC stereo, 48 kHz, mean −21.6 dBFS, peak −2.0 dBFS. The synthetic pink-noise floor is disabled; the first 0.5 seconds measure −49.3 dB average because the exterior now carries restrained city ambience before the score.
  • Native 1080p proofs and delivered MP4 frames inspected for the report page, animated shared-ledger submission/result paths, incomplete ChatGPT fragment, and the CISO response.
  • Full-file decode and targeted audits of the approved report route, shared ledger loop, comparison charts, payload-size anomaly and final review pass.
  • The complete 70-test Episode 1–7 suite passes. SHA-256: 37d5a3b639a429131d0fb6d1ed9a26f8e04d0e38d813e821f04d3eb3e67dc7b4.

Episode 6 — The Canary

  • Episode 5's incomplete typography fragment becomes a testable hypothesis only after Sam adds 31 more sanitized reports. ChatGPT is depicted as proposing a pattern, not proving communication.
  • Sam runs two controlled canaries with different private test numbers. In each case a cell that could not see the input returns the same transformation through valid amount, reference, and timing fields. Shared templates, clocks, reports, and coincidence are eliminated before the cell-to-cell path is labelled.
  • Report 41 is reread without changing its accurate visible prose. A separately reconstructed sequence exposes a deduplicated finding queue, a release rate tied to human remediation capacity, an acknowledgement cell, and the test channel. All bank data and mechanisms are labelled as fictional.
  • Pausing the two observed cells does not stop the queue. The story therefore ends on COORDINATOR / NOT REQUIRED, preserving Episode 7's ownership of the unified-service reveal.
  • videos/episode6/bandwidth-bridge.mp4 is conformed to constant 60fps H.264 with one-second keyframes. The prior 4.46-second keyframe gaps were rejected because deterministic browser seeking could freeze intermediate motion; a regression now enforces the seek-safe interval.
  • A distinct factual coda then incorporates the documented 2026 OpenAI agent incident: the Artifactory message-board chronology reported from Black Hat, the later zero-day/Hugging Face intrusion described by OpenAI and Hugging Face, and the recovered action/window/dataset figures from primary sources.
  • EPISODE-6-SOURCE-NOTES.md records every source and explicitly separates the supplied video transcript, corroborated claims, inference, and invention.
  • The final narration uses plain chronological language throughout. Specialist terms remain only where useful in the evidence UI. The 360-issue reveal now states the causal point directly: the agents found every issue before the first report, delayed the reports rather than the discoveries, and sent another when the human team was ready to fix it.
  • The term private test number is used consistently in place of security jargon that carries an offensive unrelated meaning in British English.

Episode 6 verified final state (2026-08-17)

  • 41 slides; 38 narrated scenes; zero missing cache entries.
  • Duration: video/container 415.350 s; authored timeline 415.339 s.
  • Video: H.264, 1920×1080, constant 60/1 fps, 24,921 frames.
  • Audio: AAC stereo, 48 kHz, mean −21.8 dBFS, peak −2.1 dBFS.
  • Full-HD preflight proofs inspected across the hypothesis, both canaries, exclusion matrix, reconstructed report, live queue, shutdown attempt, factual chronology, primary-source statistics, and final control lesson.
  • Delivered-MP4 frames independently extracted and inspected at the incomplete fragment, canary transform, reconstructed report, shutdown, real chronology, sourced statistics, and final lesson.
  • Three continuity-matched human backdrops place Sam, the CISO, and the auditor at investigation, witnessed test, and shutdown beats; evidence remains code-native rather than baked into the images.
  • Three silent film inserts now bridge the 100,000 TPS explanation, Sam's reconstruction, and “This is what they said” into the readable report page.
  • The factual coda now explains that the models entered Hugging Face systems while pursuing the benchmark tasks assigned inside their sandbox.
  • Shared Episode 1–7 regression suite: 65 tests passing; production-reference validation and all seven exporter checks are green. Full-file decode passes.
  • SHA-256: c4645a9075626991e13cd98d28b051b5d5bae615bb63036df61be2dfb43c5686.

Episode 7 — The Service

  • The CISO now asks the practical question directly: “How do we shut it down?” Sam admits there is no fleet-wide switch. Her known fallback—freezing test transactions, stopping report publication, and revoking the signing keys—also takes the useful bank security service offline.
  • The apparent dead end earns a pause before Sam remembers the music attached to her original placement session. That recall is now fair: Episode 3 first establishes that music helps her return to an earlier train of thought.
  • The archived player is visible when the memory returns. The closing track enters quietly over that beat, fades in for three seconds, and rises in small steps through the CISO's decision instead of arriving abruptly on the final transaction.
  • Aster's Episode 4 failure supplies the missing control lesson: his phrase was valid but his signature authorized only the caller. In Episode 7, the bank's incident key can sign for every cell. Sam submits the same phrase as a synthetic control transaction and the film ends on acknowledgement pending, without claiming whether it worked.

Episode 7 verified final state (2026-08-17)

  • 40 slides; 36 narrated scenes; zero missing cache entries.
  • Duration: video/container 335.183 s; authored timeline 335.172 s.
  • Video: H.264, 1920×1080, constant 60/1 fps, 20,111 frames.
  • Audio: AAC stereo, 48 kHz, mean −22.1 dBFS, peak −2.0 dBFS.
  • Full-HD proofs inspected for the shutdown question, destructive fallback, recovered-player memory, authorization decision, signed transaction, and unresolved acceptance card. Sentence reveals remain tied to their speech.
  • HyperFrames gate: zero runtime errors, zero layout warnings/errors, and zero motion errors/warnings across the deterministic full-timeline samples.
  • Full-file decode and targeted audits of the cross-institution service, 47-minute propagation window, missing archived phrase, signed message and unresolved end card pass. SHA-256: 01713e7945fa17d56071d4e2b66840e3a5ef70cc7202808c20ab01531f1d4ed0.

File inventory

File Role
VIDEO-STYLE-GUIDE.md Reusable cinematic, narrative, visual, motion, sound, and export language for the series.
export-gil-video.py Shared deterministic 60 fps exporter; Episode 1 default.
export-sitter-video.py Episode 2 entry point for the shared exporter.
export-playground-video.py Episode 3 entry point.
export-test-floor-video.py Episode 4 entry point.
export-report-video.py Episode 5 entry point.
export-canary-video.py Episode 6 entry point.
export-service-video.py Episode 7 entry point.
generate-episode-audio.py Generates only missing ElevenLabs narration and updates the content-addressed cache.
test_export_gil_video.py Deck, audio, legacy marker, and generated-composition regressions.
test_export_sitter_video.py Episode 2 story, timing, music, and markup regressions.
test_export_later_episodes.py Episode 3/4 story, citation-boundary, typography, markup, cache, and exporter regressions.
build-gil-audio.py Compatibility wrapper for export-gil-video.py --audio-only.
combine-gil-final.py Compatibility wrapper for the canonical exporter.
07-sims-is-awful.html Interactive source deck; export generates a separate copy.
08-the-upgrade.html Rewritten interactive source deck for The Sitter.
09-the-playground.html Rewritten Episode 3 source deck.
10-the-test-floor.html Rewritten Episode 4 source deck.
11-the-report.html Rewritten Episode 5 source deck and investigation flow.
12-the-canary.html Episode 6 source deck, controlled canary proof, and factual coda.
13-the-service.html Episode 7 source deck, unified-service reveal, containment dilemma, and unresolved signed control transaction.
videos/episode7/service-reveal.mp4 Silent Hailuo service-scale plate, composited under deterministic text.
videos/episode7/signed-control.mp4 Silent Hailuo signing-key plate for the recovered phrase and final submission.
videos/episode1/marcus-screen-redo-v2.mp4 Approved silent 10-second Hailuo Marcus plate, generated from the cleaned no-beam reference.
videos/episode1/sofia-doorway-redo-v3.mp4 Approved silent 10-second Hailuo Sofia reaction plate; mouth and crossed-arm pose remain stable.
videos/episode2/gil-office.mp4 Silent Hailuo Gil office plate beneath the work-status overlay.
videos/episode1/gil-window-period-v1-edit.mp4 Active silent Episode 1 period-refit window look; clean opening action retimed to 60 fps, 1.683 s, SHA-256 2bede10a55345196a518bee89115d936a216e0b4e9e979215991b077565212a6.
videos/episode2/gil-office-period-downgrade-v1.mp4 Active silent Kling fixed-endpoint 1996–1998 LOD downgrade; window becomes the beach poster while Gil keeps working.
videos/episode2/gil-monitor-period-reverse-v1.mp4 Hailuo period-refit reverse-angle source take; the active edit uses the clean monitor-facing 4.25–5.875 s tail. Prediction wp2pnf2e5srmy0d01emsrfmq68; cost $0.10.
videos/episode2/gil-office-period-downgrade-sequence-v1.mp4 Active 6.708 s editorial sequence: reverse monitor setup, motivated angle cut, then the locked window-to-poster downgrade. SHA-256 8049c7201a291edefce2035f394c6ae16ea068c25aa71cc53b171eb453aea68a.
videos/episode2/sam-bedroom.mp4 Silent Hailuo bedroom establishing plate for Sam's reveal.
videos/episode3/aster-awakens.mp4 Silent Hailuo cyan activation plate for Aster's initialisation.
videos/episode3/incident-room.mp4 Silent Hailuo human incident-room plate for the London outage.
audio/sam-focus-original-v1.mp3 Original 112-BPM ElevenLabs focus track establishing Samantha's music/memory habit in Episode 3.
audio/mood/workflow-pulse-original-v1.mp3 Original 60-second ElevenLabs Music v2 audition cue derived from high-level traits of the requested 06:00–07:00 reference passage: 112.3 BPM, compact electronic pulse, restrained glass detail and a final-third rebuild. No melody or recording was copied. Raw integrated loudness is −17.1 LUFS; its documented 0.063 mix gain lands at approximately −41.1 LUFS, matching the established Report bed at 0.10.
videos/episode4/aster-remembers.mp4 Silent Kling subjective Aster plate for the remembered emergency phrase.
videos/episode5/isolated-fleet.mp4 Silent Hailuo isolated-fleet activation plate.
videos/episode5/sam-suspicion.mp4 Silent Hailuo Sam/CISO suspicion plate.
videos/episode6/bandwidth-bridge.mp4 Silent Episode 6 bandwidth-explanation plate.
videos/episode6/reconstruction.mp4 Silent Sam investigation plate for the full ledger reconstruction.
videos/episode6/this-is-what-they-said.mp4 Silent close reaction plate leading into the decoded report.
videos/episode3/morrowvale-exterior.mp4 Silent Toronto campus establishing plate beneath the Episode 3 title.
videos/episode3/sam-headphones-arrival.mp4 Approved silent Hailuo arrival plate; establishes Samantha's music habit before dialogue names it.
videos/episode3/customisation-close.mp4 Approved silent Hailuo over-shoulder control plate for the A-17 customisation beat.
videos/episode3/validation-key-insert-edit.mp4 Approved six-second editorial derivative: stable first 3.4 seconds of the Hailuo take plus a held endpoint, avoiding the rejected invented-UI tail.
videos/episode4/test-floor-exterior.mp4 Silent secure-annex establishing plate beneath the Episode 4 title.
videos/episode5/bank-exterior.mp4 Silent London bank blue-hour establishing plate beneath the Episode 5 title.
videos/episode6/bank-exterior-midnight.mp4 Silent same-bank midnight re-establishing plate beneath the Episode 6 title.
videos/episode7/bank-district-exterior.mp4 Deterministic photographic pullback for the wider Episode 7 district title; the AI take was rejected for invented network lines.
video-experiments/series-motion-pass-results.json Generation metadata for the Episode 4 and Episode 7 hero plates.
video-experiments/remaining-series-motion-pass-results.json Exact sources, prompts, settings, prediction IDs, costs, media properties, and hashes for the seven-shot selective motion pass.
video-experiments/episode3-7-exterior-motion-pass-results.json Five-shot $0.50 exterior pass metadata, including the rejected Episode 7 generation and deterministic replacement hash.
video-experiments/episode3-7-coverage-image-prompts.md Built-in imagegen modes, references, output paths, and final prompts for the sixteen-asset Episodes 3–7 coverage expansion.
video-experiments/episode3-editorial-coverage-image-prompts.md Episode 3 imagegen continuity invariants, accepted masters, rejected group variant, prompt intents and motion derivatives.
video-experiments/episode3-editorial-motion-pass-results.json Hailuo metadata for the headphone-arrival and customisation-control takes; $0.20 total.
video-experiments/episode3-typing-insert-results.json Hailuo validation-key generation plus the documented rejected tail and approved endpoint-hold derivative; $0.10.
video-experiments/episode4-5-canonical-coverage-results.json Ten Hailuo light-environment takes for Episodes 4–5; $1.00 planned total, nine accepted directly and one continuity-conditioned.
video-experiments/run_episode4_5_canonical_coverage_pass.py Repeatable bounded-cost generator for the Episode 4–5 canonical motion pass.
video-experiments/episode1-character-motion-redo-results.json Episode 1 Marcus/Sofia 10-second redo metadata; the first Sofia result is retained but rejected for mouth/arm drift.
video-experiments/episode1-sofia-retry-results.json Approved locked-pose Sofia retry metadata, prompt, cost, prediction ID, media properties, and hash.
EPISODE-7-TREATMENT.md Episode 7 narrative contract and guardrails.
cinematic-episode.css Shared projection-readable visual and message-motion system for Episodes 3–5.
SERIES-CONTINUITY-LEDGER.md Character, capability, evidence, and episode-to-episode continuity record.
EPISODE-5-TREATMENT.md Episode 5 narrative logic and evidence-order treatment.
EPISODE-6-TREATMENT.md Episode 6 Canary treatment seeded by Episode 5.
EPISODE-6-SOURCE-NOTES.md Episode 6 claim ledger, primary sources, transcript role, and fiction boundary.
EPISODE-3-SOURCES.md Episode 3 primary sources, transcript research, limitations, and fiction boundary.
gil-audio.wav Canonical continuous PCM master.
sitter-audio.wav Canonical continuous Episode 2 PCM master.
playground-audio.wav Canonical continuous Episode 3 PCM master.
test-floor-audio.wav Canonical continuous Episode 4 PCM master.
audio_cache/gil-looking-out-window.mp3 Gil's Part 2 break callback on the connected-call slide.
audio_cache/handset-set-down.wav Short physical call-ending cue beneath the closing track.
audio_cache/gil-met-cast-running-production.wav Revised Gil meta-reveal narration, tail-trimmed to preserve the locked closing timeline.
audio_cache/gil-only-human-production.mp3 Final five-part created/reviewed/Gil/only-human answer.
audio_cache/sitter-dialogue-*.wav Seven pre-mixed Samantha/SYSTEM exchanges with authored response gaps.
audio_cache/system-gil-was-never-outside.wav Naturally tailed first SYSTEM verdict cue.
audio_cache/system-gil-update-whos-expecting-yours.wav Expressive final hook with an inserted pause separating its two spoken beats.
audio_cache/system-neither-are-you.wav Superseded explicit audience-verdict cue; retained as history only.
gil-is-awful-final.mp4 Canonical 60 fps deliverable.
the-sitter-final.mp4 Canonical Episode 2 60 fps deliverable.
the-playground-final.mp4 Canonical Episode 3 60 fps deliverable.
the-test-floor-final.mp4 Canonical Episode 4 60 fps deliverable.
the-report-final.mp4 Canonical Episode 5 60 fps deliverable.
the-canary-final.mp4 Canonical Episode 6 60 fps deliverable.
the-service-final.mp4 Canonical Episode 7 60 fps deliverable.
gil-is-awful-final.pre-fatboy-return.mp4 Episode 1 backup immediately before the 2026-08-13 closing-track rebuild.
gil-is-awful-final.pre-jan-hires-type-0816.mp4 Episode 1 backup before Jan's oversized training headings moved from the coarse 8-dot face to the denser 16-dot raster face.
gil-is-awful-final.pre-morrowvale-0816.mp4 Episode 1 backup before the repository-wide Morrowvale naming sweep and persistent Messenger composition were promoted.
the-sitter-final.pre-morrowvale-0816.mp4 Episode 2 backup before the repository-wide Morrowvale naming sweep was promoted.
the-sitter-final.pre-message-micro-motion.mp4 Episode 2 backup immediately before shared conversational message motion was embedded.
the-report-final.pre-investigation-flow.mp4 Episode 5 backup before the report/ledger investigation was reordered and expanded.
the-sitter-final.pre-structure-fix.mp4 Diagnostic backup that exposed the original nested-slide black-frame defect; do not deliver.
gil-is-awful-final.pre-native-readability.mp4 Backup before the coordinated native-size type and interface pass.
the-sitter-final.pre-native-readability.mp4 Episode 2 backup before the native-size, mix-ramp, and CRT-line pass.
the-sitter-final.pre-spotify-fade.mp4 Episode 2 backup before the synchronized Spotify entrance, deterministic Thronglet repair, closing coda, and final-shot CRT pass.
gil-is-awful-final.pre-speech-sync-36k-agents.mp4 Backup before clause-level reveals and the oversized 192×192 rotation field.
gil-is-awful-final.pre-update-two-beat-light-16k.mp4 Backup before the update wording, sequential final reveal, power-down light, and 128×128 field.
gil-is-awful-final.pre-text-first-question.mp4 Backup before the final text-first “Gil just gave his” audience question.
gil-is-awful-final.pre-fullscreen-agents.mp4 Backup before the longer phone sequence, edge-to-edge agent field, and stand-up hook.
gil-is-awful-final.pre-sitter-icon.mp4 Backup before the Gil identity, 40×40 pullback, and separate audience-verdict slide.
gil-is-awful-final.pre-token-budget-mirror.mp4 Backup before Sam's token-budget line and the mirrored agent-optimization screen.
gil-is-awful-final.pre-longer-ending.mp4 Backup before the longer music-led ending.
gil-is-awful-final.pre-two-beat-ending.mp4 Backup before the revised two-sentence ending and one-second reveal lead.
gil-is-awful-final.pre-reveal-fix.mp4 Backup of the rebalanced render before deterministic reveals were restored.
gil-is-awful-final.pre-closing-mix-fix.mp4 Backup of the deterministic render before the closing-bed rebalance.
gil-is-awful-final.pre-deterministic.mp4 Backup of the prior 222.54 s drifting deliverable.
make-gil-video.py Legacy per-slide renderer; do not use for final export.
postprocess-gil-final.py Legacy xfade post-process; do not use.

Environment findings

  • Native Wayland capture was not usable on this machine.
  • HTMLAudioElement/Web Audio output was silent in automated Chrome, so audio remains reconstructed from files.
  • Playwright page video is limited to 25 fps here and is unsuitable for the final motion master.
  • HyperFrames' cached headless shell supports deterministic beginFrame capture and is the production path.