Repository navigation
WEB-001A1: add fail-closed Firebase Hosting foundation - #664
Conversation
✅ Deploy Preview for luminous-fox-7c393f ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
HOSTED EVIDENCE FINAL — 2026-08-23 GitHub Actions run A static-only readback of https://deploy-preview-664--luminous-fox-7c393f.netlify.app fetched This proves only the PR preview artifact. It does not prove an owned Firebase staging project, Firebase deployment, provider configuration, merge, |
|
Final self-review: no blocking findings.
Officer impact: Firebase Hosting source support is safe to merge, but officers must continue using the existing Netlify publishing procedure until a separately evidenced Firebase deployment/cutover. Officer documentation: Deployment evidence: Netlify preview verified; current Netlify production compared and unchanged; Firebase Hosting and DNS not deployed or verified. |
Outcome
Adds the source-only Firebase Hosting foundation for WEB-001A1. Controlled optimized builds now choose
stagingorproductionexplicitly, local/test remain emulator-only, and Firebase Hosting has a static SPA rewrite with a project-bound build-and-scan predeploy gate.Closes #663. Parent #460 remains open for owned staging, protected automatic release, response headers, readback/rollback, and DNS cutover.
Safety boundary
GCLOUD_PROJECTto the selected browser project, rebuilds, and scans before upload..firebasercdefaults todemo-mprc-local; no deploy-capable production default remains.Verification
demo-rules-test.demo-pay002b2-test.demo-mprc-localserved the real main asset and rewrote/events,/shop/mprc-hat, and/accountto the SPA index; no browser code was executed.git diff --checkpassed.32663839787: all five GitHub jobs passed. Netlify header/redirect checks passed, its Pages-change check was neutral, and its existing integration published deploy preview 664 with the sanitized synthetic staging configuration.The first local Rules command started only the demo emulator but failed before tests because its restricted PATH hid nested Node. The corrected explicit Node 20/Java 21 invocation produced the complete 418-test pass above.
Release state
e0c459f.runmprc.comverified for this change: no; it remains on the documented production Netlify deploy.The authenticated Google identity sees only disposable
testproject-1c263, not MPRC production or an approved club-owned staging project. Provider work therefore stopped at the required owner gate.Officer impact: None live. Officers continue using the documented production Netlify site; Firebase Hosting is not an available publish or recovery control. The PR preview is for public, signed-out source review only.
Officer documentation:
OFFICER_START_HERE.md,docs/officers/PUBLISH_AND_CHECK.md,docs/officers/SYSTEM_MAPS.md,docs/officers/ACCESS_CONTINUITY.md,docs/officers/EMERGENCY_AND_RECOVERY.md, anddocs/officers/GLOSSARY.md.Deployment evidence: Local synthetic/exact artifacts, demo-only emulators, hosted CI, and the automatic synthetic Netlify PR preview above. No Firebase project, Firebase Hosting resource, provider configuration, DNS, production data,
runmprc.com, or production behavior changed.