{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 3,
      "maxLength": 120
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "precision": {
      "default": "day",
      "type": "string",
      "enum": [
        "day",
        "month",
        "year"
      ]
    },
    "era": {
      "type": "string",
      "enum": [
        "prologue",
        "foundations",
        "winter-1",
        "connection",
        "winter-2",
        "statistics",
        "deep-learning",
        "transformers",
        "everyone",
        "agents"
      ]
    },
    "category": {
      "type": "string",
      "enum": [
        "theory",
        "hardware",
        "model",
        "data",
        "product",
        "policy",
        "culture"
      ]
    },
    "significance": {
      "type": "integer",
      "minimum": 1,
      "maximum": 5
    },
    "summary": {
      "type": "string",
      "minLength": 20,
      "maxLength": 200
    },
    "people": {
      "default": [],
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 2
      }
    },
    "orgs": {
      "default": [],
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 2
      }
    },
    "tags": {
      "default": [],
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 2
      }
    },
    "influences": {
      "default": [],
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^\\d{4}-[a-z0-9-]+$"
      }
    },
    "instrument": {
      "type": "string",
      "pattern": "^[a-z-]+$"
    },
    "sources": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "minLength": 3
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "type": {
            "type": "string",
            "enum": [
              "paper",
              "announcement",
              "article",
              "book",
              "dataset",
              "video",
              "archive"
            ]
          }
        },
        "required": [
          "title",
          "url",
          "type"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "title",
    "date",
    "precision",
    "category",
    "significance",
    "summary",
    "people",
    "orgs",
    "tags",
    "influences",
    "sources"
  ],
  "additionalProperties": false
}