{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://usedeed.app/contracts/deed.runtime_capability_state.public.v1.schema.json",
  "title": "DEED Public Runtime Capability State v1",
  "description": "Anonymous, allowlisted RuntimeCapabilityState proof projection. Operator identity, wallets, account values, authority leases, signing posture, Builder Code metadata, blockers, reasons, and operational ages are excluded.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema_version",
    "schema",
    "kind",
    "public",
    "generated_at",
    "status",
    "venue",
    "capabilities",
    "safety",
    "proof",
    "privacy"
  ],
  "properties": {
    "schema_version": { "const": "deed.runtime_capability_state.public.v1" },
    "schema": { "const": "https://usedeed.app/contracts/deed.runtime_capability_state.public.v1.schema.json" },
    "kind": { "const": "runtime_capability_state_public" },
    "public": { "const": true },
    "generated_at": { "type": "string", "format": "date-time" },
    "status": { "enum": ["ready", "gated", "blocked", "degraded", "unavailable"] },
    "venue": {
      "type": "object",
      "additionalProperties": false,
      "required": ["id", "network"],
      "properties": {
        "id": { "const": "hyperliquid" },
        "network": { "const": "mainnet" }
      }
    },
    "capabilities": {
      "type": "object",
      "additionalProperties": false,
      "required": ["mode", "paper_capable", "live_ready", "proof_complete", "public_verifiable"],
      "properties": {
        "mode": { "enum": ["paper", "supervised", "live"] },
        "paper_capable": { "type": "boolean" },
        "live_ready": { "type": "boolean" },
        "proof_complete": { "type": "boolean" },
        "public_verifiable": { "type": "boolean" }
      }
    },
    "safety": {
      "type": "object",
      "additionalProperties": false,
      "required": ["state"],
      "properties": {
        "state": { "enum": ["nominal", "attention_required", "halted", "unavailable"] }
      }
    },
    "proof": {
      "type": "object",
      "additionalProperties": false,
      "required": ["public_chain_confirmed", "replay_index_url", "journal_roots_url", "proof_chain_url"],
      "properties": {
        "public_chain_confirmed": { "type": "boolean" },
        "replay_index_url": { "const": "/api/replays" },
        "journal_roots_url": { "const": "/api/journal-roots" },
        "proof_chain_url": { "const": "/api/deployments/vibe-deploy-proof-chain" }
      }
    },
    "privacy": {
      "type": "object",
      "additionalProperties": false,
      "required": ["projection", "private_operator_state_included"],
      "properties": {
        "projection": { "const": "public_redacted" },
        "private_operator_state_included": { "const": false }
      }
    }
  }
}
