Skip to content

build: raise the canonical Node floor to 22.13 #367

Description

@WalksWithASwagger

Summary

Raise Rafiki's canonical Node.js runtime floor from 22.12 to 22.13 so the documented contract, package metadata, and CI match the installed frontend dependency graph.

Context

  • npm --prefix frontend ci on Node 22.12.0 / npm 10.9.0 reports EBADENGINE for jsdom@29.1.1 and eslint-visitor-keys@5.0.1; both require Node 22.13+ on the Node 22 line.
  • The warning reproduces on current main and was not introduced by PR build(deps): bump the frontend-npm group across 1 directory with 11 updates #366.
  • The maintainer approved upgrading the runtime floor in the active repository-health task.
  • Relevant files: root/frontend package metadata and locks, .github/workflows/ci.yml, README/CONTRIBUTING/AGENTS runtime text, and structural tests.

Acceptance Criteria

  • Root and frontend engines.node require >=22.13.0, including lockfile root metadata.
  • CI uses Node 22.13.
  • Active developer and agent documentation consistently says Node 22.13+.
  • Structural tests enforce one consistent runtime floor.
  • Fresh root and frontend installs on Node 22.13 / npm 10 complete without EBADENGINE.
  • Full deterministic and dependency-security verification pass.

Tests/Evals

  • Update existing runtime-contract assertions in tests/agentic/test_workflows.py and tests/test_varlock_contract.py.
  • Run the focused tests, fresh root/frontend npm ci, npm run verify, npm run verify:security, npm run env:audit, staged npm run env:scan, and diff checks.
  • Evals are not applicable: this changes the build/runtime contract only.

Agent Instructions

  • Use branch codex/issue-367-node-22-13-floor.
  • Keep npm at 10+ and Python at 3.11+; do not upgrade dependencies or regenerate unrelated lock entries.
  • Do not change provider, deployment, secret, publication, or repository settings.

Out of Scope

  • Node 24 migration.
  • Dependency upgrades beyond metadata synchronization.
  • Fixing existing lint warnings or generated route output.

Linear

Not applicable. Rafiki delivery is GitHub-only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    configurationConfiguration and environment setupphase-1Phase 1 — Polish & StabilitytestsTest coverage, smoke checks, and acceptance automationtype:taskImplementation task

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions