{
  "ok": true,
  "contractId": "local.castercloud-static-shell-isolation.v0",
  "status": "blocked_external",
  "mode": "live_vercel_static_castercloud_with_runtime_blocker_gates",
  "publicReadinessStatus": "blocked_external",
  "runtimeVisibilityStatus": "passed",
  "localOnly": false,
  "staticFallback": true,
  "writeAccepted": false,
  "liveMutationAllowed": false,
  "productionReady": false,
  "commercialReady": false,
  "acceptedAsProductionEvidence": false,
  "surfaces": {
    "web": "/castercloud",
    "miniapp": "/miniapps/castercloud",
    "api": [
      "/api/castercloud/service-manifest",
      "/api/castercloud/public-ingress",
      "/api/castercloud/route-adapter",
      "/api/castercloud/deployments",
      "/api/castercloud/receipts",
      "/api/castercloud/billing",
      "/api/castercloud/nodes",
      "/api/castercloud/qstorage",
      "/api/castercloud/event-log",
      "/api/castercloud/rollback"
    ],
    "status": "/api/castercloud/status"
  },
  "metrics": [
    {
      "label": "Identity",
      "value": "Reown shared",
      "status": "blocked_external"
    },
    {
      "label": "Build credits",
      "value": "1000 free",
      "status": "fixture_only"
    },
    {
      "label": "Public ingress",
      "value": "read-only",
      "status": "blocked_external"
    },
    {
      "label": "Live deploys",
      "value": "blocked",
      "status": "blocked_external"
    }
  ],
  "lanes": [
    {
      "id": "service-manifest",
      "title": "Service manifest",
      "summary": "Caster Cloud service metadata is readable before any live hosted runtime or datastore mutation is accepted.",
      "status": "blocked_external"
    },
    {
      "id": "public-ingress",
      "title": "Public ingress",
      "summary": "The public app-cloud gateway remains a route contract until ingress, TLS, rate-limit, and rollback receipts pass.",
      "status": "fixture_only"
    },
    {
      "id": "deploy-receipts",
      "title": "Deployment receipts",
      "summary": "Template launches, billing, and deploy receipts stay blocked until wallet-authenticated Base verification exists.",
      "status": "blocked_external"
    },
    {
      "id": "node-pool",
      "title": "Node pool and rollback",
      "summary": "Node pool, QStorage, event-log append, and rollback lanes remain blocked until accepted operator evidence exists.",
      "status": "blocked_external"
    }
  ],
  "blockers": [
    "No accepted full Next Caster Cloud build/typecheck receipt exists for this standalone fallback.",
    "No accepted shared Reown identity, wallet-auth session, or Base billing verifier receipt exists.",
    "No accepted service manifest, public ingress, route adapter, or deployment receipt store evidence exists.",
    "No accepted CasterCloud node pool, QStorage write, event-log append, or rollback receipt exists.",
    "No signed @casterchain Farcaster accountAssociation exists for castercloud.vercel.app.",
    "No live Caster Cloud deployment, billing, node, QStorage, event-log, or production datastore mutation is allowed from this fallback."
  ]
}
