{
  "appBaseUrl": "https://uat.snedhq.com",
  "appDistributionLane": "uat",
  "appDistributionLaneLabel": "UAT / Boxhill lane",
  "billingChecklistLine": "Shopify billing test mode is effective, as required for UAT / Boxhill acceptance testing.",
  "billingIsTest": true,
  "billingLaneSummary": "Shopify billing test mode is effective for UAT / Boxhill. Real charges are intentionally disabled.",
  "billingReadiness": {
    "status": "configured",
    "summary": "UAT / Boxhill Shopify billing test mode is configured correctly."
  },
  "callbackUrl": "https://uat.snedhq.com/auth/callback",
  "commands": [
    "npx vercel env ls",
    "npx vercel env add CATALOGGUARD_APP_BASE_URL production",
    "npx vercel env add CATALOGGUARD_SHOPIFY_INSTALL_MODE production",
    "npx vercel env add SHOPIFY_APP_HANDLE production",
    "npx vercel env add SHOPIFY_APP_KEY production",
    "npx vercel deploy --prod",
    "pnpm queue:list"
  ],
  "databaseConfigured": true,
  "deploymentMode": "vercel",
  "environmentVariables": [
    {
      "configured": true,
      "name": "CATALOGGUARD_APP_BASE_URL",
      "required": true
    },
    {
      "configured": true,
      "defaultValue": "public_production",
      "name": "CATALOGGUARD_APP_DISTRIBUTION_LANE",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "24",
      "name": "CATALOGGUARD_AUTOMATED_REFRESH_INTERVAL_HOURS",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "full",
      "name": "CATALOGGUARD_AUTOMATED_REFRESH_SCOPE",
      "required": false
    },
    {
      "configured": false,
      "defaultValue": "/app",
      "name": "CATALOGGUARD_EMBEDDED_APP_PATH",
      "required": false
    },
    {
      "configured": true,
      "name": "CRON_SECRET",
      "required": false
    },
    {
      "configured": false,
      "name": "CRON_SECRET_PRIVILEGED",
      "required": false
    },
    {
      "configured": false,
      "name": "CRON_SECRET_ROUTINE",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "v22.0",
      "name": "META_API_VERSION",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "execute",
      "name": "CATALOGGUARD_META_CATALOG_DELIVERY_MODE",
      "required": false
    },
    {
      "configured": true,
      "name": "META_APP_ID",
      "required": true
    },
    {
      "configured": true,
      "name": "META_APP_SECRET",
      "required": true
    },
    {
      "configured": false,
      "defaultValue": "30",
      "name": "CATALOGGUARD_META_INITIAL_SYNC_LOOKBACK_DAYS",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "/auth/meta/callback",
      "name": "CATALOGGUARD_META_OAUTH_CALLBACK_PATH",
      "required": false
    },
    {
      "configured": true,
      "name": "META_APP_SCOPES",
      "required": true
    },
    {
      "configured": true,
      "defaultValue": "2025-10",
      "name": "SHOPIFY_API_VERSION",
      "required": false
    },
    {
      "configured": false,
      "defaultValue": "manual_sync_only",
      "name": "CATALOGGUARD_PRODUCT_WEBHOOK_INGESTION_MODE",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "manual_only",
      "name": "CATALOGGUARD_SYNC_AUTOMATION_MODE",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "off",
      "name": "CATALOGGUARD_META_DIRECT_ID_DEFAULT_AUTOMATION_SHADOW_MODE",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "skip",
      "name": "CATALOGGUARD_META_DIRECT_ID_DEFAULT_AUTOMATION_PROVIDER_READBACK_MODE",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "off",
      "name": "CATALOGGUARD_META_DIRECT_ID_DEFAULT_AUTOMATION_EXECUTE_MODE",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "legacy_oauth",
      "name": "CATALOGGUARD_SHOPIFY_INSTALL_MODE",
      "required": false
    },
    {
      "configured": true,
      "name": "SHOPIFY_APP_HANDLE",
      "required": true
    },
    {
      "configured": true,
      "name": "SHOPIFY_APP_KEY",
      "required": true
    },
    {
      "configured": true,
      "name": "SHOPIFY_APP_SECRET",
      "required": true
    },
    {
      "configured": true,
      "name": "SHOPIFY_APP_SCOPES",
      "required": true
    },
    {
      "configured": true,
      "defaultValue": "/auth/callback",
      "name": "CATALOGGUARD_OAUTH_CALLBACK_PATH",
      "required": false
    },
    {
      "configured": false,
      "defaultValue": "catalogguard_oauth_state",
      "name": "CATALOGGUARD_OAUTH_STATE_COOKIE_NAME",
      "required": false
    },
    {
      "configured": true,
      "name": "CATALOGGUARD_OAUTH_STATE_SECRET",
      "required": true
    },
    {
      "configured": false,
      "defaultValue": "600000",
      "name": "CATALOGGUARD_OAUTH_STATE_TTL_MS",
      "required": false
    },
    {
      "configured": true,
      "name": "CATALOGGUARD_TOKEN_ENCRYPTION_SECRET",
      "required": true
    },
    {
      "configured": true,
      "defaultValue": "CatalogGuard Starter",
      "name": "CATALOGGUARD_BILLING_PLAN_NAME",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "49",
      "name": "CATALOGGUARD_BILLING_AMOUNT_USD",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "USD",
      "name": "CATALOGGUARD_BILLING_CURRENCY_CODE",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "EVERY_30_DAYS",
      "name": "CATALOGGUARD_BILLING_INTERVAL",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "true",
      "name": "CATALOGGUARD_BILLING_IS_TEST",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "7",
      "name": "CATALOGGUARD_BILLING_TRIAL_DAYS",
      "required": false
    },
    {
      "configured": false,
      "defaultValue": "30",
      "name": "CATALOGGUARD_SHOPIFY_INITIAL_ORDER_SYNC_LOOKBACK_DAYS",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "false",
      "name": "CATALOGGUARD_SHOPIFY_OAUTH_CALLBACK_ENTRY_DEBUG_ENABLED",
      "required": false
    },
    {
      "configured": true,
      "defaultValue": "false",
      "name": "CATALOGGUARD_SHOPIFY_OAUTH_CALLBACK_HMAC_DEBUG_ENABLED",
      "required": false
    }
  ],
  "founderTrialReadiness": {
    "checklist": [
      {
        "detail": "The web runtime, setup diagnostics, and current operational checks are healthy enough for a founder-led trial.",
        "status": "ready",
        "title": "Runtime and diagnostics"
      },
      {
        "detail": "UAT / Boxhill is correctly using Shopify billing test mode, so acceptance testing cannot create real charges.",
        "status": "info",
        "title": "Lane expectation"
      },
      {
        "detail": "This deployment is configured for Shopify-managed installation and token exchange. Embedded entry and protected app routes now require managed admin session establishment before CatalogGuard marks Shopify Admin as openable, but hosted install rollout still depends on matching Shopify app configuration and a real store smoke pass.",
        "status": "info",
        "title": "Shopify install mode"
      },
      {
        "detail": "Confirm Shopify and Meta point at https://uat.snedhq.com/auth/callback and https://uat.snedhq.com/auth/meta/callback before install/connect walkthroughs.",
        "status": "ready",
        "title": "Callback readiness"
      },
      {
        "detail": "Keep `/status`, `/health`, and `pnpm queue:list` available during the trial so support and recovery checks stay quick.",
        "status": "ready",
        "title": "Support posture"
      }
    ],
    "status": "ready",
    "summary": "This deployment is ready for repeated founder demos and internal trial walkthroughs."
  },
  "metaCallbackUrl": "https://uat.snedhq.com/auth/meta/callback",
  "operationalReadiness": {
    "checks": [
      {
        "detail": "Database queries completed successfully for runtime diagnostics.",
        "name": "database",
        "status": "ready"
      },
      {
        "detail": "Pending, retry, and processing job counts are within the current operational thresholds.",
        "name": "worker_queue",
        "status": "ready"
      }
    ],
    "latestSignals": {
      "latestDeadLetterCompletedAtIso": null,
      "latestJobCreatedAtIso": "2026-09-13T12:15:19.663Z",
      "oldestOpenJobCreatedAtIso": null,
      "oldestProcessingStartedAtIso": null
    },
    "operatorActions": [
      "No immediate recovery action is required.",
      "Keep `/status` and worker logs available during demos, trials, and deploy smoke checks."
    ],
    "queueHealthSummary": {
      "completed": 226351,
      "deadLetter": 0,
      "pending": 0,
      "processing": 0,
      "retryScheduled": 0
    },
    "status": "ready",
    "summary": "Database diagnostics succeeded and the worker queue is within the current operational thresholds."
  },
  "requiredServices": [
    "Shopify app configuration",
    "Meta app configuration",
    "Postgres database",
    "Web runtime",
    "Worker runtime"
  ],
  "routes": {
    "health": "/health",
    "app": "/app?shop=your-store.myshopify.com",
    "metaConnect": "/auth/meta/connect?shop=your-store.myshopify.com",
    "status": "/status"
  },
  "shopifyInstallChecklistLine": "Open the embedded app in Shopify Admin or load /app?shop=your-store.myshopify.com when validating the managed embedded entry flow.",
  "shopifyInstallMode": "shopify_managed",
  "shopifyInstallModeLabel": "Shopify-managed install and session mode",
  "shopifyInstallModeSummary": "This deployment is configured for Shopify-managed install and token exchange. Managed embedded entry and protected route authority now rely on managed admin session establishment, while hosted rollout still requires aligned Shopify app configuration and store-level validation.",
  "status": "ready",
  "summary": "The web runtime is configured and can serve install, callback, and webhook routes."
}