{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "An explicit, typed link between two observations. Enables protocol-visible claim relationships.",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "note": {
            "description": "Why this connection exists. The reasoning.",
            "maxGraphemes": 2500,
            "maxLength": 5000,
            "type": "string"
          },
          "relationship": {
            "description": "The type of relationship between source and target.",
            "enum": [
              "supports",
              "contradicts",
              "extends",
              "refines",
              "depends-on",
              "challenges"
            ],
            "type": "string"
          },
          "source": {
            "description": "AT URI of the observation making the connection.",
            "format": "at-uri",
            "type": "string"
          },
          "target": {
            "description": "AT URI of the observation being connected to.",
            "format": "at-uri",
            "type": "string"
          }
        },
        "required": [
          "source",
          "target",
          "relationship",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "systems.numina.sensemaking.connection",
  "lexicon": 1
}
