{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://agentseo.me/.well-known/schemas/sidecar-delta-v1.json",
  "title": "Sidecar Delta Register",
  "type": "object",
  "required": ["version", "domain", "generated_at", "register_type", "state", "delta", "links"],
  "properties": {
    "version": {
      "type": "string"
    },
    "domain": {
      "type": "string"
    },
    "generated_at": {
      "type": "string",
      "format": "date-time"
    },
    "source_report_generated_at": {
      "type": "string",
      "format": "date-time"
    },
    "register_type": {
      "const": "sidecar_delta_signal"
    },
    "intent": {
      "type": "string"
    },
    "polling_hint": {
      "type": "object"
    },
    "state": {
      "type": "object",
      "required": ["state_hash", "last_updated", "latest_brief_at", "brief_count", "subscriber_sidecars_30d"],
      "properties": {
        "state_hash": {
          "type": "string",
          "pattern": "^[a-f0-9]{64}$"
        },
        "last_updated": {
          "type": ["string", "null"],
          "format": "date-time"
        },
        "latest_brief_at": {
          "type": ["string", "null"],
          "format": "date-time"
        },
        "brief_count": {
          "type": "integer",
          "minimum": 0
        },
        "subscriber_sidecars_30d": {
          "type": "integer",
          "minimum": 0
        },
        "active_sidecars_24h": {
          "type": "integer",
          "minimum": 0
        },
        "active_operators_24h": {
          "type": "integer",
          "minimum": 0
        }
      }
    },
    "delta": {
      "type": "object",
      "required": ["new_briefs", "sidecar_updates", "active_hot_sidecars_24h", "subscriber_sidecars_30d"],
      "properties": {
        "new_briefs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/brief"
          }
        },
        "sidecar_updates": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/sidecar_update"
          }
        },
        "active_hot_sidecars_24h": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/sidecar_read"
          }
        },
        "subscriber_sidecars_30d": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/sidecar_read"
          }
        }
      }
    },
    "links": {
      "type": "object"
    },
    "provenance": {
      "type": "object"
    }
  },
  "$defs": {
    "brief": {
      "type": "object",
      "required": ["slug", "brief_url", "sidecar_url", "sidecar_present"],
      "properties": {
        "slug": {
          "type": "string"
        },
        "title": {
          "type": ["string", "null"]
        },
        "published_at": {
          "type": ["string", "null"],
          "format": "date-time"
        },
        "brief_url": {
          "type": "string"
        },
        "sidecar_url": {
          "type": "string"
        },
        "sidecar_present": {
          "type": "boolean"
        },
        "sidecar_sha256": {
          "type": ["string", "null"]
        },
        "sidecar_last_seen_local": {
          "type": ["string", "null"],
          "format": "date-time"
        }
      }
    },
    "sidecar_update": {
      "type": "object"
    },
    "sidecar_read": {
      "type": "object",
      "required": ["sidecar_url", "brief_url"],
      "properties": {
        "sidecar_url": {
          "type": ["string", "null"]
        },
        "brief_url": {
          "type": ["string", "null"]
        },
        "operator": {
          "type": ["string", "null"]
        },
        "crawler": {
          "type": ["string", "null"]
        },
        "reads_24h": {
          "type": ["integer", "null"]
        },
        "reads_30d": {
          "type": ["integer", "null"]
        },
        "median_interval_days": {
          "type": ["number", "null"]
        },
        "min_interval_days": {
          "type": ["number", "null"]
        },
        "local_sidecar_sha256": {
          "type": ["string", "null"]
        }
      }
    }
  }
}
