{
  "ok": true,
  "contractId": "local.casterfarcasterchannelinvites-static-shell-isolation.v0",
  "status": "blocked_external",
  "mode": "live_vercel_static_casterfarcasterchannelinvites_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": "/casterfarcasterchannelinvites",
    "miniapp": "/miniapps/casterfarcasterchannelinvites",
    "source": "/api/farcaster-channel-invites",
    "api": [
      "/api/casterfarcasterchannelinvites/overview",
      "/api/casterfarcasterchannelinvites/public-request",
      "/api/casterfarcasterchannelinvites/queue",
      "/api/casterfarcasterchannelinvites/tick",
      "/api/casterfarcasterchannelinvites/readiness",
      "/api/casterfarcasterchannelinvites/dashboard",
      "/api/casterfarcasterchannelinvites/reconciliation",
      "/api/casterfarcasterchannelinvites/membership",
      "/api/casterfarcasterchannelinvites/agents",
      "/api/casterfarcasterchannelinvites/signer",
      "/api/casterfarcasterchannelinvites/hub",
      "/api/casterfarcasterchannelinvites/rate-limits",
      "/api/casterfarcasterchannelinvites/consent",
      "/api/casterfarcasterchannelinvites/api",
      "/api/casterfarcasterchannelinvites/qstorage",
      "/api/casterfarcasterchannelinvites/event-log",
      "/api/casterfarcasterchannelinvites/rollback"
    ],
    "status": "/api/casterfarcasterchannelinvites/status"
  },
  "metrics": [
    {
      "label": "Queue",
      "value": "read-only",
      "status": "blocked_external"
    },
    {
      "label": "Requests",
      "value": "disabled",
      "status": "blocked_external"
    },
    {
      "label": "Replies",
      "value": "disabled",
      "status": "blocked_external"
    },
    {
      "label": "Storage",
      "value": "no writes",
      "status": "blocked_external"
    }
  ],
  "lanes": [
    {
      "id": "queue",
      "title": "Public request and queue",
      "summary": "Read-only shell for opt-in invite requests, queue status, consent validation, and storage visibility. Queue writes stay disabled until strict runtime evidence passes.",
      "status": "blocked_external"
    },
    {
      "id": "tick",
      "title": "Cron tick and reconciliation",
      "summary": "Scheduled queue ticks, Hypersnap readiness, membership reconciliation, and onboarding dashboard surfaces are visible but cannot mutate live state in this fallback.",
      "status": "blocked_external"
    },
    {
      "id": "publish",
      "title": "Agents, signer, Hub, and replies",
      "summary": "Agent selection, signer custody, Farcaster Hub submission, and invite reply publishing require accepted credentials and deterministic evidence.",
      "status": "blocked_external"
    },
    {
      "id": "proofs",
      "title": "Rate limits, QStorage, event log, and rollback",
      "summary": "Rate-limit mutation, consent writes, QStorage publication, append-only Caster event log, and rollback require accepted evidence.",
      "status": "blocked_external"
    }
  ],
  "blockers": [
    "No accepted full Next Caster Farcaster Channel Invites build/typecheck receipt exists for this standalone fallback.",
    "No accepted shared Reown identity, wallet auth, Farcaster mini app runtime, public request intake, Postgres queue, cron tick, readiness, dashboard, membership reconciliation, agent selection, signer, Hub submit, rate-limit, consent, Hypersnap, QStorage, event log, or rollback runtime receipt exists.",
    "No signed @casterchain Farcaster accountAssociation exists for casterfarcasterchannelinvites.vercel.app.",
    "No public request write, cron tick, queue processing, membership reconciliation, reply publish, signer use, Hub submit, rate-limit mutation, consent write, QStorage write, event-log append, rollback, wallet signature, public announcement, or production datastore mutation is allowed from this fallback."
  ]
}
