{
  "ok": true,
  "contractId": "local.casterdating-static-shell-isolation.v0",
  "status": "blocked_external",
  "mode": "live_vercel_static_casterdating_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": "/casterdating",
    "legacyWeb": "/xdating",
    "miniapp": "/miniapps/casterdating",
    "api": [
      "/api/casterdating/profile",
      "/api/casterdating/discover",
      "/api/casterdating/swipe",
      "/api/casterdating/matches",
      "/api/casterdating/messages",
      "/api/casterdating/tip",
      "/api/casterdating/spend"
    ],
    "status": "/api/casterdating/status"
  },
  "metrics": [
    {
      "label": "Profiles",
      "value": "read-only",
      "status": "blocked_external"
    },
    {
      "label": "Matching",
      "value": "blocked",
      "status": "blocked_external"
    },
    {
      "label": "Tips/spends",
      "value": "blocked",
      "status": "blocked_external"
    },
    {
      "label": "Live writes",
      "value": "blocked",
      "status": "blocked_external"
    }
  ],
  "lanes": [
    {
      "id": "profile",
      "title": "Profile and identity",
      "summary": "Render the Casterdating surface without mutating live profile, preference, or identity data.",
      "status": "blocked_external"
    },
    {
      "id": "discover",
      "title": "Discovery and matching",
      "summary": "Discovery cards, swipes, matches, and moderation stay blocked until deterministic runtime receipts pass.",
      "status": "blocked_external"
    },
    {
      "id": "payments",
      "title": "Tips and paid utilities",
      "summary": "Tips, super likes, boosts, utility spends, and onchain verification require accepted payment evidence.",
      "status": "blocked_external"
    },
    {
      "id": "miniapp",
      "title": "Farcaster mini app",
      "summary": "Manifest routes exist, but accountAssociation must be signed for this exact Vercel domain.",
      "status": "blocked_external"
    }
  ],
  "blockers": [
    "Full Next Casterdating runtime build/typecheck evidence is missing.",
    "Shared Reown AppKit login and Casterdating identity runtime evidence is missing.",
    "Live profile, discovery, swipe, match, message, and moderation receipts are missing.",
    "Casterdating tip, utility spend, onchain payment verification, entitlement, and rollback receipts are missing.",
    "Signed @casterchain Farcaster accountAssociation for casterdating.vercel.app is missing.",
    "No production datastore, profile, swipe, match, message, tip, utility spend, or payment write is allowed from this fallback."
  ]
}
