Repository navigation
[Do not merge] Chrome: packaged runtime hooks and menu — no remote code (Blue Argon) - #38
Draft
alexey-max-fedorov wants to merge 11 commits into
Draft
alexey-max-fedorov wants to merge 11 commits into
alexey-max-fedorov wants to merge 11 commits into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Also: ignore .superpowers/ scratch, and fix extension typecheck under TS 7 (bundler resolution; exclude firefox/ and node-run tests). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… hooks Removes the onreset injection, bridge, game.min.js block and CSP strip. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…oading and evals Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ripped Login art is packaged and served via DNR extensionPath (web-accessible), the GitHub status-message fetch is dropped (connect-src blocks it), and Teleport zone tiles are labelled by name instead of GitHub-hosted art. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sions from Chrome build Also removes the menu's dead GitHub asset map and status-message fetch, and documents the packaged runtime (CLAUDE.md, architecture, workflow, spec amendment for the CSP finding). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bumps the Chrome build and packaged menu to 4.5.0, marks chrome/packaged-runtime as the CWS-only line (never merged to master; Edge/Firefox stay on 4.4.x), and rewrites the CWS privacy answers and listing copy to match: remote code = No, no storage/unlimitedStorage, no GitHub host permission, DNR limited to two packaged-image redirects. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
alexey-max-fedorov
marked this pull request as draft
September 26, 2026 15:24
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.
Summary
Chrome Web Store build that runs no remote code. Prodigy loads its own, unmodified
game.min.js, and every line of JavaScript Play Origin runs ships inside the extension zip. Nothing is fetched theneval'd, nothing runs throughonreset, and no prefix/suffix comes from GitHub.contents/runtime.ts(MAIN world,document_start) wrapsObject.definePropertyto capture webpack export objects as the game creates them. After boot it resolves five targets by shape or by names minification can't touch: the singleton class, the constants object, theEV()component registry, the base action class and the Tower Town service. It then installs the three education bypasses as prototype wraps and builds thewindow._API the menu reads. This replaces all six P-NP regex rules;safe-bindand the semaphore guard are no longer needed.originGUI/build.mjsalso emitsdist/menu.js(startOriginMenu()), andcontents/menu.tsbundles it and starts it onorigin:ready. Removed from the menu: Update menu, Switch Branch, Eval Console, the dev-socketeval, and the stringevals in player/pets.onresetinjector and its bridge, thegame.min.jsblock rule, the CSP/XFO strip, theraw.githubusercontent.comhost permission,storage/unlimitedStorage, and the popup's manifest/menu URL overrides.extensionPath. The GitHub status-message fetch is dropped, and Teleport zone tiles are labelled by name.Design:
docs/superpowers/specs/2026-09-24-chrome-packaged-runtime-design.md. Plan:docs/superpowers/plans/2026-09-24-chrome-packaged-runtime.md.This branch is the Chrome-only build. Edge and Firefox still run the published P-NP/
onresetbinaries, which fetchoriginGUI/dist/bundle.jsfrommasterat runtime. Merging this PR updates that file, so those users would lose Update menu, Switch Branch, Eval Console and the status message. Keep this unmerged, or split the originGUI changes out, until Edge/Firefox move off the old pipeline.Test plan
cd extension && pnpm test: 33/33 (hook capture, resolvers, bypass gate on/off and idempotency,window._API incl. lodash replacement and membership restore)pnpm build: the prod bundles contain noonresetand noraw.githubusercontent.com, and have 0eval(/new Function(game.min.js200 from Prodigy, 3×[Origin] hook installed, no missing targets,_.instance.prodigy/constants/player/network/membershipresolve, menu starts, Shift toggles it, membership on/off round-trips, packaged logo renders under the page CSPpnpm packagezip uploaded to CWSKnown and deferred: menu fonts (Sen/Arvo) fall back to sans-serif under the CSP; users updating from 4.4.1 keep an orphaned patched-bundle cache in extension storage;
pnpm typecheckhas one error inherited from master (popup.tsx./style.cssimport).🤖 Generated with Claude Code