Buyer and maintainer problem
BandScope currently declares the root runtime contract node >=22.13 <23, while jsdom@30.0.1 requires Node ^22.22.2 || ^24.15.0 || >=26.0.0. A hosted CI runner may use a sufficiently new Node patch release and pass, even though users and builders on Node 22.13.0–22.22.1 still satisfy BandScope's published engine range and cannot install the upgraded test dependency reliably.
This makes a direct Dependabot merge unsafe. The Node floor must move as one coordinated compatibility change rather than being hidden inside a two-file dependency bump.
Required scope
- Raise the authoritative root
engines.node floor to >=22.22.2 <23 only after verifying every workspace and native build path.
- Update all Node setup actions, toolchain files, devcontainers, Docker images, local-development documentation, release instructions, and generated package metadata that encode the old floor.
- Add an exact minimum-version CI lane that installs from a clean lockfile and runs lint, strict typecheck, complete measured tests, production build, Storybook/build tooling where applicable, and the Tauri integration boundary.
- Regenerate the root npm workspace lock with the repository's pinned npm version and keep the diff free of unrelated lock metadata churn.
- Upgrade
jsdom only in the same reviewed compatibility slice after the minimum-version lane proves the new floor.
- Update
CHANGELOG.md and the operator/developer documentation with the compatibility boundary and rollback procedure.
- Rerun repository CI, security, supply-chain, central coverage, current-head OpenCode/Noema/CodeRabbit review, unresolved-thread, independent approval, and branch-protection gates.
Acceptance criteria
Supersession
This issue replaces the unsafe standalone merge path in PR #760. The existing PR may be recreated or superseded after the coordinated Node-floor migration is ready; predecessor-head checks are not transferable.
Buyer and maintainer problem
BandScope currently declares the root runtime contract
node >=22.13 <23, whilejsdom@30.0.1requires Node^22.22.2 || ^24.15.0 || >=26.0.0. A hosted CI runner may use a sufficiently new Node patch release and pass, even though users and builders on Node 22.13.0–22.22.1 still satisfy BandScope's published engine range and cannot install the upgraded test dependency reliably.This makes a direct Dependabot merge unsafe. The Node floor must move as one coordinated compatibility change rather than being hidden inside a two-file dependency bump.
Required scope
engines.nodefloor to>=22.22.2 <23only after verifying every workspace and native build path.jsdomonly in the same reviewed compatibility slice after the minimum-version lane proves the new floor.CHANGELOG.mdand the operator/developer documentation with the compatibility boundary and rollback procedure.Acceptance criteria
jsdom@30.xis installed without engine warnings or hidden fallback behavior.CHANGELOG.md, architecture/doctoring records, and rollback instructions are current.Supersession
This issue replaces the unsafe standalone merge path in PR #760. The existing PR may be recreated or superseded after the coordinated Node-floor migration is ready; predecessor-head checks are not transferable.