{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "feed.schema.json",
  "title": "frontier-math v1 feed (integer-multiplication race only)",
  "description": "Machine-readable feed shape per leo/ARCHITECTURE.md §JSON feed. Schema-ready reservations per leo/ADDENDUM-MULTI.md §5: producers ignore, validators permit project_id, claim_id, feed_version 2 migration path, machine_checked / ai_refereed_count display fields. Additive-only within v1.",
  "type": "object",
  "required": ["feed_version", "generated_at", "upstream_main_sha", "selected_result", "records"],
  "additionalProperties": false,
  "properties": {
    "feed_version": {
      "description": "v1 emits 1; 2 reserved as the multi-project namespaced migration path (ADDENDUM §2 recommendation).",
      "anyOf": [{ "const": 1 }, { "const": 2 }]
    },
    "generated_at": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$" },
    "upstream_main_sha": { "$ref": "#/definitions/sha40" },
    "selected_result": {
      "description": "Mirror of upstream certificates/selected-result.json key fields; gate byte-checks binding.",
      "type": ["object", "null"],
      "required": ["kappa", "decimal"],
      "additionalProperties": true,
      "properties": {
        "kappa": { "type": "string", "pattern": "^\\d+/\\d+$" },
        "decimal": { "type": "string", "pattern": "^(0?\\.\\d+|\\d\\.\\d+)$" },
        "certificate_sha256": { "$ref": "#/definitions/sha64" }
      }
    },
    "records": {
      "type": "array",
      "items": { "$ref": "#/definitions/record" }
    },
    "quarantined": {
      "description": "Records excluded from records[] per ARCHITECTURE quarantine rule (kept, stale:true).",
      "type": "array",
      "items": { "$ref": "#/definitions/record" }
    }
  },
  "definitions": {
    "sha40": { "type": "string", "pattern": "^[0-9a-f]{40}$" },
    "sha64": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
    "record": {
      "type": "object",
      "required": ["pr", "head_sha", "base_sha", "kappa_num", "kappa_den",
                   "kappa_decimal", "tier", "title", "draft",
                   "pr_updated_at", "fetched_at", "source_refs"],
      "additionalProperties": true,
      "properties": {
        "pr": { "type": "integer", "minimum": 1 },
        "head_sha": { "$ref": "#/definitions/sha40" },
        "base_sha": { "$ref": "#/definitions/sha40" },
        "kappa_num": { "type": ["integer", "null"], "minimum": 0 },
        "kappa_den": { "type": ["integer", "null"], "minimum": 1 },
        "kappa_decimal": { "type": ["string", "null"], "pattern": "^(0?\\.\\d+|\\d\\.\\d+)$" },
        "tier": { "enum": ["claimed", "human-verified", "lean-verified"] },
        "title": { "type": "string" },
        "draft": { "type": "boolean" },
        "pr_updated_at": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$" },
        "fetched_at": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$" },
        "stale": { "type": "boolean" },
        "stale_reason": { "type": "string" },
        "source_refs": {
          "type": "object",
          "required": ["pr_url"],
          "additionalProperties": true,
          "properties": {
            "pr_url": { "type": "string", "pattern": "^https://github\\.com/" },
            "head_url": { "type": ["string", "null"] },
            "certificate_path": { "type": ["string", "null"] }
          }
        },
        "verify": {
          "type": ["object", "null"],
          "required": ["method", "certificate_sha256", "checker_exit"],
          "additionalProperties": false,
          "properties": {
            "method": { "type": "string" },
            "certificate_sha256": { "$ref": "#/definitions/sha64" },
            "checker_exit": { "type": "integer" }
          }
        },
        "project_id": {
          "description": "RESERVATION (ADDENDUM §5): v2 enum integer-mult-upstream | integer-mult-kappa | threesum-derand | mobius-x1. Producers ignore; validators permit.",
          "type": "string",
          "enum": ["integer-mult-upstream", "integer-mult-kappa", "threesum-derand", "mobius-x1"]
        },
        "claim_id": {
          "description": "RESERVATION (ADDENDUM §5): per-project claim slot (PR number, round, version, theorem label). Producers ignore; validators permit.",
          "type": ["string", "integer", "null"]
        },
        "machine_checked": {
          "description": "RESERVATION (ADDENDUM §5, threesum machine-check flag): display field, never a tier. Producers ignore; validators permit.",
          "type": ["boolean", "null"]
        },
        "ai_refereed_count": {
          "description": "RESERVATION (ADDENDUM §5, mobius-x1 honesty rule): display field mapping the AI-refereed column; never a tier. Producers ignore; validators permit.",
          "type": ["integer", "null"],
          "minimum": 0
        }
      }
    }
  }
}
