{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "key": "tid",
      "record": {
        "properties": {
          "args": {
            "items": {
              "properties": {
                "description": {
                  "maxLength": 256,
                  "type": "string"
                },
                "name": {
                  "maxLength": 64,
                  "type": "string"
                },
                "type": {
                  "default": "symbol",
                  "maxLength": 32,
                  "type": "string"
                }
              },
              "required": [
                "name"
              ],
              "type": "object"
            },
            "maxLength": 10,
            "type": "array"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "maxLength": 1024,
            "type": "string"
          },
          "predicate": {
            "maxLength": 64,
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "maxLength": 20,
            "type": "array"
          }
        },
        "required": [
          "predicate",
          "args",
          "description",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "Schema for a predicate — declares argument names, types, and description before facts exist.",
  "id": "diy.razorgirl.winter.factDeclaration",
  "lexicon": 1
}
