Skip to content

Require a real Perry game and startup failure control in browser CI - #170

Draft
proggeramlug wants to merge 2 commits into
codex/starter-lifecyclefrom
codex/compiled-web-startup
Draft

Require a real Perry game and startup failure control in browser CI#170
proggeramlug wants to merge 2 commits into
codex/starter-lifecyclefrom
codex/compiled-web-startup

Conversation

@proggeramlug

@proggeramlug proggeramlug commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

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.

@coderabbitai

coderabbitai Bot commented Sep 11, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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