{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/aixbt-tech/json-schema/aixbt-tech-intel-schema.json",
  "title": "Intel",
  "x-generated": "2026-11-01",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/aixbt-tech-v3-openapi.yaml#/components/schemas/Intel",
  "type": "object",
  "required": [
    "id",
    "description",
    "grade",
    "project",
    "category",
    "observationCount",
    "hasOfficialSource",
    "citations",
    "detectedAt",
    "reinforcedAt"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "headline": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "grade": {
      "$ref": "#/$defs/Grade"
    },
    "project": {
      "$ref": "#/$defs/ProjectRef"
    },
    "category": {
      "type": "string",
      "description": "Intel event category (a vocabulary distinct from Project taxonomy)."
    },
    "clusters": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/ClusterRef"
      }
    },
    "observationCount": {
      "type": "integer"
    },
    "hasOfficialSource": {
      "type": "boolean"
    },
    "officialSourceUrl": {
      "type": "string",
      "format": "uri",
      "description": "Canonical official X provenance for the intel, including research-only observations omitted from activity."
    },
    "citations": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "description": "Vetted non-X citations supporting this intel."
    },
    "sentiment": {
      "$ref": "#/$defs/Sentiment"
    },
    "detectedAt": {
      "type": "string",
      "format": "date-time"
    },
    "reinforcedAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "Null until the first attention-contributing source activates the gem."
    },
    "activity": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/IntelActivity"
      }
    },
    "searchMatches": {
      "type": "array",
      "description": "Present only on an active `search`: why this item matched,\nderived from stored data.\n",
      "items": {
        "type": "object",
        "required": [
          "kind",
          "term"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "contract_address",
              "canonical_chain",
              "current_official_x_handle",
              "project_identity",
              "asset_profile",
              "current_official_x_profile",
              "project_profile",
              "intel_text"
            ]
          },
          "term": {
            "type": "string"
          },
          "excerpt": {
            "type": "string",
            "description": "Short public text containing the match, when it is not already visible."
          }
        }
      }
    }
  },
  "$defs": {
    "ClusterRef": {
      "type": "object",
      "required": [
        "id",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      }
    },
    "Grade": {
      "type": "string",
      "enum": [
        "chipped",
        "flawed",
        "cut",
        "polished",
        "flawless"
      ],
      "description": "Evidence grade of an Intel item, lowest to highest. Grades describe\nthe shape of the evidence, never the truth of the claim.\n"
    },
    "IntelActivity": {
      "type": "object",
      "required": [
        "action",
        "detectedAt",
        "occurredAt"
      ],
      "description": "One entry in the intel evidence trail. Detection time records when the\nsource was observed; event time records when the source claims the\nevent happened.\n",
      "properties": {
        "action": {
          "type": "string",
          "enum": [
            "observation",
            "official_statement",
            "correction",
            "merge"
          ]
        },
        "detectedAt": {
          "type": "string",
          "format": "date-time",
          "description": "Source observation timestamp."
        },
        "occurredAt": {
          "type": "string",
          "format": "date-time",
          "deprecated": true,
          "x-successor": "#/components/schemas/IntelActivity/properties/detectedAt",
          "description": "Deprecated legacy timestamp: provider publication when known, otherwise detectedAt. Use eventTime for claimed event time."
        },
        "eventTime": {
          "$ref": "#/$defs/IntelEventTime"
        },
        "headline": {
          "type": "string"
        },
        "source": {
          "type": "object",
          "required": [
            "url",
            "official"
          ],
          "properties": {
            "url": {
              "type": "string",
              "format": "uri"
            },
            "official": {
              "type": "boolean"
            }
          }
        },
        "sentiment": {
          "$ref": "#/$defs/Sentiment"
        },
        "clusters": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ClusterRef"
          }
        }
      }
    },
    "IntelEventTime": {
      "description": "Claimed event time, sanitized from internal source evidence.",
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "at",
            "precision",
            "relationToSource"
          ],
          "properties": {
            "status": {
              "type": "string",
              "const": "instant"
            },
            "at": {
              "type": "string",
              "format": "date-time"
            },
            "precision": {
              "type": "string",
              "enum": [
                "instant",
                "day",
                "week",
                "month"
              ]
            },
            "relationToSource": {
              "type": "string",
              "enum": [
                "current",
                "historical",
                "future"
              ]
            }
          }
        },
        {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "startAt",
            "endAt",
            "precision",
            "relationToSource"
          ],
          "properties": {
            "status": {
              "type": "string",
              "const": "interval"
            },
            "startAt": {
              "type": "string",
              "format": "date-time"
            },
            "endAt": {
              "type": "string",
              "format": "date-time",
              "description": "Exclusive boundary after the final supported period."
            },
            "precision": {
              "type": "string",
              "enum": [
                "day",
                "week",
                "month"
              ]
            },
            "relationToSource": {
              "type": "string",
              "enum": [
                "current",
                "historical",
                "future"
              ]
            }
          }
        },
        {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "relationToSource"
          ],
          "properties": {
            "status": {
              "type": "string",
              "const": "relative_unresolved"
            },
            "relationToSource": {
              "type": "string",
              "enum": [
                "before_post",
                "after_post",
                "around_post"
              ]
            }
          }
        },
        {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "reason"
          ],
          "properties": {
            "status": {
              "type": "string",
              "const": "unknown"
            },
            "reason": {
              "type": "string",
              "enum": [
                "not_stated",
                "ambiguous",
                "ongoing"
              ]
            }
          }
        }
      ]
    },
    "ProjectRef": {
      "type": "object",
      "required": [
        "id",
        "slug",
        "name"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "slug": {
          "type": "string",
          "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
          "maxLength": 64
        },
        "name": {
          "type": "string"
        }
      }
    },
    "Sentiment": {
      "type": "object",
      "required": [
        "value"
      ],
      "properties": {
        "value": {
          "type": "string",
          "enum": [
            "positive",
            "neutral",
            "negative"
          ]
        }
      }
    }
  }
}