Skip to content

RUNTIME-001: Prepare profile backend for Node 22 - #692

Merged
daliu merged 1 commit into
mainfrom
codex/691-node22-runtime
Sep 27, 2026
Merged

daliu merged 1 commit into
mainfrom
codex/691-node22-runtime

Conversation

@daliu

@daliu daliu commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

Outcome

Prepares the initial two-profile backend for Node 22. Refs #691; no deployment or billing change.

  • Align Functions engine/lock metadata, staging guard, backend builder and exact provider readback. Keep first-generation triggers, schema/auth/create-once semantics and min0/max2/256MB/30s unchanged.
  • Retain five Node20 CI jobs; add required Node22 backend/profile-persistence job to both protected-release checks. Missing emulators, skipped/altered jobs and stale runtime evidence fail closed.
  • Fix a discovered runtime incompatibility: frozen Node22 Errors retained a mutable stack setter. Replace only the unused Checkout observation projector's stack with fixed immutable redacted data; no formatter, raw provider value or checkout decision change.
  • No package versions, privileges, release scope or migration changes. Canonical release hashes updated only for the added job and backend runtime.

Evidence

  • Node20 and22 ordinary Functions: each7576 pass/64 explicitly skipped emulator tests; Functions lint passes.
  • Isolated Node22 Auth+Firestore full run:7577 pass/63 commerce tests skipped; profile persistence ran, emulators stopped. This does not prove hosted Auth/AppCheck.
  • Node20 frontend1346, Rules418, release/security guards138, SPA11 pass; diagnostic build passes.
  • Regression failed before the fix; existing12 error-surface failures are now green without weakening assertions.
  • Independent static review: no actionable findings; lock metadata-only and release hashes independently verified. Exact PR/main CI remains to record.
  • Audit remains nonzero: root5 production findings (2high); Functions12 (1high). No advisory is accepted as safe or fixed by this update.

Officer impact: No live website/account change. Prepares a supported server runtime; initial backend release remains on hold.
Officer documentation: OFFICER_START_HERE.md; docs/officers/README.md; docs/officers/LOW_COST_COMMUNITY.md; docs/officers/PUBLISH_AND_CHECK.md. No-terminal proof/stop/undo/escalation path retained; provider setup/release still needs a specialist.
Deployment evidence: Source merged as a4e8b0e; local tests and all six exact PR/main CI jobs passed. No website publication, runmprc.com change, Firebase deployment, provider configuration or production behavior verification. Club-account read-only preflight: zero accessible billing accounts; staging billing and Functions/CloudBuild/ArtifactRegistry APIs disabled. #113/#133/#136 and compatible supported-runtime recovery remain required; do not assume Node20 redeployment after its scheduled2026-10-30 decommissioning. Runner matching stays separate and disabled.

Source-only completion: PR #692 merged as a4e8b0e; merge tree equals reviewed head dae66f0. Exact PR CI36316587964 and main-push CI36316761613 both passed all six jobs with every step successful. Logs confirm Node22 profile persistence ran (7,577 passed/63 commerce skipped), Node20 Functions7,576/64 skipped, separate commerce63, frontend1,346, Rules418, guards138, SPA11, scrubber37, and successful build/artifact verification. Independent review found no actionable issues. No schema/backfill or dependency-version change. Officer no-terminal review, stop, proof, compatible recovery and escalation paths are documented; provider setup/release/rollback still needs a specialist. Existing dependency findings are unresolved, not accepted as safe. No Firebase/provider deployment or billing change. Public runmprc.com marker remains #685 source41a9ae4. #113/#133/#136 and approved billing/cost controls remain prerequisites; PR690 remains open/draft and disabled. This closes only the runtime source prerequisite, not the hosted-backend goal.

@netlify

netlify Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for luminous-fox-7c393f ready!

Name Link
🔨 Latest commit dae66f0
🔍 Latest deploy log https://app.netlify.com/projects/luminous-fox-7c393f/deploys/6ab90111212dd9000876d7ea
😎 Deploy Preview https://deploy-preview-692--luminous-fox-7c393f.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@daliu

daliu commented Sep 27, 2026

Copy link
Copy Markdown
Contributor Author

Independent read-only review of exact head dae66f0 found no actionable issues. Reviewer independently verified the release-guard hashes and metadata-only lock change; source review confirmed the unchanged first-generation identities, two-profile deployment scope, authorization/schema and resource limits. No provider or test work was delegated. Local verification: dual-runtime Functions 7,576 passed each (64 explicitly skipped); Node22 local Auth/Firestore 7,577 passed (63 commerce tests skipped), including actual profile persistence; frontend 1,346; Rules 418; guards 138; SPA 11; Functions lint and diagnostic build/artifact verification passed. No UI changed, so no new browser claim is made. Exact six-job PR CI is still running. Existing dependency findings and owner/provider release gates remain unresolved; no hosted behavior or billing change is claimed.

@daliu

daliu commented Sep 27, 2026

Copy link
Copy Markdown
Contributor Author

Exact PR CI 36316587964 succeeded for dae66f0. All six jobs and every recorded step succeeded. Logs confirm Node22 profile persistence executed (7,577 passed/63 commerce skipped); Node20 Functions 7,576/64 skipped; separate commerce emulator 63; frontend 1,346; Rules 418; guards 138; SPA 11; scrubber 37; build/artifact verification passed. Source-only merge uses the owner-authorized sole-maintainer review override after independent review and passing checks. This neither changes branch protection nor authorizes a deployment. Exact post-main CI will be checked separately.

@daliu
daliu merged commit a4e8b0e into main Sep 27, 2026
10 checks passed
@daliu
daliu deleted the codex/691-node22-runtime branch September 27, 2026 11:45
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