Production closeout
HOLD_PRODUCTION — not PRODUCTION_ACCEPTED. Launch remains CONDITIONAL_GO.
Machine-readable closeout state
GO and PRODUCTION_ACCEPTED require executable evidence for every web gate. Current adapters remain memory / demo / noop.
Hard gates
| Gate | Web | Paid | Status | Evidence |
|---|---|---|---|---|
| Durable database | yes | yes | FAIL | DATABASE_ADAPTER=memory |
| Backup / restore evidence | yes | yes | FAIL | No signed restore artifact |
| Production identity | yes | yes | FAIL | AUTH_PROVIDER=demo |
| Real asset persistence | yes | yes | FAIL | Demo seed in memory is not a real machine Passport |
| Transactional email | yes | yes | FAIL | NOTIFICATION_DRIVER=noop |
| Support / observability | yes | yes | PARTIAL | Worker observability on; no production inbox or restore-backed support lookup |
| Stripe paid entitlement | no | yes | NOT_REQUIRED | Stripe NOT_CONFIGURED; web GO does not require paid launch |
| Real-user pilot | yes | yes | FAIL | PP-REAL-USER-PILOT open; demo seed is not a pilot |
| Shopify commerce healthy | yes | yes | PASS | https://thecleaningbusiness.com/ remains commerce SOR |
| No open P0 | yes | yes | PASS | Open launch defects are P1 (DEF-002 pilot), not P0 |
| Route regression crawl | yes | yes | PARTIAL | GET-only closeout crawl exists; not a signed release attestation |
| Rollback ready | yes | yes | PARTIAL | Wrangler version rollback exists; cutover decision tree is still HOLD |
Launch-critical partials
| ID | Bucket | Status | Note |
|---|---|---|---|
| PP-POSTGRES-RESTORE | LAUNCH_BLOCKING | FAIL | Memory adapter. Do not call this production-ready. |
| PP-SSO | LAUNCH_BLOCKING | FAIL | AUTH_PROVIDER=demo. Demo cookie is not production identity. |
| PP-REAL-ASSET-E2E | LAUNCH_BLOCKING | FAIL | PR3 zip was not applied as a live persist path. Seed equipment wipes on deploy. |
| PP-NOTIFICATIONS | LAUNCH_BLOCKING | FAIL | noop driver. Do not promise alerts. |
| PP-REAL-USER-PILOT | LAUNCH_BLOCKING | FAIL | Open P1 DEF-002. |
| PP-BILLING-STRIPE | POST_LAUNCH_P1 | NOT_CONFIGURED | Paid launch is optional for web GO. Checkout stays fail-closed. |
| PP-APP-STORES | DEFERRED | NOT_REQUIRED | Native listings are not required for web GO if the router says unpublished. |
| PP-AI | DEFERRED | NOT_REQUIRED | Kill switch remains off. |
| PP-SECOND-BRAND | DEFERRED | NOT_REQUIRED | Equipment Forge / Vecur Home stay blocked. |
| PP-R4-VISUAL | V1_1 | PARTIAL | Visual conversion shipped. It does not verify implementation rows. |
PR3 scan identity: unknown model, duplicate serial, revoked tag, and camera fallback resolve without persisting or asserting manufacturer specs.
Cutover
- T-7: DB provisioned — FAIL
- T-7: Restore tested — FAIL
- T-7: Auth configured — FAIL
- T-7: Email configured — FAIL
- T-7: Pilot completed — FAIL
- T-7: Stripe explicit ON or OFF — OFF
- T-1: Rollback decision tree — PARTIAL
- T0: Do not cut over while gates fail — HOLD