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
RUNTIME-001: Prepare profile backend for Node 22 - #692
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.
Isolated Node22 Auth+Firestore full run:7577 pass/63 commerce tests skipped; profile persistence ran, emulators stopped. This does not prove hosted Auth/AppCheck.
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.
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.
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Outcome
Prepares the initial two-profile backend for Node 22. Refs #691; no deployment or billing change.
Evidence
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.