{
  "ok": true,
  "contractId": "local.casterfarcastertip-static-shell-isolation.v0",
  "status": "blocked_external",
  "mode": "live_vercel_static_casterfarcastertip_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": "/casterfarcastertip",
    "miniapp": "/miniapps/casterfarcastertip",
    "source": "/api/farcaster-tip",
    "catalogMiniapp": "/miniapps/caster-tip",
    "snap": "/api/caster-tip/snap",
    "notifications": "/api/caster-tip/notifications",
    "appTipStatus": "/api/caster-app/tip-status",
    "appTipRollups": "/api/caster-app/tip-rollups",
    "internalFanout": "/api/internal/caster-tip-fanout",
    "api": [
      "/api/casterfarcastertip/overview",
      "/api/casterfarcastertip/tip-status",
      "/api/casterfarcastertip/profile",
      "/api/casterfarcastertip/leaderboard",
      "/api/casterfarcastertip/daily-allowance",
      "/api/casterfarcastertip/premium-boost",
      "/api/casterfarcastertip/tip-compose",
      "/api/casterfarcastertip/tip-recording",
      "/api/casterfarcastertip/pending-claim",
      "/api/casterfarcastertip/caster-allocation",
      "/api/casterfarcastertip/cast-proof",
      "/api/casterfarcastertip/weekly-reward",
      "/api/casterfarcastertip/notifications",
      "/api/casterfarcastertip/snap",
      "/api/casterfarcastertip/miniapp",
      "/api/casterfarcastertip/wallet-link",
      "/api/casterfarcastertip/rate-limits",
      "/api/casterfarcastertip/owned-index-cache",
      "/api/casterfarcastertip/api",
      "/api/casterfarcastertip/qstorage",
      "/api/casterfarcastertip/event-log",
      "/api/casterfarcastertip/rollback"
    ],
    "status": "/api/casterfarcastertip/status"
  },
  "metrics": [
    {
      "label": "Daily tips",
      "value": "read-only",
      "status": "blocked_external"
    },
    {
      "label": "Claims",
      "value": "disabled",
      "status": "blocked_external"
    },
    {
      "label": "Leaderboard",
      "value": "read-only",
      "status": "blocked_external"
    },
    {
      "label": "Notifications",
      "value": "blocked",
      "status": "blocked_external"
    }
  ],
  "lanes": [
    {
      "id": "status",
      "title": "Daily allowance, profile, and leaderboard",
      "summary": "Read-only shell for CASTER tip status, profile lookup, daily allowance, premium multiplier, claimable tips, and leaderboard views. Live ledger reads stay blocked until strict evidence passes.",
      "status": "blocked_external"
    },
    {
      "id": "claims",
      "title": "Pending claims and CASTER allocation",
      "summary": "Pending tip-balance claim, CASTER allocation claim, cast proof verification, and weekly leaderboard reward are represented as blocked read-only surfaces.",
      "status": "blocked_external"
    },
    {
      "id": "record",
      "title": "Internal tip recording and notifications",
      "summary": "Internal Farcaster tip recording, idempotent ledger writes, received-tip notifications, balance-restored reminders, and claimable reminders require accepted internal auth and datastore evidence.",
      "status": "blocked_external"
    },
    {
      "id": "migration",
      "title": "Snap, wallet link, QStorage, event log, rollback",
      "summary": "Snap metadata, Caster Wallet handoff, QStorage publication, append-only Caster event log, and rollback remain blocked until strict migration evidence exists.",
      "status": "blocked_external"
    }
  ],
  "blockers": [
    "No accepted full Next Caster Farcaster Tip build/typecheck receipt exists for this standalone fallback.",
    "No accepted shared Reown identity, wallet auth, Farcaster mini app runtime, tip status, profile lookup, leaderboard, daily allowance, premium boost, tip compose, internal tip recording, pending tip-balance claim, CASTER allocation claim, cast proof verification, weekly leaderboard reward, mini app notifications, snap metadata, wallet link, Postgres, owned index cache, rate limits, Hypersnap, QStorage, event log, or rollback runtime receipt exists.",
    "No signed @casterchain Farcaster accountAssociation exists for casterfarcastertip.vercel.app.",
    "No tip record, pending claim, CASTER allocation claim, weekly reward claim, cast proof verification, notification send, snap mutation, wallet action, rate-limit mutation, QStorage write, event-log append, rollback, public announcement, or production datastore mutation is allowed from this fallback."
  ]
}
