{
  "$defs": {
    "__schema0": {
      "pattern": "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
      "title": "EntityId",
      "type": "string"
    },
    "__schema1": {
      "enum": [
        "tick",
        "continue",
        "fast-forward",
        "dialogue-choice",
        "scene-choice",
        "navigate",
        "select-subjects",
        "primary-activate",
        "open-verb-menu",
        "clear-subject-selection",
        "run-interaction",
        "save",
        "load",
        "ui-click"
      ],
      "type": "string"
    },
    "__schema10": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "interactable": {
          "additionalProperties": false,
          "properties": {
            "$ref": {
              "additionalProperties": false,
              "properties": {
                "id": {
                  "$ref": "#/$defs/__schema0"
                },
                "registry": {
                  "const": "interactableInstances",
                  "type": "string"
                }
              },
              "required": [
                "registry",
                "id"
              ],
              "type": "object"
            }
          },
          "required": [
            "$ref"
          ],
          "type": "object"
        },
        "ownerKind": {
          "const": "interactable",
          "type": "string"
        }
      },
      "required": [
        "ownerKind",
        "interactable",
        "featureId"
      ],
      "type": "object"
    },
    "__schema11": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "__schema12": {
      "anyOf": [
        {
          "$ref": "#/$defs/__schema0"
        },
        {
          "type": "null"
        }
      ]
    },
    "__schema2": {
      "additionalProperties": false,
      "allOf": [
        {
          "anyOf": [
            {
              "allOf": [
                {
                  "anyOf": [
                    {
                      "properties": {
                        "operator": {
                          "enum": [
                            "present",
                            "absent"
                          ]
                        }
                      }
                    },
                    {
                      "properties": {
                        "operator": {
                          "enum": [
                            "eq",
                            "ne",
                            "gt",
                            "gte",
                            "lt",
                            "lte"
                          ]
                        },
                        "property": {
                          "required": [
                            "value"
                          ]
                        }
                      }
                    }
                  ]
                },
                {
                  "anyOf": [
                    {
                      "properties": {
                        "property": {
                          "properties": {
                            "scope": {
                              "const": "global"
                            }
                          }
                        }
                      }
                    },
                    {
                      "properties": {
                        "property": {
                          "required": [
                            "ownerId"
                          ]
                        }
                      }
                    }
                  ]
                }
              ],
              "properties": {
                "property": {
                  "required": [
                    "scope",
                    "propertyId"
                  ]
                },
                "type": {
                  "const": "property"
                }
              },
              "required": [
                "type",
                "operator",
                "property"
              ]
            },
            {
              "properties": {
                "currentRoom": {
                  "required": [
                    "roomId"
                  ]
                },
                "type": {
                  "const": "current-room"
                }
              },
              "required": [
                "type",
                "operator",
                "currentRoom"
              ]
            },
            {
              "allOf": [
                {
                  "anyOf": [
                    {
                      "properties": {
                        "location": {
                          "properties": {
                            "locationKind": {
                              "enum": [
                                "unplaced"
                              ]
                            }
                          }
                        }
                      }
                    },
                    {
                      "properties": {
                        "location": {
                          "properties": {
                            "locationKind": {
                              "const": "room"
                            }
                          },
                          "required": [
                            "roomId"
                          ]
                        }
                      }
                    },
                    {
                      "allOf": [
                        {
                          "anyOf": [
                            {
                              "properties": {
                                "location": {
                                  "properties": {
                                    "inventoryOwnerKind": {
                                      "const": "project"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "properties": {
                                "location": {
                                  "required": [
                                    "inventoryOwnerId"
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      ],
                      "properties": {
                        "location": {
                          "properties": {
                            "locationKind": {
                              "const": "inventory"
                            }
                          },
                          "required": [
                            "inventoryOwnerKind",
                            "inventoryId"
                          ]
                        }
                      }
                    }
                  ]
                }
              ],
              "properties": {
                "location": {
                  "required": [
                    "entityKind",
                    "entityId",
                    "locationKind"
                  ]
                },
                "type": {
                  "const": "location"
                }
              },
              "required": [
                "type",
                "operator",
                "location"
              ]
            },
            {
              "allOf": [
                {
                  "anyOf": [
                    {
                      "properties": {
                        "operator": {
                          "enum": [
                            "present",
                            "absent"
                          ]
                        }
                      }
                    },
                    {
                      "properties": {
                        "operator": {
                          "enum": [
                            "eq",
                            "ne",
                            "gt",
                            "gte",
                            "lt",
                            "lte"
                          ]
                        },
                        "quantity": {
                          "required": [
                            "value"
                          ]
                        }
                      }
                    }
                  ]
                }
              ],
              "properties": {
                "quantity": {
                  "required": [
                    "interactableId"
                  ]
                },
                "type": {
                  "const": "quantity"
                }
              },
              "required": [
                "type",
                "operator",
                "quantity"
              ]
            },
            {
              "properties": {
                "trait": {
                  "required": [
                    "ownerKind",
                    "ownerId",
                    "traitId"
                  ]
                },
                "type": {
                  "const": "trait"
                }
              },
              "required": [
                "type",
                "operator",
                "trait"
              ]
            },
            {
              "allOf": [
                {
                  "anyOf": [
                    {
                      "properties": {
                        "operator": {
                          "enum": [
                            "present",
                            "absent"
                          ]
                        }
                      }
                    },
                    {
                      "properties": {
                        "entityState": {
                          "required": [
                            "value"
                          ]
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "ne",
                            "gt",
                            "gte",
                            "lt",
                            "lte"
                          ]
                        }
                      }
                    }
                  ]
                }
              ],
              "properties": {
                "entityState": {
                  "required": [
                    "entityKind",
                    "entityId",
                    "field"
                  ]
                },
                "type": {
                  "const": "entity-state"
                }
              },
              "required": [
                "type",
                "operator",
                "entityState"
              ]
            },
            {
              "properties": {
                "activeFlow": {
                  "required": [
                    "kind",
                    "flowId"
                  ]
                },
                "type": {
                  "const": "active-flow"
                }
              },
              "required": [
                "type",
                "operator",
                "activeFlow"
              ]
            },
            {
              "allOf": [
                {
                  "anyOf": [
                    {
                      "properties": {
                        "operator": {
                          "enum": [
                            "present",
                            "absent"
                          ]
                        }
                      }
                    },
                    {
                      "properties": {
                        "layout": {
                          "properties": {
                            "field": {
                              "const": "mounted"
                            }
                          }
                        }
                      }
                    },
                    {
                      "properties": {
                        "layout": {
                          "required": [
                            "value"
                          ]
                        }
                      }
                    }
                  ]
                }
              ],
              "properties": {
                "layout": {
                  "required": [
                    "layoutId",
                    "field"
                  ]
                },
                "type": {
                  "const": "layout"
                }
              },
              "required": [
                "type",
                "operator",
                "layout"
              ]
            },
            {
              "allOf": [
                {
                  "anyOf": [
                    {
                      "properties": {
                        "uiElement": {
                          "required": [
                            "documentId"
                          ]
                        }
                      }
                    },
                    {
                      "properties": {
                        "uiElement": {
                          "required": [
                            "mountInstanceId"
                          ]
                        }
                      }
                    }
                  ]
                },
                {
                  "anyOf": [
                    {
                      "properties": {
                        "operator": {
                          "enum": [
                            "present",
                            "absent"
                          ]
                        }
                      }
                    },
                    {
                      "properties": {
                        "uiElement": {
                          "properties": {
                            "field": {
                              "const": "present"
                            }
                          }
                        }
                      }
                    },
                    {
                      "properties": {
                        "uiElement": {
                          "required": [
                            "value"
                          ]
                        }
                      }
                    }
                  ]
                }
              ],
              "properties": {
                "type": {
                  "const": "ui-element"
                },
                "uiElement": {
                  "required": [
                    "selector",
                    "field"
                  ]
                }
              },
              "required": [
                "type",
                "operator",
                "uiElement"
              ]
            },
            {
              "allOf": [
                {
                  "anyOf": [
                    {
                      "properties": {
                        "operator": {
                          "enum": [
                            "present",
                            "absent"
                          ]
                        }
                      }
                    },
                    {
                      "properties": {
                        "event": {
                          "required": [
                            "value"
                          ]
                        },
                        "operator": {
                          "enum": [
                            "eq",
                            "ne",
                            "gt",
                            "gte",
                            "lt",
                            "lte"
                          ]
                        }
                      }
                    }
                  ]
                }
              ],
              "properties": {
                "event": {
                  "required": [
                    "kind"
                  ]
                },
                "type": {
                  "const": "event"
                }
              },
              "required": [
                "type",
                "operator",
                "event"
              ]
            },
            {
              "properties": {
                "diagnostic": {
                  "required": [
                    "code"
                  ]
                },
                "type": {
                  "const": "diagnostic"
                }
              },
              "required": [
                "type",
                "operator",
                "diagnostic"
              ]
            }
          ]
        }
      ],
      "properties": {
        "activeFlow": {
          "additionalProperties": false,
          "properties": {
            "flowId": {
              "type": "string"
            },
            "kind": {
              "enum": [
                "scene",
                "dialogue"
              ],
              "type": "string"
            }
          },
          "type": "object"
        },
        "currentRoom": {
          "additionalProperties": false,
          "properties": {
            "roomId": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "diagnostic": {
          "additionalProperties": false,
          "properties": {
            "code": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "entityState": {
          "additionalProperties": false,
          "properties": {
            "entityId": {
              "type": "string"
            },
            "entityKind": {
              "enum": [
                "character",
                "interactable"
              ],
              "type": "string"
            },
            "field": {
              "enum": [
                "enabled",
                "visible"
              ],
              "type": "string"
            },
            "value": {
              "default": true,
              "type": "boolean"
            }
          },
          "type": "object"
        },
        "event": {
          "additionalProperties": false,
          "properties": {
            "kind": {
              "enum": [
                "notification",
                "save-outcome"
              ],
              "type": "string"
            },
            "value": {
              "default": "",
              "type": "string"
            }
          },
          "type": "object"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        },
        "layout": {
          "additionalProperties": false,
          "properties": {
            "field": {
              "$ref": "#/$defs/__schema4",
              "default": "mounted",
              "description": "Use mounted for definition-wide presence. Use state only when exactly one live state Slot exists for the Layout; authored semantic expectations do not select a Slot by owner/scope/occurrence.",
              "x-noveltea-documentation": {
                "description": "Use mounted for definition-wide presence. Use state only when exactly one live state Slot exists for the Layout; authored semantic expectations do not select a Slot by owner/scope/occurrence."
              }
            },
            "layoutId": {
              "$ref": "#/$defs/__schema3",
              "default": "",
              "description": "Layout definition ID observed by this expectation. Mounted presence is definition-wide; state observation requires exactly one live state Slot for this Layout definition.",
              "x-noveltea-documentation": {
                "description": "Layout definition ID observed by this expectation. Mounted presence is definition-wide; state observation requires exactly one live state Slot for this Layout definition."
              }
            },
            "value": {
              "$ref": "#/$defs/__schema5",
              "default": null,
              "description": "Expected complete state value when field is state. If several owner/scope Slots for the same Layout are live, verify the exact occurrence through ui-click.mountInstanceId and observable UI/events, or use a focused native runtime test.",
              "x-noveltea-documentation": {
                "description": "Expected complete state value when field is state. If several owner/scope Slots for the same Layout are live, verify the exact occurrence through ui-click.mountInstanceId and observable UI/events, or use a focused native runtime test."
              }
            }
          },
          "type": "object"
        },
        "location": {
          "additionalProperties": false,
          "properties": {
            "entityId": {
              "type": "string"
            },
            "entityKind": {
              "enum": [
                "character",
                "interactable"
              ],
              "type": "string"
            },
            "inventoryId": {
              "default": "",
              "type": "string"
            },
            "inventoryOwnerId": {
              "default": "",
              "type": "string"
            },
            "inventoryOwnerKind": {
              "default": "project",
              "enum": [
                "project",
                "character",
                "interactable"
              ],
              "type": "string"
            },
            "locationKind": {
              "enum": [
                "unplaced",
                "room",
                "inventory"
              ],
              "type": "string"
            },
            "roomId": {
              "default": "",
              "type": "string"
            }
          },
          "type": "object"
        },
        "operator": {
          "enum": [
            "eq",
            "ne",
            "present",
            "absent",
            "gt",
            "gte",
            "lt",
            "lte"
          ],
          "type": "string"
        },
        "property": {
          "additionalProperties": false,
          "properties": {
            "ownerId": {
              "default": "",
              "type": "string"
            },
            "propertyId": {
              "$ref": "#/$defs/__schema0",
              "default": "property"
            },
            "scope": {
              "enum": [
                "global",
                "room",
                "character",
                "interactable"
              ],
              "type": "string"
            },
            "value": {
              "anyOf": [
                {
                  "type": "null"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "number"
                },
                {
                  "type": "string"
                }
              ],
              "default": null
            }
          },
          "type": "object"
        },
        "quantity": {
          "additionalProperties": false,
          "properties": {
            "interactableId": {
              "type": "string"
            },
            "value": {
              "default": 0,
              "type": "number"
            }
          },
          "type": "object"
        },
        "trait": {
          "additionalProperties": false,
          "properties": {
            "ownerId": {
              "type": "string"
            },
            "ownerKind": {
              "enum": [
                "room",
                "character",
                "interactable"
              ],
              "type": "string"
            },
            "traitId": {
              "$ref": "#/$defs/__schema0",
              "default": "trait"
            }
          },
          "type": "object"
        },
        "type": {
          "enum": [
            "property",
            "current-room",
            "location",
            "quantity",
            "trait",
            "entity-state",
            "active-flow",
            "layout",
            "ui-element",
            "event",
            "diagnostic"
          ],
          "type": "string"
        },
        "uiElement": {
          "additionalProperties": false,
          "properties": {
            "documentId": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": "runtime_game"
            },
            "field": {
              "enum": [
                "present",
                "visible"
              ],
              "type": "string"
            },
            "mountInstanceId": {
              "anyOf": [
                {
                  "$ref": "#/$defs/__schema0"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "selector": {
              "type": "string"
            },
            "value": {
              "default": true,
              "type": "boolean"
            }
          },
          "type": "object"
        }
      },
      "required": [
        "id",
        "type",
        "operator"
      ],
      "type": "object",
      "x-noveltea-source-intent": "An authored Expectation requires type, operator, and the matching active payload with its identifying fields. Comparisons require explicit values; owner/location/UI addressing depends on the selected mode."
    },
    "__schema3": {
      "type": "string"
    },
    "__schema4": {
      "enum": [
        "mounted",
        "state"
      ],
      "type": "string"
    },
    "__schema5": {
      "$ref": "#/$defs/__schema6",
      "title": "LayoutPersistableValue"
    },
    "__schema6": {
      "anyOf": [
        {
          "type": "null"
        },
        {
          "type": "boolean"
        },
        {
          "type": "number"
        },
        {
          "type": "string"
        },
        {
          "items": {
            "$ref": "#/$defs/__schema5"
          },
          "type": "array"
        },
        {
          "additionalProperties": {
            "$ref": "#/$defs/__schema5"
          },
          "propertyNames": {
            "minLength": 1,
            "type": "string"
          },
          "type": "object"
        }
      ]
    },
    "__schema7": {
      "oneOf": [
        {
          "additionalProperties": false,
          "properties": {
            "character": {
              "minLength": 1,
              "type": "string"
            },
            "kind": {
              "const": "character",
              "type": "string"
            }
          },
          "required": [
            "kind",
            "character"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "interactable": {
              "additionalProperties": false,
              "properties": {
                "$ref": {
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "registry": {
                      "const": "interactableInstances",
                      "type": "string"
                    }
                  },
                  "required": [
                    "registry",
                    "id"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "$ref"
              ],
              "type": "object"
            },
            "kind": {
              "const": "interactable",
              "type": "string"
            }
          },
          "required": [
            "kind",
            "interactable"
          ],
          "type": "object"
        },
        {
          "additionalProperties": false,
          "properties": {
            "feature": {
              "description": "Owner-qualified Feature identity: the Feature must exist on the effective/live owner configuration. Room Features require their active Room; Interactable Features follow the exact owner Instance eligibility, including visible/enabled Inventory-held owners.",
              "oneOf": [
                {
                  "$ref": "#/$defs/__schema8"
                },
                {
                  "$ref": "#/$defs/__schema10"
                }
              ],
              "x-noveltea-documentation": {
                "description": "Owner-qualified Feature identity: the Feature must exist on the effective/live owner configuration. Room Features require their active Room; Interactable Features follow the exact owner Instance eligibility, including visible/enabled Inventory-held owners."
              }
            },
            "kind": {
              "const": "feature",
              "type": "string"
            }
          },
          "required": [
            "kind",
            "feature"
          ],
          "type": "object"
        }
      ]
    },
    "__schema8": {
      "additionalProperties": false,
      "properties": {
        "featureId": {
          "$ref": "#/$defs/__schema0"
        },
        "ownerKind": {
          "const": "room",
          "type": "string"
        },
        "room": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "ownerKind",
        "room",
        "featureId"
      ],
      "type": "object"
    },
    "__schema9": {
      "additionalProperties": false,
      "properties": {
        "collection": {
          "const": "rooms",
          "type": "string"
        },
        "id": {
          "$ref": "#/$defs/__schema0"
        }
      },
      "required": [
        "collection",
        "id"
      ],
      "type": "object"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "data": {
      "additionalProperties": false,
      "properties": {
        "displayName": {
          "default": "",
          "type": "string"
        },
        "finalExpectations": {
          "default": [],
          "items": {
            "$ref": "#/$defs/__schema2"
          },
          "type": "array"
        },
        "preview": {
          "additionalProperties": false,
          "default": {
            "autoOpenReport": true,
            "selectedObservationIndex": null,
            "selectedStepId": "start"
          },
          "properties": {
            "autoOpenReport": {
              "default": true,
              "type": "boolean"
            },
            "selectedObservationIndex": {
              "anyOf": [
                {
                  "maximum": 9007199254740991,
                  "minimum": 0,
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            },
            "selectedStepId": {
              "anyOf": [
                {
                  "$ref": "#/$defs/__schema0"
                },
                {
                  "type": "null"
                }
              ],
              "default": null
            }
          },
          "type": "object"
        },
        "steps": {
          "default": [],
          "items": {
            "additionalProperties": false,
            "allOf": [
              {
                "anyOf": [
                  {
                    "properties": {
                      "input": {
                        "const": "tick"
                      }
                    },
                    "required": [
                      "input"
                    ]
                  },
                  {
                    "properties": {
                      "input": {
                        "const": "continue"
                      }
                    },
                    "required": [
                      "input"
                    ]
                  },
                  {
                    "properties": {
                      "input": {
                        "const": "fast-forward"
                      }
                    },
                    "required": [
                      "input"
                    ]
                  },
                  {
                    "properties": {
                      "dialogueChoice": {
                        "required": [
                          "edgeId"
                        ]
                      },
                      "input": {
                        "const": "dialogue-choice"
                      }
                    },
                    "required": [
                      "input",
                      "dialogueChoice"
                    ]
                  },
                  {
                    "properties": {
                      "input": {
                        "const": "scene-choice"
                      },
                      "sceneChoice": {
                        "required": [
                          "optionId"
                        ]
                      }
                    },
                    "required": [
                      "input",
                      "sceneChoice"
                    ]
                  },
                  {
                    "properties": {
                      "input": {
                        "const": "navigate"
                      },
                      "navigate": {
                        "required": [
                          "exitId"
                        ]
                      }
                    },
                    "required": [
                      "input",
                      "navigate"
                    ]
                  },
                  {
                    "properties": {
                      "input": {
                        "const": "select-subjects"
                      }
                    },
                    "required": [
                      "input"
                    ]
                  },
                  {
                    "properties": {
                      "input": {
                        "const": "primary-activate"
                      },
                      "subjectAction": {
                        "required": [
                          "subject"
                        ]
                      }
                    },
                    "required": [
                      "input",
                      "subjectAction"
                    ]
                  },
                  {
                    "properties": {
                      "input": {
                        "const": "open-verb-menu"
                      },
                      "subjectAction": {
                        "required": [
                          "subject"
                        ]
                      }
                    },
                    "required": [
                      "input",
                      "subjectAction"
                    ]
                  },
                  {
                    "properties": {
                      "input": {
                        "const": "clear-subject-selection"
                      }
                    },
                    "required": [
                      "input"
                    ]
                  },
                  {
                    "properties": {
                      "input": {
                        "const": "run-interaction"
                      },
                      "runInteraction": {
                        "required": [
                          "verb",
                          "bindings"
                        ]
                      }
                    },
                    "required": [
                      "input",
                      "runInteraction"
                    ]
                  },
                  {
                    "properties": {
                      "input": {
                        "const": "save"
                      },
                      "saveSlot": {
                        "required": [
                          "slotId"
                        ]
                      }
                    },
                    "required": [
                      "input",
                      "saveSlot"
                    ]
                  },
                  {
                    "properties": {
                      "input": {
                        "const": "load"
                      },
                      "saveSlot": {
                        "required": [
                          "slotId"
                        ]
                      }
                    },
                    "required": [
                      "input",
                      "saveSlot"
                    ]
                  },
                  {
                    "allOf": [
                      {
                        "anyOf": [
                          {
                            "properties": {
                              "uiClick": {
                                "required": [
                                  "documentId"
                                ]
                              }
                            }
                          },
                          {
                            "properties": {
                              "uiClick": {
                                "required": [
                                  "mountInstanceId"
                                ]
                              }
                            }
                          }
                        ]
                      }
                    ],
                    "properties": {
                      "input": {
                        "const": "ui-click"
                      },
                      "uiClick": {
                        "required": [
                          "selector"
                        ]
                      }
                    },
                    "required": [
                      "input",
                      "uiClick"
                    ]
                  }
                ]
              }
            ],
            "properties": {
              "dialogueChoice": {
                "additionalProperties": false,
                "properties": {
                  "edgeId": {
                    "$ref": "#/$defs/__schema0",
                    "default": "choice"
                  }
                },
                "type": "object"
              },
              "enabled": {
                "default": true,
                "type": "boolean"
              },
              "expectations": {
                "default": [],
                "items": {
                  "$ref": "#/$defs/__schema2"
                },
                "type": "array"
              },
              "id": {
                "$ref": "#/$defs/__schema0"
              },
              "input": {
                "$ref": "#/$defs/__schema1",
                "description": "Use semantic inputs for behavior: select-subjects changes selection, primary-activate uses Primary activation (or active Builder capture), open-verb-menu requests discovery without auto-selection, and run-interaction submits complete named bindings without proving Offer discovery. ui-click exercises real RuntimeUI presentation with exactly one stable document address: documentId for fixed/system documents or mountInstanceId for a uniquely realized custom Mount, plus a stable semantic selector; see technical/LAYOUTS.md. Runtime error diagnostics make playback an error even when a diagnostic expectation matches.",
                "x-noveltea-documentation": {
                  "description": "Use semantic inputs for behavior: select-subjects changes selection, primary-activate uses Primary activation (or active Builder capture), open-verb-menu requests discovery without auto-selection, and run-interaction submits complete named bindings without proving Offer discovery. ui-click exercises real RuntimeUI presentation with exactly one stable document address: documentId for fixed/system documents or mountInstanceId for a uniquely realized custom Mount, plus a stable semantic selector; see technical/LAYOUTS.md. Runtime error diagnostics make playback an error even when a diagnostic expectation matches."
                }
              },
              "label": {
                "minLength": 1,
                "type": "string"
              },
              "navigate": {
                "additionalProperties": false,
                "properties": {
                  "exitId": {
                    "$ref": "#/$defs/__schema0",
                    "default": "exit"
                  }
                },
                "type": "object"
              },
              "runInteraction": {
                "additionalProperties": false,
                "properties": {
                  "bindings": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "slotId": {
                          "$ref": "#/$defs/__schema0"
                        },
                        "subject": {
                          "$ref": "#/$defs/__schema7"
                        }
                      },
                      "required": [
                        "slotId",
                        "subject"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "verb": {
                    "anyOf": [
                      {
                        "minLength": 1,
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "type": "object"
              },
              "saveSlot": {
                "additionalProperties": false,
                "properties": {
                  "slotId": {
                    "description": "Authored Test save-slot identity. Use 'autosave' for the reserved autosave slot or 'slot-N' for manual slot N; bare numbers and runtime transport names such as 'manual-N' are not authored forms.",
                    "type": "string",
                    "x-noveltea-documentation": {
                      "description": "Authored Test save-slot identity. Use 'autosave' for the reserved autosave slot or 'slot-N' for manual slot N; bare numbers and runtime transport names such as 'manual-N' are not authored forms."
                    }
                  }
                },
                "type": "object"
              },
              "sceneChoice": {
                "additionalProperties": false,
                "properties": {
                  "optionId": {
                    "$ref": "#/$defs/__schema0",
                    "default": "choice"
                  }
                },
                "type": "object"
              },
              "selectSubjects": {
                "additionalProperties": false,
                "default": {
                  "subjects": []
                },
                "properties": {
                  "subjects": {
                    "default": [],
                    "items": {
                      "$ref": "#/$defs/__schema7"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              },
              "subjectAction": {
                "additionalProperties": false,
                "properties": {
                  "subject": {
                    "anyOf": [
                      {
                        "$ref": "#/$defs/__schema7"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "type": "object"
              },
              "tick": {
                "additionalProperties": false,
                "default": {
                  "deltaSeconds": 0
                },
                "properties": {
                  "deltaSeconds": {
                    "default": 0,
                    "minimum": 0,
                    "type": "number"
                  }
                },
                "type": "object"
              },
              "uiClick": {
                "additionalProperties": false,
                "properties": {
                  "documentId": {
                    "$ref": "#/$defs/__schema11",
                    "default": "runtime_game",
                    "description": "Stable RmlUi document identity for built-in/system documents. Set null when mountInstanceId addresses a custom Mount.",
                    "x-noveltea-documentation": {
                      "description": "Stable RmlUi document identity for built-in/system documents. Set null when mountInstanceId addresses a custom Mount."
                    }
                  },
                  "mountInstanceId": {
                    "$ref": "#/$defs/__schema12",
                    "default": null,
                    "description": "Semantic custom-Mount instance ID. The UI runner resolves its unique current realization, so generated realization document IDs must not be authored. Set documentId to null when using this field.",
                    "x-noveltea-documentation": {
                      "description": "Semantic custom-Mount instance ID. The UI runner resolves its unique current realization, so generated realization document IDs must not be authored. Set documentId to null when using this field."
                    }
                  },
                  "selector": {
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "required": [
              "id",
              "label",
              "input"
            ],
            "type": "object",
            "x-noveltea-source-intent": "An authored Step requires input. Active input payloads and their identifying fields are required; ui-click must specify a documentId or mountInstanceId."
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "description": {
      "type": "string"
    },
    "id": {
      "$ref": "#/$defs/__schema0"
    },
    "label": {
      "minLength": 1,
      "type": "string"
    },
    "narrativeRefs": {
      "items": {
        "pattern": "^(?:creative-direction|arc|milestone|event|character|fact|world-entity|relationship|revelation|choice-point|puzzle|authored-content|narrative-position)\\.[a-z][a-z0-9]*(?:-[a-z0-9]+)*$",
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "id",
    "label",
    "data"
  ],
  "type": "object"
}
