{
  "ok": true,
  "contractId": "local.casterminiapps-static-shell-isolation.v0",
  "status": "blocked_external",
  "mode": "live_vercel_static_casterminiapps_with_runtime_blocker_gates",
  "publicReadinessStatus": "blocked_external",
  "runtimeVisibilityStatus": "passed",
  "localOnly": false,
  "staticFallback": true,
  "writeAccepted": false,
  "liveMutationAllowed": false,
  "productionReady": false,
  "acceptedAsProductionEvidence": false,
  "miniAppCount": 13,
  "sampleMiniAppSlugs": [
    "caster-attendance",
    "caster-pulse-tap",
    "caster-grid-quest",
    "caster-school-quiz",
    "caster-creator-spark",
    "caster-rally-invite",
    "caster-market-signal",
    "caster-id-lock",
    "caster-builder-board",
    "caster-guard-check",
    "caster-memory-match",
    "caster-tip",
    "casteragents"
  ],
  "surfaces": {
    "web": "/casterminiapps",
    "sourceWeb": "/miniapps",
    "legacyWeb": "/farcaster-miniapps",
    "miniapp": "/miniapps/casterminiapps",
    "miniAppRoutes": [
      "/miniapps/caster-attendance",
      "/miniapps/caster-pulse-tap",
      "/miniapps/caster-grid-quest",
      "/miniapps/caster-school-quiz",
      "/miniapps/caster-creator-spark",
      "/miniapps/caster-rally-invite",
      "/miniapps/caster-market-signal",
      "/miniapps/caster-id-lock",
      "/miniapps/caster-builder-board",
      "/miniapps/caster-guard-check",
      "/miniapps/caster-memory-match",
      "/miniapps/caster-tip",
      "/miniapps/casteragents"
    ],
    "standaloneRoutes": [
      "/casterminiapps/caster-attendance",
      "/casterminiapps/caster-pulse-tap",
      "/casterminiapps/caster-grid-quest",
      "/casterminiapps/caster-school-quiz",
      "/casterminiapps/caster-creator-spark",
      "/casterminiapps/caster-rally-invite",
      "/casterminiapps/caster-market-signal",
      "/casterminiapps/caster-id-lock",
      "/casterminiapps/caster-builder-board",
      "/casterminiapps/caster-guard-check",
      "/casterminiapps/caster-memory-match",
      "/casterminiapps/caster-tip",
      "/casterminiapps/casteragents"
    ],
    "api": [
      "/api/casterminiapps/catalog",
      "/api/casterminiapps/attendance",
      "/api/casterminiapps/challenge",
      "/api/casterminiapps/proof",
      "/api/casterminiapps/claim",
      "/api/casterminiapps/rewards",
      "/api/casterminiapps/wallet",
      "/api/casterminiapps/manifests",
      "/api/casterminiapps/agents"
    ],
    "status": "/api/casterminiapps/status"
  },
  "metrics": [
    {
      "label": "Mini apps indexed",
      "value": "13",
      "status": "blocked_external"
    },
    {
      "label": "Proof runtime",
      "value": "blocked",
      "status": "blocked_external"
    },
    {
      "label": "Reward claims",
      "value": "blocked",
      "status": "blocked_external"
    },
    {
      "label": "Ledger writes",
      "value": "blocked",
      "status": "blocked_external"
    }
  ],
  "lanes": [
    {
      "id": "catalog",
      "title": "Mini app catalog",
      "summary": "Expose the 13-mini-app Caster directory for navigation without accepting reward writes.",
      "status": "blocked_external"
    },
    {
      "id": "proofs",
      "title": "Proof and challenge runtime",
      "summary": "Farcaster QuickAuth, Hypersnap follow/cast proof, challenge sessions, and anti-replay remain blocked until runtime receipts pass.",
      "status": "blocked_external"
    },
    {
      "id": "rewards",
      "title": "Claims and ledger",
      "summary": "Caster Wallet claims, $CASTER ledger settlement, datastore writes, and rollback receipts require strict evidence first.",
      "status": "blocked_external"
    },
    {
      "id": "miniapp",
      "title": "Farcaster mini app",
      "summary": "Manifest routes exist, but accountAssociation must be signed for casterminiapps.vercel.app.",
      "status": "blocked_external"
    }
  ],
  "blockers": [
    "Full Next Caster Mini Apps build/typecheck evidence is missing.",
    "Shared Reown AppKit login, Farcaster QuickAuth, and wallet-auth runtime evidence is missing.",
    "Mini app challenge runtime, Hypersnap follow/cast proof, Caster Wallet claim, reward-ledger, and anti-replay receipts are missing.",
    "No authenticated wallet, challenge session, reward claim, ledger append, Base transaction, or production datastore mutation is allowed from this fallback.",
    "Signed @casterchain Farcaster accountAssociation for casterminiapps.vercel.app is missing.",
    "Public Farcaster/Twitter announcement is blocked until runtime evidence and Farcaster accountAssociation pass."
  ]
}
