Repository navigation
Release media: Flywheel renders its own explainer and walkthrough at every release - #377
Merged
Merged
Conversation
…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
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Flywheel joins the media-at-every-release loop (raw-native ADR 0012).
Scenes (
docs/media/):examples/output-validation.tax_table.py's own rule. The scene checks its table against the checker program's answer and draws nothing if they disagree.run_output_check.pyprints at the release commit (FAIL 1, PASS 0, UNVERIFIABLE 3).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.ymlcallsHarperZ9/raw-native/.github/workflows/media.yml@mainonrelease: 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