{"wave":"PR_CLOSEOUT","env":"production","releaseId":"rc-passport-production","adapters":{"adapter":"memory","auth":"demo","notify":"noop","fileStorage":"memory","stripeConfigured":false,"billingLive":false,"durable":false,"productionAuth":false,"notificationsLive":false,"durableFiles":false,"restoreEvidence":false,"pilotEvidence":false},"gates":[{"id":"PR1_DURABLE_DB","title":"Durable database","requiredForWeb":true,"requiredForPaid":true,"status":"FAIL","evidence":"DATABASE_ADAPTER=memory"},{"id":"PR1_RESTORE","title":"Backup / restore evidence","requiredForWeb":true,"requiredForPaid":true,"status":"FAIL","evidence":"No signed restore artifact"},{"id":"PR2_AUTH","title":"Production identity","requiredForWeb":true,"requiredForPaid":true,"status":"FAIL","evidence":"AUTH_PROVIDER=demo"},{"id":"PR3_ASSET_PERSIST","title":"Real asset persistence","requiredForWeb":true,"requiredForPaid":true,"status":"FAIL","evidence":"Demo seed in memory is not a real machine Passport"},{"id":"PR4_EMAIL","title":"Transactional email","requiredForWeb":true,"requiredForPaid":true,"status":"FAIL","evidence":"NOTIFICATION_DRIVER=noop"},{"id":"PR4_SUPPORT","title":"Support / observability","requiredForWeb":true,"requiredForPaid":true,"status":"PARTIAL","evidence":"Worker observability on; no production inbox or restore-backed support lookup"},{"id":"PR5_STRIPE","title":"Stripe paid entitlement","requiredForWeb":false,"requiredForPaid":true,"status":"NOT_REQUIRED","evidence":"Stripe NOT_CONFIGURED; web GO does not require paid launch"},{"id":"PR6_PILOT","title":"Real-user pilot","requiredForWeb":true,"requiredForPaid":true,"status":"FAIL","evidence":"PP-REAL-USER-PILOT open; demo seed is not a pilot"},{"id":"PR8_SHOPIFY","title":"Shopify commerce healthy","requiredForWeb":true,"requiredForPaid":true,"status":"PASS","evidence":"https://thecleaningbusiness.com/ remains commerce SOR"},{"id":"PR8_NO_OPEN_P0","title":"No open P0","requiredForWeb":true,"requiredForPaid":true,"status":"PASS","evidence":"Open launch defects are P1 (DEF-002 pilot), not P0"},{"id":"PR8_ROUTE_REGRESSION","title":"Route regression crawl","requiredForWeb":true,"requiredForPaid":true,"status":"PARTIAL","evidence":"GET-only closeout crawl exists; not a signed release attestation"},{"id":"PR8_ROLLBACK","title":"Rollback ready","requiredForWeb":true,"requiredForPaid":true,"status":"PARTIAL","evidence":"Wrangler version rollback exists; cutover decision tree is still HOLD"}],"partials":[{"id":"PP-POSTGRES-RESTORE","bucket":"LAUNCH_BLOCKING","status":"FAIL","note":"Memory adapter. Do not call this production-ready."},{"id":"PP-SSO","bucket":"LAUNCH_BLOCKING","status":"FAIL","note":"AUTH_PROVIDER=demo. Demo cookie is not production identity."},{"id":"PP-REAL-ASSET-E2E","bucket":"LAUNCH_BLOCKING","status":"FAIL","note":"PR3 zip was not applied as a live persist path. Seed equipment wipes on deploy."},{"id":"PP-NOTIFICATIONS","bucket":"LAUNCH_BLOCKING","status":"FAIL","note":"noop driver. Do not promise alerts."},{"id":"PP-REAL-USER-PILOT","bucket":"LAUNCH_BLOCKING","status":"FAIL","note":"Open P1 DEF-002."},{"id":"PP-BILLING-STRIPE","bucket":"POST_LAUNCH_P1","status":"NOT_CONFIGURED","note":"Paid launch is optional for web GO. Checkout stays fail-closed."},{"id":"PP-APP-STORES","bucket":"DEFERRED","status":"NOT_REQUIRED","note":"Native listings are not required for web GO if the router says unpublished."},{"id":"PP-AI","bucket":"DEFERRED","status":"NOT_REQUIRED","note":"Kill switch remains off."},{"id":"PP-SECOND-BRAND","bucket":"DEFERRED","status":"NOT_REQUIRED","note":"Equipment Forge / Vecur Home stay blocked."},{"id":"PP-R4-VISUAL","bucket":"V1_1","status":"PARTIAL","note":"Visual conversion shipped. It does not verify implementation rows."}],"cutover":[{"phase":"T-7","item":"DB provisioned","status":"FAIL"},{"phase":"T-7","item":"Restore tested","status":"FAIL"},{"phase":"T-7","item":"Auth configured","status":"FAIL"},{"phase":"T-7","item":"Email configured","status":"FAIL"},{"phase":"T-7","item":"Pilot completed","status":"FAIL"},{"phase":"T-7","item":"Stripe explicit ON or OFF","status":"OFF"},{"phase":"T-1","item":"Rollback decision tree","status":"PARTIAL"},{"phase":"T0","item":"Do not cut over while gates fail","status":"HOLD"}],"routes":["/","/passport/signup","/passport/welcome","/passport/app-download","/passport/app","/passport/privacy","/passport/status","/passport/launch","/passport/handoff","/passport/closeout","/passport/web-go","/api/v1/ops/closeout","/api/v1/ops/web-go","/api/v1/ops/launch"],"decision":"HOLD_PRODUCTION","launchDecisionUnchanged":"CONDITIONAL_GO","productionAccepted":false,"paidGo":"HOLD_PAID","webFailed":["PR1_DURABLE_DB","PR1_RESTORE","PR2_AUTH","PR3_ASSET_PERSIST","PR4_EMAIL","PR4_SUPPORT","PR6_PILOT","PR8_ROUTE_REGRESSION","PR8_ROLLBACK"],"paidFailed":["PR1_DURABLE_DB","PR1_RESTORE","PR2_AUTH","PR3_ASSET_PERSIST","PR4_EMAIL","PR4_SUPPORT","PR6_PILOT","PR8_ROUTE_REGRESSION","PR8_ROLLBACK"],"reason":"GO and PRODUCTION_ACCEPTED require executable evidence for every web gate. Current adapters remain memory / demo / noop.","claimsForbidden":["GO","PRODUCTION_ACCEPTED","memory is production-ready","demo auth is production identity","demo seed is a real-user pilot","alerts while NOTIFICATION_DRIVER=noop","paid entitlement from query params"]}