Require a real Perry game and startup failure control in browser CI - #170
Draft
proggeramlug wants to merge 2 commits into
Draft
Require a real Perry game and startup failure control in browser CI#170proggeramlug wants to merge 2 commits into
proggeramlug wants to merge 2 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This was referenced Sep 11, 2026
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.
The existing browser gate exercises engine WASM directly from JavaScript and misses failures in a Perry-compiled game. Add actual compiled-game startup, eight rendered frames, one cleanup and an exact 128x128 image check, plus an explicit runtime-fault control at a real game FFI call.
Windows prepares both pages with the pinned Perry 0.5.1220 compiler; hosted macOS Chrome runs them with the Linux-built engine at the same source commit. The compiler fixture installs this checkout as an explicit dependency, rejects unresolved-import warnings and inspects required imports in the actual WASM. Failure evidence includes startup logs, DOM status, FFI count and a screenshot.
The first hosted attempt proved the new check is needed: the old JavaScript renderer passed, while the compiled game timed out because Perry had emitted a valid module despite unresolved engine imports. Corrected local compilation resolves six modules and 159 engine imports. A Node VM probe with the real generated Perry runtime/WASM and recording FFI passes eight callbacks, one cleanup and the injected fault; it is not browser-rendering evidence. Perry's plain throw propagation remains a separately observed limitation.
The initial hosted Windows shared-test process also crashed despite FXC. Serialize that hosted harness while retaining all assertions. The same source passes 489 local serial library tests with one existing ignored test; selectable helpers use WARP and other helpers can use Radeon. This is a CI mitigation, not an identified driver root cause.
Three acceptance-state/import controls, repository contracts and Python syntax checks pass. Hosted Tests run 34565354719 passes all 22 jobs. The actual compiled game produces all 16,384 expected pixels, eight frames and one cleanup; its explicit startup-fault control is rejected. The serial Windows library passes 489 tests with one existing ignored test. PR head and hosted checkout have identical Git trees. The initial failed logs and artifacts are retained. Stacked on #169; relates to #74, #142 and #140. No baseline or threshold changes, merges, npm releases or named-hardware claims.
Published report and evidence retain both initial failures, corrected compilation, local dispatch controls, exact final source and successful hosted results. ZIP SHA-256:
d8989d608b8fb5d790fdd1088bdfedc662b511e56a10163e58d6c495551dd507.