{"timestamp":"2026-06-10T07:14:22.671Z","deploy":{"publicBaseUrl":"https://reviews.virtualcarry.com","nodeEnv":"production","vercelEnv":"production","commit":"9d17efb"},"overall":{"allCodeDeployed":true,"dbMigrated":true,"demoMode":false,"livePhases":6,"demoPhases":0,"partialPhases":1,"totalPhases":7},"phases":[{"phase":1,"name":"Core review-gate spine","code":"live","notes":"32 tokens, 5 tenants, AIQ key + OpenAI key required for live ops"},{"phase":2,"name":"POS adapters (Dispense/Treez/Flowhub/Dutchie/AIQ-fallback)","code":"live","notes":"Adapters compiled in registry; per-tenant credentials needed in stores.pos_credentials_encrypted"},{"phase":3,"name":"Super-admin (impersonate, metrics, health, kill switches)","code":"live","notes":"audit_log, global_config singleton, impersonation API all live"},{"phase":4,"name":"Google reviews ingestion + 3-tier name matcher","code":"partial","notes":"SCRAPER_BASE_URL + SCRAPER_SHARED_SECRET not configured — matcher works on any seeded data"},{"phase":5,"name":"Daily rollup + budtender leaderboard","code":"live","notes":"Rollup SQL ready; runs nightly via /api/cron/rollup-metrics"},{"phase":6,"name":"Auto-reply + competitor intel","code":"live","notes":"GMB OAuth configured, 0 drafts on queue"},{"phase":7,"name":"MCP server (programmatic control)","code":"live","notes":"1 active tokens; endpoint at /api/mcp"}],"counts":{"businesses":5,"stores":5,"customers":18936,"orders":56,"reviewTokens":32,"googleReviews":1284,"replyDrafts":0,"mcpTokens":1,"personas":7}}