chore(build): decouple SDUI manifest + react-conformance ratchet from console build#2492
Merged
Merged
Conversation
… console build build-console.sh launched a headless browser (Playwright) to dump the public-tier SDUI manifest and ratchet ADR-0081 conformance. That made every `objectui:build` / `objectui:refresh` / `release` rebuild depend on a matching Playwright browser being installed — a freshly bumped objectui SHA crashes the rebuild with `browserType.launch: Executable doesn't exist`. The browser step never belonged on the build path: - It was already "best-effort, non-fatal" (gate falls back to parse-level). - In CI it never actually ran: both workflows install Playwright AFTER build-console.sh (release installs none), so the ratchet silently degraded every time. It only executed when a dev happened to have a matching browser. Move manifest generation + conformance ratchet into a dedicated on-demand script and keep build-console.sh single-purpose (rebuild console SPA + copy dist, no browser). - scripts/gen-sdui-manifest.sh (new): reuses the vendored .cache/objectui-<sha> tree; clear guidance when the tree is missing (run objectui:build) or the Playwright browser is missing; fails loud instead of silently degrading. - scripts/build-console.sh: drop the browser block, point to `pnpm sdui:manifest`. - package.json: add `sdui:manifest` script. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Problem
scripts/build-console.shlaunched a headless browser (Playwright) to dump the public-tier SDUI manifest (ADR-0080) and ratchet spec↔frontend react-block conformance (ADR-0081). That made everyobjectui:build/objectui:refresh/releaseconsole rebuild depend on a matching Playwright browser binary. A freshly bumped.objectui-shacrashes the rebuild:Why the browser step doesn't belong on the build path
pnpm build(turbo) never touched a browser — only the console-rebuild scripts did.build-console.sh(release.ymlinstalls none at all), sobuild-console.shalways hit the missing-browser path and silently degraded. The ratchet only executed when a developer happened to have a matching browser installed locally — i.e. a gate that was effectively dormant.Change
scripts/gen-sdui-manifest.sh(new) — on-demand manifest generation + conformance ratchet. Reuses the vendored.cache/objectui-<sha>tree; gives clear guidance when the tree is missing (pnpm objectui:build) or the Playwright browser is missing (pnpm exec playwright install chromium-headless-shell); fails loud instead of silently degrading.scripts/build-console.sh— drop the browser block (−35 lines), single-purpose again (rebuild console SPA + copy dist). Prints a pointer topnpm sdui:manifest.package.json— add"sdui:manifest"script.Usage
Not in scope
CI is intentionally left unchanged — the ratchet was already not running there, so this is a no-op for CI. Re-activating it (move
playwright installahead ofbuild-console.sh+ add apnpm sdui:manifeststep) can be a follow-up if desired.Verification
bash -nclean on both scripts;package.jsonvalid JSON.build-console.shno longer references Playwright / a browser.🤖 Generated with Claude Code