{
  "ok": true,
  "request_id": "req_b350bd4f92b44759ac53b9d8c955584b",
  "data": {
    "status_label": "external IDE backend product surface implemented; live-client/runtime proof remaining",
    "claim_status_label": "Public all-client live-tested claim blocked until missing evidence is recorded",
    "product_split": {
      "platform_core_api": "agent backend and OpenAI-compatible IDE gateway",
      "forgenkiln_com": "onboarding, docs, dashboard, receipts, trust surface, and tips-only support CTA",
      "ide_clients": "connect directly to platform-core-api /v1 with a scoped virtual API key"
    },
    "urls": {
      "openai_compatible_base_url": "https://platform-core-api.tashdid.workers.dev/v1",
      "models": "https://platform-core-api.tashdid.workers.dev/v1/models",
      "chat_completions": "https://platform-core-api.tashdid.workers.dev/v1/chat/completions",
      "completions": "https://platform-core-api.tashdid.workers.dev/v1/completions",
      "embeddings": "https://platform-core-api.tashdid.workers.dev/v1/embeddings",
      "mcp_broker": "https://platform-core-api.tashdid.workers.dev/api/v1/mcp",
      "forgenkiln_dashboard": "https://forgenkiln.com/ide-backend",
      "public_status": "https://platform-core-api.tashdid.workers.dev/api/v1/public/ide-backend/status",
      "public_claim_pack": "https://platform-core-api.tashdid.workers.dev/api/v1/public/ide-backend/claim-pack"
    },
    "supported_clients": [
      "cline",
      "opencode",
      "continue",
      "hermes",
      "generic-openai-compatible"
    ],
    "implemented_surfaces": [
      "OpenAI-compatible /v1 model discovery, chat, completions, embeddings, and streaming SSE",
      "virtual IDE API keys with scopes, budgets, revocation, rotation, model allowlists, and one-time secret display",
      "Forgenkiln bridge for onboarding, setup snippets, usage receipts, cost summaries, doctor checks, and tips-only support payloads",
      "MCP Streamable HTTP broker surface under /api/v1/mcp",
      "runtime/daemon/sandbox routes behind explicit scopes, proof checks, permissions, and audit/session events",
      "browser workspace metadata, queued file/terminal operations, snapshots, rollback requests, and preview contracts",
      "live-client evidence ledger, required-proof matrix, evidence report script, and public claim gate"
    ],
    "evidence_requirements": [
      {
        "client_kind": "cline",
        "proof_type": "model_only_chat",
        "label": "Cline model-only chat"
      },
      {
        "client_kind": "cline",
        "proof_type": "streaming_chat",
        "label": "Cline streaming chat"
      },
      {
        "client_kind": "cline",
        "proof_type": "tool_call_passthrough",
        "label": "Cline tool-call passthrough"
      },
      {
        "client_kind": "cline",
        "proof_type": "mcp_broker",
        "label": "Cline MCP broker"
      },
      {
        "client_kind": "opencode",
        "proof_type": "custom_provider_chat",
        "label": "OpenCode custom provider chat"
      },
      {
        "client_kind": "opencode",
        "proof_type": "tool_call_passthrough",
        "label": "OpenCode tool-call passthrough"
      },
      {
        "client_kind": "opencode",
        "proof_type": "mcp_broker",
        "label": "OpenCode MCP broker"
      },
      {
        "client_kind": "continue",
        "proof_type": "chat_edit_apply",
        "label": "Continue chat/edit/apply"
      },
      {
        "client_kind": "continue",
        "proof_type": "autocomplete",
        "label": "Continue autocomplete"
      },
      {
        "client_kind": "continue",
        "proof_type": "embedding_context",
        "label": "Continue embeddings/context"
      },
      {
        "client_kind": "continue",
        "proof_type": "agent_mcp",
        "label": "Continue Agent mode MCP"
      },
      {
        "client_kind": "hermes",
        "proof_type": "custom_provider_chat",
        "label": "Hermes custom provider chat"
      },
      {
        "client_kind": "hermes",
        "proof_type": "goal_judge",
        "label": "Hermes /goal judge"
      }
    ],
    "public_claim_policy": {
      "public_claim_allowed": false,
      "approved_claims": [
        "Forgenkiln provides an at-cost Cloudflare-native backend surface for OpenAI-compatible coding clients.",
        "The backend setup flow, key management, receipts, runtime bridge, and live-client evidence matrix are implemented.",
        "Specific live-tested client claims are pending until the missing evidence rows are recorded."
      ],
      "blocked_claims": [
        "Cline, OpenCode, Continue, and Hermes have all been manually live-tested.",
        "All supported IDE clients have completed live-client proof.",
        "The external IDE backend is live-client proof complete."
      ],
      "missing_proof_commands": [
        {
          "client_kind": "cline",
          "proof_type": "model_only_chat",
          "label": "Cline model-only chat",
          "command": "IDE_CLIENT_KIND=cline IDE_PROOF_TYPE=model_only_chat IDE_PROOF_STATUS=passed IDE_PROOF_REQUEST_ID=<receipt-request-id> IDE_PROOF_SUMMARY=\"<summary>\" npm run cursor:ide-record-evidence"
        },
        {
          "client_kind": "cline",
          "proof_type": "streaming_chat",
          "label": "Cline streaming chat",
          "command": "IDE_CLIENT_KIND=cline IDE_PROOF_TYPE=streaming_chat IDE_PROOF_STATUS=passed IDE_PROOF_REQUEST_ID=<receipt-request-id> IDE_PROOF_SUMMARY=\"<summary>\" npm run cursor:ide-record-evidence"
        },
        {
          "client_kind": "cline",
          "proof_type": "tool_call_passthrough",
          "label": "Cline tool-call passthrough",
          "command": "IDE_CLIENT_KIND=cline IDE_PROOF_TYPE=tool_call_passthrough IDE_PROOF_STATUS=passed IDE_PROOF_REQUEST_ID=<receipt-request-id> IDE_PROOF_SUMMARY=\"<summary>\" npm run cursor:ide-record-evidence"
        },
        {
          "client_kind": "cline",
          "proof_type": "mcp_broker",
          "label": "Cline MCP broker",
          "command": "IDE_CLIENT_KIND=cline IDE_PROOF_TYPE=mcp_broker IDE_PROOF_STATUS=passed IDE_PROOF_REQUEST_ID=<receipt-request-id> IDE_PROOF_SUMMARY=\"<summary>\" npm run cursor:ide-record-evidence"
        },
        {
          "client_kind": "opencode",
          "proof_type": "custom_provider_chat",
          "label": "OpenCode custom provider chat",
          "command": "IDE_CLIENT_KIND=opencode IDE_PROOF_TYPE=custom_provider_chat IDE_PROOF_STATUS=passed IDE_PROOF_REQUEST_ID=<receipt-request-id> IDE_PROOF_SUMMARY=\"<summary>\" npm run cursor:ide-record-evidence"
        },
        {
          "client_kind": "opencode",
          "proof_type": "tool_call_passthrough",
          "label": "OpenCode tool-call passthrough",
          "command": "IDE_CLIENT_KIND=opencode IDE_PROOF_TYPE=tool_call_passthrough IDE_PROOF_STATUS=passed IDE_PROOF_REQUEST_ID=<receipt-request-id> IDE_PROOF_SUMMARY=\"<summary>\" npm run cursor:ide-record-evidence"
        },
        {
          "client_kind": "opencode",
          "proof_type": "mcp_broker",
          "label": "OpenCode MCP broker",
          "command": "IDE_CLIENT_KIND=opencode IDE_PROOF_TYPE=mcp_broker IDE_PROOF_STATUS=passed IDE_PROOF_REQUEST_ID=<receipt-request-id> IDE_PROOF_SUMMARY=\"<summary>\" npm run cursor:ide-record-evidence"
        },
        {
          "client_kind": "continue",
          "proof_type": "chat_edit_apply",
          "label": "Continue chat/edit/apply",
          "command": "IDE_CLIENT_KIND=continue IDE_PROOF_TYPE=chat_edit_apply IDE_PROOF_STATUS=passed IDE_PROOF_REQUEST_ID=<receipt-request-id> IDE_PROOF_SUMMARY=\"<summary>\" npm run cursor:ide-record-evidence"
        },
        {
          "client_kind": "continue",
          "proof_type": "autocomplete",
          "label": "Continue autocomplete",
          "command": "IDE_CLIENT_KIND=continue IDE_PROOF_TYPE=autocomplete IDE_PROOF_STATUS=passed IDE_PROOF_REQUEST_ID=<receipt-request-id> IDE_PROOF_SUMMARY=\"<summary>\" npm run cursor:ide-record-evidence"
        },
        {
          "client_kind": "continue",
          "proof_type": "embedding_context",
          "label": "Continue embeddings/context",
          "command": "IDE_CLIENT_KIND=continue IDE_PROOF_TYPE=embedding_context IDE_PROOF_STATUS=passed IDE_PROOF_REQUEST_ID=<receipt-request-id> IDE_PROOF_SUMMARY=\"<summary>\" npm run cursor:ide-record-evidence"
        },
        {
          "client_kind": "continue",
          "proof_type": "agent_mcp",
          "label": "Continue Agent mode MCP",
          "command": "IDE_CLIENT_KIND=continue IDE_PROOF_TYPE=agent_mcp IDE_PROOF_STATUS=passed IDE_PROOF_REQUEST_ID=<receipt-request-id> IDE_PROOF_SUMMARY=\"<summary>\" npm run cursor:ide-record-evidence"
        },
        {
          "client_kind": "hermes",
          "proof_type": "custom_provider_chat",
          "label": "Hermes custom provider chat",
          "command": "IDE_CLIENT_KIND=hermes IDE_PROOF_TYPE=custom_provider_chat IDE_PROOF_STATUS=passed IDE_PROOF_REQUEST_ID=<receipt-request-id> IDE_PROOF_SUMMARY=\"<summary>\" npm run cursor:ide-record-evidence"
        },
        {
          "client_kind": "hermes",
          "proof_type": "goal_judge",
          "label": "Hermes /goal judge",
          "command": "IDE_CLIENT_KIND=hermes IDE_PROOF_TYPE=goal_judge IDE_PROOF_STATUS=passed IDE_PROOF_REQUEST_ID=<receipt-request-id> IDE_PROOF_SUMMARY=\"<summary>\" npm run cursor:ide-record-evidence"
        }
      ],
      "operator_next_step": "Run the missing client proofs and record each receipt or artifact with npm run cursor:ide-record-evidence."
    },
    "safety_invariants": [
      "tool execution is denied by default unless routed through approved MCP, daemon, sandbox, or client-local paths",
      "prompt contents are redacted from audit/model invocation metadata by default",
      "revoked or over-budget keys fail before provider or runtime spend",
      "expensive operations reserve, commit, or release budget and emit audit/session events",
      "specific live-tested client claims require recorded evidence rows and are not inferred from implementation alone"
    ],
    "notes": [
      "This public endpoint does not expose tenant evidence rows, API keys, prompt contents, or private usage data.",
      "Use the authenticated Forgenkiln dashboard to create keys, view receipts, record live-client evidence, and manage workspaces."
    ]
  }
}