Skip to content

CONFIG-001B1: enforce server-only commerce admission - #152

Merged
daliu merged 1 commit into
mainfrom
codex/issue-151-commerce-admission
Jul 13, 2026
Merged

daliu merged 1 commit into
mainfrom
codex/issue-151-commerce-admission

Conversation

@daliu

@daliu daliu commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Closes #151

Outcome

Adds a fail-closed, non-cached server admission boundary for every current new race, shop, complimentary, late-registration, and incident-refund command. A false deployment ceiling stops new commerce before Firestore. Commands that pass it, plus every refund, read strict server-only runtime state fresh. Signed Stripe webhooks and confirmation mail remain independent.

The runtime control and event/product checkout flags are denied to anonymous, member, and browser-admin clients. Missing, malformed, extra, or disabled control data produces one fixed nonsecret failure before rate-limit, business, mail, audit, or Stripe side effects.

This is source enforcement only. The protected officer writer, audit history, staging drill, already-open Stripe-object recovery, and reconciliation remain CONFIG-001B2/PAY-002/PAY-004/PAY-005.

Verification

  • Exact staged diff SHA-256: c20abb89cfa667cd691f93d26a3cc19e6b9c77b4a1fcb05ce5503aaa9077efd9
  • Two independent exact-hash reviews: APPROVED, no findings
  • Node 20 Functions: 9 suites passed + 1 emulator-only suite skipped; 278 passed, 1 skipped
  • Focused checkout policy: 14/14 passed
  • Functions lint: passed
  • Frontend: 9 suites / 113 tests passed
  • SPA callback safety: 10/10 passed
  • Diagnostic optimized build: passed
  • Diff/link/sensitive-pattern checks: passed; 9 Markdown files / 22 relative links resolved
  • Local Rules emulator: not available because Java is absent; hosted Rules CI is required before merge

Continuity

Officer impact: New race, shop, comp, and late-registration work stops when the typed ceiling or server-only controls are absent/off. Incident refunds have a separate decision. Webhook reconciliation and confirmation mail continue. No usable officer switch exists yet.

Officer documentation: docs/officers/EMERGENCY_AND_RECOVERY.md and docs/officers/PUBLISH_AND_CHECK.md

Deployment evidence: Source and local tests only at PR creation. No website publication, Firebase Rules/Functions deployment, runtime-control creation, Stripe/provider change, production payment, email, or live behavior has been performed or verified. Hosted checks and every affected release surface must be recorded separately.

@netlify

netlify Bot commented Jul 13, 2026 •

Copy link
Copy Markdown

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

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

QR Code

Use your smartphone camera to open QR code link.

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

@daliu

daliu commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

Release gate passed for exact head c4d0912. Two independent exact-diff reviews approved. Hosted run 29250794633 passed Frontend lint/build (including 113 Jest + 10 SPA checks), Functions lint/tests (278 passed + 1 emulator-only skip), and the Java-backed Firestore Rules emulator suite. Netlify deploy preview 6a54dce9aaaa4e0008285a27 is ready. Main is still exact base 2c62b8d. This proves source/preview checks only, not Firebase deployment, runtime-control creation, Stripe/provider configuration, or live commerce behavior.

@daliu
daliu merged commit 7c7a41c into main Jul 13, 2026
7 checks passed
@daliu
daliu deleted the codex/issue-151-commerce-admission branch July 13, 2026 12:43
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.

CONFIG-001B1 — Enforce server-only runtime commerce admission controls

1 participant