{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "An entry in a ship's log. Something happened. Someone did it. The Opening of the Mouth ceremony — Ptah opens the mouth and the statue breathes, speaks, acts. The action record is the breath.",
      "key": "tid",
      "record": {
        "properties": {
          "actionType": {
            "description": "What kind of action. Open-ended.",
            "knownValues": [
              "movement",
              "speech",
              "conflict",
              "creation",
              "witness"
            ],
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "actorDID": {
            "description": "Who performed the action — the person behind the character.",
            "format": "did",
            "type": "string"
          },
          "characterReference": {
            "description": "The AT URI of the character performing the action. Not the person — the character.",
            "format": "at-uri",
            "type": "string"
          },
          "content": {
            "description": "What actually happened. The text of the action.",
            "maxGraphemes": 3000,
            "maxLength": 30720,
            "type": "string"
          },
          "createdAt": {
            "description": "Timestamp of the action.",
            "format": "datetime",
            "type": "string"
          },
          "locationReference": {
            "description": "The AT URI of the location record where this action took place.",
            "format": "at-uri",
            "type": "string"
          },
          "narrativeWeight": {
            "description": "Optional importance scoring hook. Null by default. Populated by the AppView or by originator designation when needed. Does not change v1 behavior — all actions are structurally flat by default.",
            "minimum": 0,
            "type": "integer"
          },
          "targetReference": {
            "description": "If this action was directed at another character or object, the AT URI of the target.",
            "format": "at-uri",
            "type": "string"
          },
          "visibility": {
            "description": "The narrative visibility tier of this action.",
            "knownValues": [
              "canon",
              "community",
              "experimental"
            ],
            "type": "string"
          },
          "worldReference": {
            "description": "The AT URI of the world this action happened in.",
            "format": "at-uri",
            "type": "string"
          }
        },
        "required": [
          "actorDID",
          "worldReference",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "An action record in The Ptah Protocol. The heartbeat of the protocol — every time someone acts inside a world, they create one of these. It is what makes the world alive rather than static.",
  "id": "world.ptah.temp.action",
  "lexicon": 1
}
