# world.ptah.temp.role

> Published by [ptah.world](https://lexicon.garden/identity/did:plc:l45z35sxxjuobp5q65a5vu22)

✓ This is the authoritative definition for this NSID.

## 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.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:l45z35sxxjuobp5q65a5vu22/world.ptah.temp.role)
- [Documentation](https://lexicon.garden/lexicon/did:plc:l45z35sxxjuobp5q65a5vu22/world.ptah.temp.role/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:l45z35sxxjuobp5q65a5vu22/world.ptah.temp.role/examples)

## Definitions

### `world.ptah.temp.role`

**Type**: `record`

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`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes | What this role is called. |
| `createdAt` | `string` (datetime) | Yes | Timestamp of role creation. |
| `creatorDID` | `string` (did) | Yes | Who defined this role in the protocol. |
| `sourceType` | `string` | No | The intellectual property origin of this role. |
| `description` | `string` | No | What this role is in the world's context — its narrative function, its archetypal weight. |
| `instancePolicy` | `string` | No | How instances of this role are governed. |
| `worldReference` | `string` (at-uri) | Yes | The AT URI of the world record this role exists in. |
| `canonicalStatus` | `string` | No | The canonical standing of this role within its world. |
| `sourceReference` | `string` | No | If sourceType is publicDomain, the specific source material. |
| `authorshipRecord` | `string` (did) | No | Permanent link to the role's creator. Provenance travels. |
| `canonicalReferencePolicy` | `string` | No | Governs how the canonicalCharacterReference behaves over time. |
| `canonicalCharacterReference` | `string` (at-uri) | No | The AT URI of the single Character record designated as the authoritative expression of this role. When present, this is the canonical instance. |

## Raw Schema

```json
{
  "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."
}
```
