Session script: navier-stokes (Claude Fable 5.1, then Claude Opus 5.5 · max effort · Claude Code)
User turns are verbatim, except one absolute home path shortened to ~ (see notes.md § Other notes). Messages the harness injected are marked Harness; they were not typed by the user. Model and tool activity is condensed. Times are America/New_York, reconstructed from the session transcript, the workflow journals and git history.
Turn 0: /model and /effort (2026-10-08, 23:39)
Before the first prompt the user ran /model, setting Fable 5.1, and /effort, setting max for this session with Ultracode on. Ultracode makes multi-agent workflows the default for substantive work.
Turn 1: the commission (23:40)
Create a short film about the Navier-Stokes theorem. Spawn a team of agents to discuss the mathematics and physics, as well as the metaphysical and philosophical implications. Create highly detailed and polished visualizations to complement and drive the film. End the film with a brief comment on recent claims that AI proven the theorem, along with the implications. Make the film accessible and appropriate as a YouTube short.
Use mise, uv, and python to create the film. Use any dependencies you like as long as they’re version controlled and builds are reproducible.
The harness loaded the workflow-authoring reference alongside the prompt.
Scouting and research (23:40 – 23:50)
- Checked the machine: mise 2026.9.1, uv, Python 3.14, ffmpeg, 10 cores. PyPI, GitHub and Google Fonts were reachable.
- Researched the 2026 claims with 9 web searches and 10 fetches:
- OpenAI's 8 September announcement of a forced-blow-up proof (Clay alternatives C and D, Lean-formalised, 166 pages);
- Buckmaster and Alpöge's Lean-checked smooth-forcing results posted about 12 hours earlier;
- the credit dispute;
- Clay's "apparently been settled" and "deliberately unhurried";
- the arXiv 2610.08144 Lean-translation critique;
- DeepMind's 2025 unstable-singularity work;
- NPR's "learned nothing (so far)".
- Noted that "Navier-Stokes theorem" is a misnomer: it is an open problem. The film uses that as its hook.
Toolchain (23:47 – 23:53)
mise.toml pins python 3.12.13, uv 0.12.23 and ffmpeg 9.0.1. pyproject.toml has exact pins (numpy, scipy, matplotlib, pillow, kokoro-onnx, onnxruntime, tqdm) and uv.lock locks them.
- The Kokoro TTS model is downloaded by
scripts/fetch_assets.py and verified against sha256 hashes in assets/manifest.json. Six voices were auditioned; all are deterministic.
- Inter 4.1 and Fraunces are vendored under the OFL. Equations are typeset with matplotlib's mathtext.
Writers' room launched (23:53)
An 18-agent workflow on Fable 5.1:
- six panellists: a PDE mathematician, a fluid physicist, a philosopher of science, a journalist and fact-checker, a historian of machine proof, and a Shorts producer;
- a moderated roundtable;
- three competing scripts (wonder, mystery, honest-news);
- three judges (audience, accuracy, production);
- a head writer's merge;
- three sceptics who tried to refute every claim against primary sources;
- a final editor who wrote
film/script.json, docs/script.md and docs/sources.md.
Engine, built while the panel worked (23:53 – 00:22, 9 Oct)
The model wrote the renderer:
- an OKLab colour system, a float-frame compositor with text and glow, and mathtext equations;
- a pseudo-spectral 2D Navier–Stokes solver and a D2Q9 lattice Boltzmann vortex street (Strouhal number checked against a test);
- Kokoro narration, a procedural D-minor score, a ducking mix, and chunked parallel x264 encoding with a loudness-normalised mux;
- a timeline built from the script, a scene registry, a CLI and
mise tasks.
A stub film was built end to end, and four commits followed.
First usage-limit pause and a stalled workflow (01:21 – 05:56)
- Harness: "Usage limit reached …" at 01:21. Harness: "Your claude.ai usage limit has reset. Continue …" at 04:30.
- The writers' room had stalled silently. The model stopped it and resumed it from its journal; the panel and roundtable replayed from cache.
- A second pause (the user ran
/rate-limit-options at 08:27; reset at 09:31) delayed the scripts and judging.
Script lands; production launched (09:56 – 10:44)
- The merged, fact-checked script is 12 scenes and 236 words. Narration was synthesised at speed 0.93 (162 words per minute) for a 112-second timeline.
- Launched the visual-production workflow: two art directors (instrument and ink), a synthesis into
docs/visual_design.md, then per scene a builder, three reviewers, a polisher and a verifier.
- Stored the workflow scripts in the repo and wrote the first memory notes.
Third pause; Fable 5.1 limit (11:14 – 15:32)
- Harness: usage limit at 11:14, reset at 14:31.
- The design synthesis finished, but all 13 scene builders failed together: "You've reached your Fable limit". The session waited for the user.
Turn 2: switch to Opus 5.5 (19:10)
Please continue with opus 5.5.
The user ran /model (setting Opus 5.5), then:
Please continue.
Engine work before relaunching (19:11 – 19:29)
Read the design's engine notes and fixed what parallel scene work would trip on:
- a scene registry that isolates a broken module;
- single-scene previews that tolerate unfinished neighbouring scenes;
- hard cuts as an engine feature (
"cut_in": "hard");
- text anchors that mean the text block's edge;
- a missing-glyph warning;
- a phoneme lexicon, so "Navier-Stokes" is pronounced "nav-YAY";
- phrase onsets measured from the narration audio (
Scene.phrase);
- a script-driven sound plan (hits, a bed silence before the last line, a silent tail);
motifs.py, so the fluid clock, the door card, the page tiles, the closing picture and the '?' are implemented once.
26 tests passed. Relaunched production; art direction replayed from cache and eight scene builders started on Opus 5.5.
While the scenes were built (19:29 – 21:00)
- Wrote
nsfilm qa (format, cut detection, flash count, loudness, silences), subtitles, the cover, film/youtube.md and the README.
- Rendered and measured the soundtrack.
- Fixed the bugs the scene builders reported in shared code: an off-by-one-frame cut from float boundaries, and pixel jitter from half-to-even rounding.
- An early whole-film contact sheet showed every scene rendering.
- Harness: usage limit at 21:00, reset at 00:31 (10 Oct).
Producer decisions from scene review (01:01 – 01:41, 10 Oct)
- Captions break at their separators and slide left of YouTube's button column.
- The compact door card's empty column gets its row labels.
- The ticks on "claimed" doors are grey, because mint is the film's "verified" colour.
- The hook cut moves to one frame before "unclaimed".
- The quotes get a longer hold.
- A disclosure line, "Made with Claude (Anthropic)", is added because an Anthropic employee appears in the story.
- The status was re-verified against Clay's pages and arXiv, and the card re-dated to 10 Oct 2026.
- Harness: usage limit at 01:40, reset at 05:31.
Build, screening, fixes (05:31 – 07:30)
- All 13 scenes were polished and verified. The first full build took 115 s; QA passed except for one cut detector, which was made relative to neighbouring frames.
- Launched the six-seat screening of the encoded film.
- Meanwhile made captions phrase-level, revealing segments on the measured phrases, so "done what?" and "it isn't" are no longer shown early. Captions now pop in over a fixed time, clear before hard cuts, and break where both lines read well.
- Reworked the sound for phones: hits on their own bus after the duck with a mid-band transient, the bed rebalanced, bass mono, and a true-peak limiter so loudness normalisation stays linear.
- Shortened the dead air before the turn and lengthened the closing card.
- The screening editor ranked 18 fixes. The model made the shared ones itself:
- door stamps at 28 px;
- the closing card back to two type sizes;
- the bookend "still unclaimed";
- caption wording: the Lean proof, not the prose, is "checked";
- numerals in the subtitles;
- BT.709 colour tags;
- the description.
- Launched one fixer and one verifier per scene. Fixed one regression itself: overlapping molecules clipped to white.
- Final build: 154 s. QA passed all nine checks, with −13.9 LUFS and cuts at 2.033, 53.1 and 106.133 s. Commit
1e25afd.
Final check blocked (07:30 – 10:01)
- A four-seat confirmation screening failed: every seat hit the weekly usage limit, which resets 14 Oct, and the decision step had a schema bug.
- The model fixed and saved the script, then spot-checked every screening fix in frames from the final file.
- Committed
3000e4e and delivered the summary: the film, the publishing checklist (re-date the status line), the disclosure, and how to run the final check later.
Turn 3: provenance (2026-10-11, 18:37)
The user ran /effort (setting xhigh, Ultracode off), then:
Create a metadata.toml file as described in ~/repos/uncanny.fyi/AGENTS.md for the current session. Be sure to create the references files as well, such as script.md containing a session script and notes.md with session notes.
The model read AGENTS.md and a recent example's provenance files. It measured usage and timing from the main and 166 subagent transcripts, deduplicated by message id. It took list prices from the claude-api skill and wrote metadata.toml, notes.md and this script.