{
"id": "world.ptah.temp.role",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"name",
"creatorDID",
"worldReference",
"createdAt"
],
"properties": {
"name": {
"type": "string",
"maxLength": 640,
"description": "What this role is called.",
"maxGraphemes": 64
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp of role creation."
},
"creatorDID": {
"type": "string",
"format": "did",
"description": "Who defined this role in the protocol."
},
"sourceType": {
"type": "string",
"description": "The intellectual property origin of this role.",
"knownValues": [
"world.ptah.temp.defs#sourceTypeOriginalIP",
"world.ptah.temp.defs#sourceTypePublicDomain"
]
},
"description": {
"type": "string",
"maxLength": 10240,
"description": "What this role is in the world's context — its narrative function, its archetypal weight.",
"maxGraphemes": 1024
},
"instancePolicy": {
"type": "string",
"description": "How instances of this role are governed.",
"knownValues": [
"openInstance",
"approvedInstance",
"singleInstance"
]
},
"worldReference": {
"type": "string",
"format": "at-uri",
"description": "The AT URI of the world record this role exists in."
},
"canonicalStatus": {
"type": "string",
"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"
]
},
"sourceReference": {
"type": "string",
"maxLength": 10240,
"description": "If sourceType is publicDomain, the specific source material.",
"maxGraphemes": 1024
},
"authorshipRecord": {
"type": "string",
"format": "did",
"description": "Permanent link to the role's creator. Provenance travels."
},
"canonicalReferencePolicy": {
"type": "string",
"description": "Governs how the canonicalCharacterReference behaves over time.",
"knownValues": [
"fixed",
"updatable",
"community"
]
},
"canonicalCharacterReference": {
"type": "string",
"format": "at-uri",
"description": "The AT URI of the single Character record designated as the authoritative expression of this role. When present, this is the canonical instance."
}
}
},
"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."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"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."
}