Skip to content

Release media: Flywheel renders its own explainer and walkthrough at every release - #377

Merged
HarperZ9 merged 2 commits into
mainfrom
media/release-media
Oct 14, 2026
Merged

HarperZ9 merged 2 commits into
mainfrom
media/release-media

Conversation

@HarperZ9

@HarperZ9 HarperZ9 commented Oct 9, 2026

Copy link
Copy Markdown
Owner

Flywheel joins the media-at-every-release loop (raw-native ADR 0012).

Scenes (docs/media/):

  • Which source decides: the Form 1040 example in examples/output-validation.
    • The rate schedule and the tax table are drawn from tax_table.py's own rule. The scene checks its table against the checker program's answer and draws nothing if they disagree.
    • The view zooms from the whole first two brackets into the $50 row at $36,700, where the midpoint rule gives $4,169 against the filed $4,165.50.
    • It ends on the three runs, with the verdicts and exit codes that run_output_check.py prints at the release commit (FAIL 1, PASS 0, UNVERIFIABLE 3).
  • First check: a walkthrough of the same three runs, with their recorded output and exit codes.

Facts: every number on screen is read at render time. That covers the answers, the authority the contract names, the brackets and row width, the checker's value, and each run's verdict and exit code. All 17 read on the current main (version 1.5.0).

Workflow: .github/workflows/release-media.yml calls HarperZ9/raw-native/.github/workflows/media.yml@main on release: published, or by dispatch with a tag. It renders on a hosted runner at 960 x 540, with captions and no narration, and attaches the videos, posters and bundles. The narrated 4K render follows on the author's machine.

Depends on HarperZ9/raw-native#32 (step cwd, exit-code and stdin facts, show_exit). Merge that first.

Local render: on Chrome's CPU adapter at 640 x 360 the explainer is 1,667 frames (median 54 ms) and the walkthrough 847 frames (median 167 ms).

🤖 Generated with Claude Code

HarperZ9 and others added 2 commits October 9, 2026 16:32
…every release

docs/media/media.json lists two scenes for raw-native's media engine:
- "Which source decides": the Form 1040 example drawn from its own files.
  The rate schedule and the tax table come from tax_table.py's rule, checked
  against the checker's answer before drawing. The view zooms into the $50
  row, and the three runs show the verdicts and exit codes that
  run_output_check.py prints at the release commit.
- A walkthrough of the three runs, with their recorded output.

.github/workflows/release-media.yml calls raw-native's reusable media
workflow when a release is published. It renders on a hosted runner and
attaches the videos and interactive bundles to the release. The narrated
4K render is made on the author's machine and replaces them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@HarperZ9
HarperZ9 merged commit 54cb9ce into main Oct 14, 2026
74 checks passed
HarperZ9 added a commit that referenced this pull request Oct 14, 2026
Bump pyproject.toml, desktop/pubspec.yaml (1.5.1+36) and
desktop/lib/version.dart. Add RELEASE-NOTES-1.5.1.md and a 1.5.1
CHANGELOG section for the three PRs merged since v1.5.0: release media
rendered from each release's own files (#377), the animated explainer
page (#375) and the README Watch and Walkthrough sections (#376). The
README's pending video line now links the walkthrough and explainer
videos that the release-media workflow attaches to the latest release.
No runtime change. The monitor rule pack is unchanged (a76b7e89...).

Co-authored-by: Zain Dana Harper <17142659+HarperZ9@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant