{
  "ok": true,
  "contractId": "local.casterfarcasteragent-static-shell-isolation.v0",
  "status": "blocked_external",
  "mode": "live_vercel_static_casterfarcasteragent_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": "/casterfarcasteragent",
    "miniapp": "/miniapps/casterfarcasteragent",
    "source": "/api/farcaster-caster-agent",
    "webhook": "/api/farcaster-caster-agent/webhook",
    "api": [
      "/api/casterfarcasteragent/overview",
      "/api/casterfarcasteragent/tick",
      "/api/casterfarcasteragent/webhook",
      "/api/casterfarcasteragent/catchup",
      "/api/casterfarcasteragent/signer",
      "/api/casterfarcasteragent/hub",
      "/api/casterfarcasteragent/tips",
      "/api/casterfarcasteragent/rate-limits",
      "/api/casterfarcasteragent/queue",
      "/api/casterfarcasteragent/planner",
      "/api/casterfarcasteragent/api",
      "/api/casterfarcasteragent/qstorage",
      "/api/casterfarcasteragent/event-log",
      "/api/casterfarcasteragent/rollback"
    ],
    "status": "/api/casterfarcasteragent/status"
  },
  "metrics": [
    {
      "label": "Tick",
      "value": "read-only",
      "status": "blocked_external"
    },
    {
      "label": "Webhook",
      "value": "disabled",
      "status": "blocked_external"
    },
    {
      "label": "Replies",
      "value": "disabled",
      "status": "blocked_external"
    },
    {
      "label": "Storage",
      "value": "no writes",
      "status": "blocked_external"
    }
  ],
  "lanes": [
    {
      "id": "tick",
      "title": "Cron tick and catch-up",
      "summary": "Read-only shell for scheduled agent ticks, public cast catch-up, candidate discovery, and dry-run visibility. Live processing stays disabled until strict runtime evidence passes.",
      "status": "blocked_external"
    },
    {
      "id": "webhook",
      "title": "Webhook and rate limits",
      "summary": "Hypersnap webhook intake, signature verification, rate limits, and owned lock state are visible but cannot process live payloads in this fallback.",
      "status": "blocked_external"
    },
    {
      "id": "publish",
      "title": "Signer, Hub, replies, and tips",
      "summary": "Signer custody, Farcaster Hub submission, reply publish, and CASTER tip ledger writes require accepted credentials and deterministic evidence.",
      "status": "blocked_external"
    },
    {
      "id": "proofs",
      "title": "Queue, planner, QStorage, event log, and rollback",
      "summary": "Queue dispatch, planner mutation, QStorage publication, append-only Caster event log, and rollback require accepted evidence.",
      "status": "blocked_external"
    }
  ],
  "blockers": [
    "No accepted full Next Caster Farcaster Agent build/typecheck receipt exists for this standalone fallback.",
    "No accepted shared Reown identity, wallet auth, Farcaster mini app runtime, cron tick, webhook, catch-up, signer, Hub submit, tip ledger, rate-limit, queue, planner, QStorage, event log, or rollback runtime receipt exists.",
    "No signed @casterchain Farcaster accountAssociation exists for casterfarcasteragent.vercel.app.",
    "No cron tick, webhook processing, cast catch-up, reply publish, signer use, Hub submit, tip ledger write, rate-limit mutation, queue dispatch, planner mutation, QStorage write, event-log append, rollback, wallet signature, public announcement, or production datastore mutation is allowed from this fallback."
  ]
}
