You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Test and verify the embedded Scope UI in required CI #726
Run Scope UI tests and verify that its generated HTML matches the file embedded in the shipped binary, using a pinned supported Node version in CI and the development environment.
Background and evidence
On main fa0c79b9ae38eca2c59b2b1911becfe1a6b3c9ab, scope-ui/package.json:7-8 defines test/build commands. src/scope/server.rs:20 directly embeds tracked src/scope/placeholder.html. The Rust workflow at .github/workflows/ci.yml:74-98,131-184 does not run the UI commands; the Account Manager Node job covers a different frontend.
scope-ui/tests/build.test.mjs:11-21 builds into a temporary file but does not compare it with the embedded tracked artifact. flake.nix:199-211 does not include Node in the development shell.
A change to scope-ui/src/** can pass required Rust checks while the binary continues serving the older generated HTML, and JavaScript regressions are outside those checks. Regeneration during source inspection matched the current embedded artifact after newline normalization, so no existing content drift is asserted.
Acceptance criteria
Pin/provide the supported Node runtime in authoritative CI and the development shell.
Run scope-ui tests as a required check.
Regenerate into a temporary output and fail on substantive differences from src/scope/placeholder.html, with a deliberate portable newline policy.
Test that editing UI source without refreshing the artifact fails the consistency check.
Keep the gate dependency-free unless a separate demonstrated requirement arises.
Advantages
Catches frontend regressions and prevents source/binary drift at merge time.
Disadvantages and costs
Adds a small Node gate and runtime-version maintenance; portable generated-output comparison requires an explicit newline convention.
Scope and verification
Scope UI tooling, embedded artifact, development environment and CI. Source/gate inspection plus reported regeneration comparison; no full Rust build or browser acceptance run. Closed #152 delivered the UI; no current Issue/PR adds this gate.
Activity