Skip to content

Prepare experimental Node 26 compatibility coverage - #779

Draft
Kevinjohn wants to merge 2 commits into
mainfrom
feature/node26-coverage-investigation-710
Draft

Kevinjohn wants to merge 2 commits into
mainfrom
feature/node26-coverage-investigation-710

Conversation

@Kevinjohn

@Kevinjohn Kevinjohn commented Sep 10, 2026

Copy link
Copy Markdown
Owner

TL;DR (11 September 2026): on hold until an official Node 26 release ships that contains nodejs/node#65666 (SQLite backup completion fix). Verify at the Node release index (latest 26.x is still 26.8.2) and the 26.9.0 release proposal (still open/draft). When it ships: re-run the probes and the four node-compatibility.yml jobs against it, then merge PR #779. Node 24 stays the default throughout.

Preserved discovery record — 11 September 2026

The consolidated discovery report now preserves the corrected backup diagnosis, native Linux/macOS matrices, callback-scope mechanism, exact upstream patch and build hashes, storage findings, rejected workarounds, validation history and remaining acceptance steps.

Proposed floors remain 24.19.0 and 26.9.0 conditional on the official fix and successful validation. Exact minimum enforcement and minimum/latest CI coverage remain to be implemented. Official 26.8.2 is not an acceptable supported floor.

A private durable local archive preserves 1,601 evidence files (457 MB), including raw logs, reproduction scripts, source archives and both controlled-build binaries. All per-file SHA-256 values and the archive digest were verified. Issue/PR snapshots and the final report are also preserved locally. The raw archive is local, not an off-machine backup; the reviewed report is committed to GitHub.

Documentation follow-up: 1eac627d2a216ed0e8fda1490047f7465e5deae1. Documentation build and visual/content review passed on Node 24.19.0. Application validation remains tied to implementation milestone c87660b920f75a29ab0e0cfef822fc274fb78efa; no application changes were introduced in this follow-up.

Hold remains: draft PR, no merge, workflow activation, deployment or release.

What & why

CapacityLens allows Node 26 through its engine range, but lacked repeatable compatibility checks and its browser-storage test harness failed eight tests on that runtime. This candidate fixes the harness and prepares independent Node 26 application, server, packaged-runtime and Chromium checks.

Related to #710. Keep this PR unmerged: acceptance against an official Node 26 release containing the upstream SQLite backup fix is still pending. The prepared weekly workflow remains inactive while this branch is unmerged. Node 24 remains the default.

  • Keep independent local/session storage and consistent window/global aliases so storage error-path tests work on both runtimes.
  • Add a numeric-major setup override while retaining .nvmrc, the pinned pnpm version and frozen installs.
  • Exercise actual deployed server/import-worker bundles, startup and periodic backups, snapshot contents/integrity and clean shutdown in disposable loopback-only state. Test environment isolation and prompt startup-failure handling.
  • Document experimental status and a verified standalone pnpm installation path; regenerate the affected documentation.

Validation

Candidate: c87660b920f75a29ab0e0cfef822fc274fb78efa.

Check Result
Node 24.19.0 full application gate Passed; 3,996 tests / 222 files, thresholds, static checks, audit and build
Node 24.19.0 full server gate Passed; 1,879 coverage tests, 56 account-flow tests, 3 durability tests and 3 migration tests
Node 24.19.0 Chromium E2E 264 passed, no retries
Storage-focused tests, Node 24.19.0 and official Node 26.8.2 83/83 passed on both; original Node 26 setup failed eight tests
Maintained deployed server/import-worker smoke Passed on Node 24 and isolated Node 26.8.2 plus upstream #65666, including startup/periodic backups and clean shutdown
Smoke harness failure tests 2/2 passed on Node 24 and patched Node 26
Pinned actionlint, generated docs and visual inspection Passed
Standalone pinned pnpm install and frozen dependencies on official Node 26.8.2 Passed; pnpm 11.4.0
Full application gate on official Node 26.8.2 Passed; 3,996 tests / 222 files and every gate stage

The controlled patched-runtime experiment is evidence for the upstream fix, not an official Node 26 support claim. The existing Node 24 gate workflow passed against the candidate commit. The DCO job was intentionally skipped on manual dispatch; the candidate commit has its required sign-off. The new compatibility workflow itself has not been activated. No scheduler behavior or screenshots changed; a new user story is not needed for this test-tooling change.

Remaining acceptance

Validate the first official fixed Node 26 release with native macOS/Linux backup probes and the complete candidate workflow checks. Any later merge, recurring-workflow activation or release requires the existing explicit delivery decision. No application behavior, schema, engine minimum, Node types or build target changed.

Signed-off-by: Kevinjohn Gallagher <kevinjohngallagher@hotmail.com>
Signed-off-by: Kevinjohn Gallagher <kevinjohngallagher@hotmail.com>
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