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
SACREDspeaker 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.cssis 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
Silkscreen8face. Oversized lesson, presenter and credo headings now use localDotGothic16asJanRaster16, 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
MORROWVALEis 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:
- It parses the source deck, resolves every narration file, and computes slide durations from narration, authored pauses, and the CRT hold.
- 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.
- It generates an export-only composition from the source HTML. The original interactive deck is not rewritten.
- The wall-clock presentation controller is removed from the generated copy.
Each slide receives exact
data-start/data-durationtiming. 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 authoreddata-reveal-offsettied 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. - Background videos are hoisted onto the renderer-owned media timeline so every source frame can be sought deterministically.
- 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.
- 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. - 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
invalidisin-valid; all visible dialogue, terminals and reports retain the canonical spellinginvalid. - 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 endedhold 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 SYSTEMis 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_moduleand prunesrelationship_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:00before 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.andWHO’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 NOWcharacter 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 repliesSIGNED 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-001begins 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:noneat 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 ratecomparison, 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.mdrecords 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 asthe-playground-final.pre-ambience.mp4the-playground-final.pre-voice-visual.mp4andthe-playground-final.pre-motion-coverage.mp4for 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 · TERMINATEDappears; 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 Handovercard 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 invideo-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.mp4is 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.mdrecords 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 numberis 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
beginFramecapture and is the production path.