{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A stage role vs a performance of that role. The Opening of the Mouth was performed on a type of figure — the Role is the type. The Character instance is the specific statue that gets its mouth opened.",
      "key": "tid",
      "record": {
        "properties": {
          "authorshipRecord": {
            "description": "Permanent link to the role's creator. Provenance travels.",
            "format": "did",
            "type": "string"
          },
          "canonicalCharacterReference": {
            "description": "The AT URI of the single Character record designated as the authoritative expression of this role. When present, this is the canonical instance.",
            "format": "at-uri",
            "type": "string"
          },
          "canonicalReferencePolicy": {
            "description": "Governs how the canonicalCharacterReference behaves over time.",
            "knownValues": [
              "fixed",
              "updatable",
              "community"
            ],
            "type": "string"
          },
          "canonicalStatus": {
            "description": "The canonical standing of this role within its world.",
            "knownValues": [
              "world.ptah.temp.defs#canonicalStatusOfficial",
              "world.ptah.temp.defs#canonicalStatusCommunity",
              "world.ptah.temp.defs#canonicalStatusApocryphal"
            ],
            "type": "string"
          },
          "createdAt": {
            "description": "Timestamp of role creation.",
            "format": "datetime",
            "type": "string"
          },
          "creatorDID": {
            "description": "Who defined this role in the protocol.",
            "format": "did",
            "type": "string"
          },
          "description": {
            "description": "What this role is in the world's context — its narrative function, its archetypal weight.",
            "maxGraphemes": 1024,
            "maxLength": 10240,
            "type": "string"
          },
          "instancePolicy": {
            "description": "How instances of this role are governed.",
            "knownValues": [
              "openInstance",
              "approvedInstance",
              "singleInstance"
            ],
            "type": "string"
          },
          "name": {
            "description": "What this role is called.",
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "sourceReference": {
            "description": "If sourceType is publicDomain, the specific source material.",
            "maxGraphemes": 1024,
            "maxLength": 10240,
            "type": "string"
          },
          "sourceType": {
            "description": "The intellectual property origin of this role.",
            "knownValues": [
              "world.ptah.temp.defs#sourceTypeOriginalIP",
              "world.ptah.temp.defs#sourceTypePublicDomain"
            ],
            "type": "string"
          },
          "worldReference": {
            "description": "The AT URI of the world record this role exists in.",
            "format": "at-uri",
            "type": "string"
          }
        },
        "required": [
          "name",
          "creatorDID",
          "worldReference",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "A role record in The Ptah Protocol. The template that sits between the World and the Character. A shared identity that multiple Character instances can embody. Hamlet is a Role — each performance of Hamlet is a Character instance.",
  "id": "world.ptah.temp.role",
  "lexicon": 1
}
