{
"id": "world.ptah.template",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"name",
"creatorDID",
"worldReference",
"createdAt"
],
"properties": {
"name": {
"type": "string",
"maxLength": 640,
"description": "The name of the template",
"maxGraphemes": 64
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp when this template was created"
},
"creatorDID": {
"type": "string",
"format": "did",
"description": "The permanent identity of the template's creator"
},
"originType": {
"type": "string",
"description": "The intellectual property status of this template",
"knownValues": [
"originalIP",
"publicDomain",
"collaborativeCommons"
]
},
"description": {
"type": "string",
"maxLength": 10240,
"description": "What this template represents",
"maxGraphemes": 1024
},
"instancePolicy": {
"type": "string",
"description": "Who can create new character instances of this template — open (anyone), restricted (with approval), closed (no new instances)",
"knownValues": [
"open",
"restricted",
"closed"
]
},
"worldReference": {
"type": "string",
"format": "at-uri",
"description": "Reference to the world this template belongs to"
},
"canonicalStatus": {
"type": "string",
"description": "The canonical standing of this template",
"knownValues": [
"world.ptah.defs#canonicalStatusOfficial",
"world.ptah.defs#canonicalStatusCommunity",
"world.ptah.defs#canonicalStatusApocryphal"
]
},
"canonicalReferencePolicy": {
"type": "string",
"description": "How the canonical character reference behaves over time — fixed (never changes), updatable (originator can update), community (community consensus)",
"knownValues": [
"fixed",
"updatable",
"community"
]
},
"canonicalCharacterReference": {
"type": "string",
"format": "at-uri",
"description": "Reference to the canonical character instance of this template (if any)"
}
}
},
"description": "A shared identity template that multiple characters can embody. The type, not the instance. Defines what something fundamentally is before any specific character performs it."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}