[
  {
    "name": "venue.list_projects",
    "description": "List durable VenueMind Projects available to the current authenticated or local host scope without returning full snapshots.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "List Projects",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {},
    "outputSchema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "https://venuemind.dev/schemas/project-list-result.schema.json",
      "title": "VenueMind Project List Result",
      "type": "object",
      "required": [
        "source",
        "projects"
      ],
      "properties": {
        "source": {
          "type": "string",
          "minLength": 1
        },
        "projects": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "name",
              "activePlanId",
              "planVersion",
              "active"
            ],
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              },
              "name": {
                "type": "string",
                "minLength": 1
              },
              "activePlanId": {
                "type": "string",
                "minLength": 1
              },
              "schemaVersion": {
                "type": "integer",
                "minimum": 1
              },
              "planVersion": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "proposalId": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              },
              "active": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "PROJECT_TOOL_UNAVAILABLE",
      "PROJECT_NOT_FOUND"
    ]
  },
  {
    "name": "venue.open_project",
    "description": "Select one durable Project as the active Project for this agent session. This never changes accepted Plan truth.",
    "annotations": {
      "destructiveHint": false,
      "idempotentHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "projectId": {
          "type": "string",
          "minLength": 1
        }
      },
      "required": [
        "projectId"
      ],
      "additionalProperties": false
    },
    "title": "Open Project",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "projectId": "project-summit-forward"
    },
    "outputSchema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "https://venuemind.dev/schemas/project-open-result.schema.json",
      "title": "VenueMind Project Open Result",
      "type": "object",
      "required": [
        "status",
        "project"
      ],
      "properties": {
        "status": {
          "enum": [
            "active",
            "opening"
          ]
        },
        "project": {
          "type": "object",
          "required": [
            "id",
            "name",
            "activePlanId",
            "planVersion",
            "active"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "name": {
              "type": "string",
              "minLength": 1
            },
            "activePlanId": {
              "type": "string",
              "minLength": 1
            },
            "schemaVersion": {
              "type": "integer",
              "minimum": 1
            },
            "planVersion": {
              "type": [
                "string",
                "null"
              ]
            },
            "proposalId": {
              "type": [
                "string",
                "null"
              ]
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time"
            },
            "active": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "PROJECT_TOOL_UNAVAILABLE",
      "PROJECT_NOT_FOUND"
    ]
  },
  {
    "name": "venue.inspect_templates",
    "description": "Read versioned Venue, Room, and Inventory Item Templates, including starter room types and current inventory availability metadata.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "Inspect Templates",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {},
    "outputSchema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "https://venuemind.dev/schemas/venue-template-catalog.schema.json",
      "title": "VenueMind Venue Template Catalog",
      "type": "object",
      "required": [
        "schemaVersion",
        "venueTemplates",
        "roomTemplates",
        "inventoryTemplates"
      ],
      "properties": {
        "schemaVersion": {
          "const": 1
        },
        "venueTemplates": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "schemaVersion",
              "kind",
              "id",
              "version",
              "name",
              "roomTemplateIds"
            ],
            "properties": {
              "schemaVersion": {
                "const": 1
              },
              "kind": {
                "const": "venue-template"
              },
              "id": {
                "type": "string"
              },
              "version": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "roomTemplateIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          }
        },
        "roomTemplates": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "schemaVersion",
              "kind",
              "id",
              "version",
              "name",
              "unit",
              "boundary",
              "objects"
            ],
            "properties": {
              "schemaVersion": {
                "const": 1
              },
              "kind": {
                "const": "room-template"
              },
              "id": {
                "type": "string"
              },
              "version": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "useCase": {
                "enum": [
                  "conference",
                  "concert",
                  "banquet",
                  "exhibition",
                  "classroom",
                  "community-event"
                ]
              },
              "unit": {
                "const": "m"
              },
              "boundary": {
                "type": "object"
              },
              "capacity": {
                "type": "integer",
                "minimum": 0
              },
              "objects": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              }
            },
            "additionalProperties": false
          }
        },
        "inventoryTemplates": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "schemaVersion",
              "kind",
              "id",
              "version",
              "name",
              "category",
              "dimensions",
              "weightKg",
              "power",
              "capacity",
              "cost",
              "availability"
            ],
            "properties": {
              "schemaVersion": {
                "const": 1
              },
              "kind": {
                "const": "inventory-item-template"
              },
              "id": {
                "type": "string"
              },
              "version": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "category": {
                "enum": [
                  "furniture",
                  "seating",
                  "barriers",
                  "staging",
                  "av",
                  "catering",
                  "signage",
                  "queue"
                ]
              },
              "dimensions": {
                "type": "object"
              },
              "weightKg": {
                "type": "number",
                "minimum": 0
              },
              "power": {
                "type": "object",
                "required": [
                  "watts",
                  "connector"
                ]
              },
              "capacity": {
                "type": "integer",
                "minimum": 0
              },
              "cost": {
                "type": "object",
                "required": [
                  "amount",
                  "currency",
                  "basis"
                ]
              },
              "availability": {
                "type": "object",
                "required": [
                  "total",
                  "unavailable"
                ],
                "properties": {
                  "total": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "unavailable": {
                    "type": "integer",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.get_project_brief",
    "description": "Read the structured Event Brief, stable Requirement IDs, priorities, ownership, ambiguity flags, and accepted-Plan versus active-Proposal coverage.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "Get Project Brief",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {},
    "outputSchema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "https://venuemind.dev/schemas/event-brief.schema.json",
      "title": "VenueMind Event Brief",
      "type": "object",
      "required": [
        "id",
        "eventName",
        "date",
        "timezone",
        "venueId",
        "roomId",
        "attendeeTarget",
        "occupancyMode",
        "requirements"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "eventName": {
          "type": "string",
          "minLength": 1
        },
        "date": {
          "type": [
            "string",
            "null"
          ],
          "format": "date"
        },
        "timezone": {
          "type": "string",
          "minLength": 1
        },
        "venueId": {
          "type": [
            "string",
            "null"
          ]
        },
        "roomId": {
          "type": [
            "string",
            "null"
          ]
        },
        "attendeeTarget": {
          "type": "integer",
          "minimum": 0
        },
        "occupancyMode": {
          "enum": [
            "theater",
            "classroom",
            "banquet",
            "standing",
            "mixed",
            "custom"
          ]
        },
        "schedule": {
          "anyOf": [
            {
              "type": "null"
            },
            {
              "type": "object",
              "required": [
                "startAt",
                "endAt",
                "timezone"
              ],
              "properties": {
                "startAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?(?:Z|(?!-00:00)[+-]\\d{2}:\\d{2})$"
                },
                "endAt": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?(?:Z|(?!-00:00)[+-]\\d{2}:\\d{2})$"
                },
                "timezone": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            }
          ]
        },
        "planningEffectBindings": {
          "type": "object",
          "properties": {
            "set_attendance_target": {
              "type": "object",
              "required": [
                "targetRequirementId",
                "category",
                "affectedConstraintIds"
              ],
              "properties": {
                "targetRequirementId": {
                  "type": "string",
                  "minLength": 1
                },
                "category": {
                  "const": "seating"
                },
                "affectedConstraintIds": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "additionalProperties": false
            },
            "set_event_schedule": {
              "type": "object",
              "required": [
                "targetRequirementId",
                "category",
                "affectedConstraintIds"
              ],
              "properties": {
                "targetRequirementId": {
                  "type": "string",
                  "minLength": 1
                },
                "category": {
                  "const": "staffing"
                },
                "affectedConstraintIds": {
                  "type": "array",
                  "maxItems": 0
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        },
        "requirements": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "category",
              "label",
              "priority",
              "owner",
              "status",
              "measurable",
              "constraintIds",
              "evidenceRefs"
            ],
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              },
              "category": {
                "enum": [
                  "accessibility",
                  "seating",
                  "production",
                  "catering",
                  "staffing",
                  "security",
                  "emergency",
                  "circulation"
                ]
              },
              "label": {
                "type": "string",
                "minLength": 1
              },
              "priority": {
                "enum": [
                  "critical",
                  "high",
                  "medium",
                  "low"
                ]
              },
              "owner": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "enum": [
                  "open",
                  "confirmed",
                  "satisfied",
                  "waived"
                ]
              },
              "measurable": {
                "type": "boolean"
              },
              "constraintIds": {
                "type": "array",
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "evidenceRefs": {
                "type": "array",
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              }
            },
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.list_constraints",
    "description": "List versioned Constraints with current evaluation status, thresholds, policy sources, and remediation metadata.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "category": {
          "type": "string",
          "minLength": 1
        },
        "severity": {
          "enum": [
            "error",
            "warning",
            "preference"
          ]
        }
      },
      "additionalProperties": false
    },
    "title": "List Constraints",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {},
    "outputSchema": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "checkId",
          "evaluator",
          "label",
          "category",
          "severity",
          "waivable",
          "scope",
          "parameters",
          "remediation",
          "evaluation"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "checkId": {
            "type": "string",
            "minLength": 1
          },
          "evaluator": {
            "enum": [
              "minimum_metric",
              "maximum_metric",
              "protected_objects_unchanged",
              "accessible_route_graph",
              "turning_clearance",
              "accessible_seating",
              "accessible_seating_sightlines",
              "door_clearance",
              "temporary_ramp",
              "occupancy_capacity",
              "circulation_graph",
              "sightline_raycast",
              "production_readiness",
              "catering_readiness",
              "emergency_readiness"
            ]
          },
          "label": {
            "type": "string",
            "minLength": 1
          },
          "category": {
            "type": "string",
            "minLength": 1
          },
          "severity": {
            "enum": [
              "error",
              "warning"
            ]
          },
          "waivable": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean",
            "default": true
          },
          "scope": {
            "type": "object",
            "required": [
              "kind"
            ],
            "properties": {
              "kind": {
                "enum": [
                  "plan",
                  "zone",
                  "object"
                ]
              },
              "id": {
                "type": "string",
                "minLength": 1
              }
            },
            "additionalProperties": false
          },
          "parameters": {
            "type": "object",
            "additionalProperties": true
          },
          "policy": {
            "type": "object",
            "required": [
              "source",
              "jurisdiction",
              "effectiveDate"
            ],
            "properties": {
              "source": {
                "type": "string"
              },
              "jurisdiction": {
                "type": "string"
              },
              "effectiveDate": {
                "type": "string",
                "format": "date"
              }
            },
            "additionalProperties": false
          },
          "remediation": {
            "type": "string",
            "minLength": 1
          },
          "evaluation": {
            "oneOf": [
              {
                "type": "object",
                "required": [
                  "status",
                  "actual",
                  "threshold",
                  "unit",
                  "waiver"
                ],
                "properties": {
                  "status": {
                    "enum": [
                      "pass",
                      "warning",
                      "fail",
                      "not-applicable"
                    ]
                  },
                  "actual": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "threshold": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "unit": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "waiver": {
                    "anyOf": [
                      {
                        "$ref": "https://venuemind.dev/schemas/warning-waiver.schema.json"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      }
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.inspect_layout",
    "description": "Read the active venue plan, stable object IDs, locked objects, constraints, metrics, proposal state, and branch summaries.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "Inspect Layout",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 1048576
    },
    "exampleInput": {},
    "outputSchema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "https://venuemind.dev/schemas/layout-inspection.schema.json",
      "title": "VenueMind Layout Inspection",
      "type": "object",
      "required": [
        "planId",
        "planVersion",
        "event",
        "venue",
        "templateBindings",
        "inventoryAvailability",
        "occupancy",
        "staffing",
        "productionPolicy",
        "cateringPolicy",
        "emergencyPlan",
        "emergencyReviews",
        "spatial",
        "spatialObjects",
        "lockedObjects",
        "projectLocks",
        "comments",
        "scenarios",
        "scenarioRuns",
        "constraints",
        "metrics",
        "proposal",
        "activeBranchId",
        "proposalBranches",
        "commandReceiptCount",
        "ledgerIntegrity",
        "brief"
      ],
      "properties": {
        "planId": {
          "type": "string",
          "minLength": 1
        },
        "planVersion": {
          "type": "string",
          "minLength": 1
        },
        "event": {
          "type": "object"
        },
        "venue": {
          "type": "object"
        },
        "templateBindings": {
          "type": "object"
        },
        "inventoryAvailability": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "occupancy": {
          "type": "object"
        },
        "staffing": {
          "type": [
            "object",
            "null"
          ]
        },
        "productionPolicy": {
          "type": [
            "object",
            "null"
          ]
        },
        "cateringPolicy": {
          "type": [
            "object",
            "null"
          ]
        },
        "emergencyPlan": {
          "type": [
            "object",
            "null"
          ]
        },
        "emergencyReviews": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "spatial": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/spatial-geometry.schema.json",
          "title": "VenueMind Spatial Geometry",
          "type": "object",
          "required": [
            "schemaVersion",
            "unit",
            "units",
            "layers",
            "coordinateSystem",
            "precision",
            "roomBoundary",
            "fingerprint"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "unit": {
              "const": "m"
            },
            "units": {
              "type": "object",
              "required": [
                "length",
                "area",
                "angle",
                "time"
              ],
              "properties": {
                "length": {
                  "const": "m"
                },
                "area": {
                  "const": "m2"
                },
                "angle": {
                  "const": "deg"
                },
                "time": {
                  "const": "s"
                }
              },
              "additionalProperties": false
            },
            "layers": {
              "type": "array",
              "prefixItems": [
                {
                  "const": "architecture"
                },
                {
                  "const": "furniture"
                },
                {
                  "const": "access"
                },
                {
                  "const": "production"
                },
                {
                  "const": "catering"
                },
                {
                  "const": "safety"
                },
                {
                  "const": "annotations"
                }
              ],
              "minItems": 7,
              "maxItems": 7
            },
            "coordinateSystem": {
              "type": "object",
              "required": [
                "origin",
                "xAxis",
                "yAxis",
                "rotationDirection"
              ],
              "properties": {
                "origin": {
                  "const": "southwest"
                },
                "xAxis": {
                  "const": "east"
                },
                "yAxis": {
                  "const": "north"
                },
                "rotationDirection": {
                  "const": "clockwise"
                }
              },
              "additionalProperties": false
            },
            "precision": {
              "type": "object",
              "required": [
                "distance",
                "angle"
              ],
              "properties": {
                "distance": {
                  "const": 3
                },
                "angle": {
                  "const": 1
                }
              },
              "additionalProperties": false
            },
            "roomBoundary": {
              "type": "object",
              "required": [
                "outer",
                "holes"
              ],
              "properties": {
                "outer": {
                  "type": "array",
                  "minItems": 3,
                  "items": {
                    "type": "object",
                    "required": [
                      "x",
                      "y"
                    ],
                    "properties": {
                      "x": {
                        "type": "number"
                      },
                      "y": {
                        "type": "number"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "holes": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "minItems": 3,
                    "items": {
                      "type": "object",
                      "required": [
                        "x",
                        "y"
                      ],
                      "properties": {
                        "x": {
                          "type": "number"
                        },
                        "y": {
                          "type": "number"
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                }
              },
              "additionalProperties": false
            },
            "fingerprint": {
              "type": "string",
              "pattern": "^geom-[0-9a-f]{8}$"
            }
          },
          "$defs": {
            "point": {
              "type": "object",
              "required": [
                "x",
                "y"
              ],
              "properties": {
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "footprint": {
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "kind",
                    "center",
                    "width",
                    "depth",
                    "rotationDegrees"
                  ],
                  "properties": {
                    "kind": {
                      "const": "rectangle"
                    },
                    "center": {
                      "type": "object",
                      "required": [
                        "x",
                        "y"
                      ],
                      "properties": {
                        "x": {
                          "type": "number"
                        },
                        "y": {
                          "type": "number"
                        }
                      },
                      "additionalProperties": false
                    },
                    "width": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "depth": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "rotationDegrees": {
                      "type": "number",
                      "minimum": 0,
                      "exclusiveMaximum": 360
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "kind",
                    "center",
                    "radius"
                  ],
                  "properties": {
                    "kind": {
                      "const": "circle"
                    },
                    "center": {
                      "type": "object",
                      "required": [
                        "x",
                        "y"
                      ],
                      "properties": {
                        "x": {
                          "type": "number"
                        },
                        "y": {
                          "type": "number"
                        }
                      },
                      "additionalProperties": false
                    },
                    "radius": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "kind",
                    "start",
                    "end",
                    "width"
                  ],
                  "properties": {
                    "kind": {
                      "const": "line"
                    },
                    "start": {
                      "type": "object",
                      "required": [
                        "x",
                        "y"
                      ],
                      "properties": {
                        "x": {
                          "type": "number"
                        },
                        "y": {
                          "type": "number"
                        }
                      },
                      "additionalProperties": false
                    },
                    "end": {
                      "type": "object",
                      "required": [
                        "x",
                        "y"
                      ],
                      "properties": {
                        "x": {
                          "type": "number"
                        },
                        "y": {
                          "type": "number"
                        }
                      },
                      "additionalProperties": false
                    },
                    "width": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "kind",
                    "points",
                    "rotationDegrees"
                  ],
                  "properties": {
                    "kind": {
                      "const": "polygon"
                    },
                    "points": {
                      "type": "array",
                      "minItems": 3,
                      "items": {
                        "type": "object",
                        "required": [
                          "x",
                          "y"
                        ],
                        "properties": {
                          "x": {
                            "type": "number"
                          },
                          "y": {
                            "type": "number"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "rotationDegrees": {
                      "type": "number",
                      "minimum": 0,
                      "exclusiveMaximum": 360
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "additionalProperties": false
        },
        "spatialObjects": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "kind",
              "label"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "kind": {
                "type": "string"
              },
              "label": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        },
        "lockedObjects": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "projectLocks": {
          "type": "array",
          "items": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "$id": "https://venuemind.dev/schemas/object-lock.schema.json",
            "title": "VenueMind Object Lock",
            "type": "object",
            "required": [
              "id",
              "objectId",
              "type",
              "source",
              "reasonCode",
              "authorId",
              "active"
            ],
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              },
              "objectId": {
                "type": "string",
                "minLength": 1
              },
              "type": {
                "enum": [
                  "position",
                  "rotation",
                  "dimension",
                  "deletion",
                  "role"
                ]
              },
              "source": {
                "enum": [
                  "venue-template",
                  "project"
                ]
              },
              "reasonCode": {
                "type": "string",
                "minLength": 1
              },
              "authorId": {
                "type": "string",
                "minLength": 1
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "expiresAt": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "releasedAt": {
                "type": "string",
                "format": "date-time"
              },
              "releasedBy": {
                "type": "string",
                "minLength": 1
              },
              "active": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          }
        },
        "comments": {
          "type": "array",
          "items": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "$id": "https://venuemind.dev/schemas/comment.schema.json",
            "title": "VenueMind Comment",
            "type": "object",
            "required": [
              "id",
              "anchor",
              "body",
              "mentions",
              "decisionRelevant",
              "status",
              "authorId",
              "authorType",
              "createdAt",
              "updatedAt",
              "resolvedAt",
              "resolvedBy",
              "editHistory"
            ],
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^comment-[0-9]+$"
              },
              "anchor": {
                "$ref": "https://venuemind.dev/schemas/comment-anchor.schema.json"
              },
              "body": {
                "type": "string",
                "minLength": 1,
                "maxLength": 5000
              },
              "mentions": {
                "type": "array",
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "decisionRelevant": {
                "type": "boolean"
              },
              "status": {
                "enum": [
                  "open",
                  "resolved"
                ]
              },
              "authorId": {
                "type": "string",
                "minLength": 1
              },
              "authorType": {
                "enum": [
                  "human",
                  "agent",
                  "system"
                ]
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "updatedAt": {
                "type": "string",
                "format": "date-time"
              },
              "resolvedAt": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "resolvedBy": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "editHistory": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "body",
                    "mentions",
                    "decisionRelevant",
                    "editedAt",
                    "editedBy"
                  ],
                  "properties": {
                    "body": {
                      "type": "string"
                    },
                    "mentions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "decisionRelevant": {
                      "type": "boolean"
                    },
                    "editedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "editedBy": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                }
              }
            },
            "additionalProperties": false
          }
        },
        "scenarios": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "scenarioRuns": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "constraints": {
          "type": "array",
          "items": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "$id": "https://venuemind.dev/schemas/venue-constraint.schema.json",
            "title": "VenueMind Constraint",
            "type": "object",
            "required": [
              "id",
              "checkId",
              "evaluator",
              "label",
              "category",
              "severity",
              "waivable",
              "scope",
              "parameters",
              "remediation"
            ],
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              },
              "checkId": {
                "type": "string",
                "minLength": 1
              },
              "evaluator": {
                "enum": [
                  "minimum_metric",
                  "maximum_metric",
                  "protected_objects_unchanged",
                  "accessible_route_graph",
                  "turning_clearance",
                  "accessible_seating",
                  "accessible_seating_sightlines",
                  "door_clearance",
                  "temporary_ramp",
                  "occupancy_capacity",
                  "circulation_graph",
                  "sightline_raycast",
                  "production_readiness",
                  "catering_readiness",
                  "emergency_readiness"
                ]
              },
              "label": {
                "type": "string",
                "minLength": 1
              },
              "category": {
                "type": "string",
                "minLength": 1
              },
              "severity": {
                "enum": [
                  "error",
                  "warning"
                ]
              },
              "waivable": {
                "type": "boolean"
              },
              "enabled": {
                "type": "boolean",
                "default": true
              },
              "scope": {
                "type": "object",
                "required": [
                  "kind"
                ],
                "properties": {
                  "kind": {
                    "enum": [
                      "plan",
                      "zone",
                      "object"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "additionalProperties": false
              },
              "parameters": {
                "type": "object",
                "additionalProperties": true
              },
              "policy": {
                "type": "object",
                "required": [
                  "source",
                  "jurisdiction",
                  "effectiveDate"
                ],
                "properties": {
                  "source": {
                    "type": "string"
                  },
                  "jurisdiction": {
                    "type": "string"
                  },
                  "effectiveDate": {
                    "type": "string",
                    "format": "date"
                  }
                },
                "additionalProperties": false
              },
              "remediation": {
                "type": "string",
                "minLength": 1
              }
            },
            "allOf": [
              {
                "if": {
                  "properties": {
                    "severity": {
                      "const": "error"
                    }
                  },
                  "required": [
                    "severity"
                  ]
                },
                "then": {
                  "properties": {
                    "waivable": {
                      "const": false
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "severity": {
                      "const": "warning"
                    }
                  },
                  "required": [
                    "severity"
                  ]
                },
                "then": {
                  "properties": {
                    "waivable": {
                      "const": true
                    }
                  }
                }
              }
            ],
            "additionalProperties": false
          }
        },
        "metrics": {
          "type": "object"
        },
        "proposal": {
          "anyOf": [
            {
              "type": "object",
              "required": [
                "id",
                "baseVersion",
                "revision",
                "status",
                "goal",
                "changedItems",
                "templateUpdate"
              ],
              "properties": {
                "id": {
                  "type": "string"
                },
                "baseVersion": {
                  "type": "string"
                },
                "revision": {
                  "type": "integer",
                  "minimum": 1
                },
                "status": {
                  "type": "string"
                },
                "goal": {
                  "type": "string"
                },
                "changedItems": {
                  "type": "integer",
                  "minimum": 0
                },
                "templateUpdate": {
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "activeBranchId": {
          "type": "string",
          "minLength": 1
        },
        "proposalBranches": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "name",
              "strategy",
              "proposalId"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "strategy": {
                "type": "string"
              },
              "proposalId": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        },
        "commandReceiptCount": {
          "type": "integer",
          "minimum": 0
        },
        "ledgerIntegrity": {
          "type": "object"
        },
        "brief": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/event-brief.schema.json",
          "title": "VenueMind Event Brief",
          "type": "object",
          "required": [
            "id",
            "eventName",
            "date",
            "timezone",
            "venueId",
            "roomId",
            "attendeeTarget",
            "occupancyMode",
            "requirements"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "eventName": {
              "type": "string",
              "minLength": 1
            },
            "date": {
              "type": [
                "string",
                "null"
              ],
              "format": "date"
            },
            "timezone": {
              "type": "string",
              "minLength": 1
            },
            "venueId": {
              "type": [
                "string",
                "null"
              ]
            },
            "roomId": {
              "type": [
                "string",
                "null"
              ]
            },
            "attendeeTarget": {
              "type": "integer",
              "minimum": 0
            },
            "occupancyMode": {
              "enum": [
                "theater",
                "classroom",
                "banquet",
                "standing",
                "mixed",
                "custom"
              ]
            },
            "schedule": {
              "anyOf": [
                {
                  "type": "null"
                },
                {
                  "type": "object",
                  "required": [
                    "startAt",
                    "endAt",
                    "timezone"
                  ],
                  "properties": {
                    "startAt": {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?(?:Z|(?!-00:00)[+-]\\d{2}:\\d{2})$"
                    },
                    "endAt": {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?(?:Z|(?!-00:00)[+-]\\d{2}:\\d{2})$"
                    },
                    "timezone": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                }
              ]
            },
            "planningEffectBindings": {
              "type": "object",
              "properties": {
                "set_attendance_target": {
                  "type": "object",
                  "required": [
                    "targetRequirementId",
                    "category",
                    "affectedConstraintIds"
                  ],
                  "properties": {
                    "targetRequirementId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "category": {
                      "const": "seating"
                    },
                    "affectedConstraintIds": {
                      "type": "array",
                      "minItems": 1,
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "minLength": 1
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "set_event_schedule": {
                  "type": "object",
                  "required": [
                    "targetRequirementId",
                    "category",
                    "affectedConstraintIds"
                  ],
                  "properties": {
                    "targetRequirementId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "category": {
                      "const": "staffing"
                    },
                    "affectedConstraintIds": {
                      "type": "array",
                      "maxItems": 0
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "requirements": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "category",
                  "label",
                  "priority",
                  "owner",
                  "status",
                  "measurable",
                  "constraintIds",
                  "evidenceRefs"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "category": {
                    "enum": [
                      "accessibility",
                      "seating",
                      "production",
                      "catering",
                      "staffing",
                      "security",
                      "emergency",
                      "circulation"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "minLength": 1
                  },
                  "priority": {
                    "enum": [
                      "critical",
                      "high",
                      "medium",
                      "low"
                    ]
                  },
                  "owner": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "status": {
                    "enum": [
                      "open",
                      "confirmed",
                      "satisfied",
                      "waived"
                    ]
                  },
                  "measurable": {
                    "type": "boolean"
                  },
                  "constraintIds": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "evidenceRefs": {
                    "type": "array",
                    "uniqueItems": true,
                    "items": {
                      "type": "string",
                      "minLength": 1
                    }
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.get_object",
    "description": "Read one stable object with scoped accepted or Proposal geometry, operational metadata, and effective Locks.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "objectId": {
          "type": "string",
          "minLength": 1
        },
        "scope": {
          "enum": [
            "accepted",
            "proposal"
          ],
          "default": "proposal"
        }
      },
      "required": [
        "objectId"
      ],
      "additionalProperties": false
    },
    "title": "Get Object",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "objectId": "obj-av-desk",
      "scope": "proposal"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "scope",
        "planId",
        "planVersion",
        "proposalId",
        "object"
      ],
      "properties": {
        "scope": {
          "enum": [
            "accepted",
            "proposal"
          ]
        },
        "planId": {
          "type": "string",
          "minLength": 1
        },
        "planVersion": {
          "type": "string",
          "minLength": 1
        },
        "proposalId": {
          "type": [
            "string",
            "null"
          ]
        },
        "object": {
          "type": "object",
          "required": [
            "id",
            "kind",
            "footprint",
            "effectiveLocks"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "kind": {
              "type": "string",
              "minLength": 1
            },
            "label": {
              "type": "string"
            },
            "layer": {
              "enum": [
                "architecture",
                "furniture",
                "access",
                "production",
                "catering",
                "safety",
                "annotations"
              ]
            },
            "elevationM": {
              "type": "number",
              "minimum": 0
            },
            "footprint": {
              "oneOf": [
                {
                  "type": "object",
                  "required": [
                    "kind",
                    "center",
                    "width",
                    "depth",
                    "rotationDegrees"
                  ],
                  "properties": {
                    "kind": {
                      "const": "rectangle"
                    },
                    "center": {
                      "type": "object",
                      "required": [
                        "x",
                        "y"
                      ],
                      "properties": {
                        "x": {
                          "type": "number"
                        },
                        "y": {
                          "type": "number"
                        }
                      },
                      "additionalProperties": false
                    },
                    "width": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "depth": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "rotationDegrees": {
                      "type": "number",
                      "minimum": 0,
                      "exclusiveMaximum": 360
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "kind",
                    "center",
                    "radius"
                  ],
                  "properties": {
                    "kind": {
                      "const": "circle"
                    },
                    "center": {
                      "type": "object",
                      "required": [
                        "x",
                        "y"
                      ],
                      "properties": {
                        "x": {
                          "type": "number"
                        },
                        "y": {
                          "type": "number"
                        }
                      },
                      "additionalProperties": false
                    },
                    "radius": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "kind",
                    "start",
                    "end",
                    "width"
                  ],
                  "properties": {
                    "kind": {
                      "const": "line"
                    },
                    "start": {
                      "type": "object",
                      "required": [
                        "x",
                        "y"
                      ],
                      "properties": {
                        "x": {
                          "type": "number"
                        },
                        "y": {
                          "type": "number"
                        }
                      },
                      "additionalProperties": false
                    },
                    "end": {
                      "type": "object",
                      "required": [
                        "x",
                        "y"
                      ],
                      "properties": {
                        "x": {
                          "type": "number"
                        },
                        "y": {
                          "type": "number"
                        }
                      },
                      "additionalProperties": false
                    },
                    "width": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "required": [
                    "kind",
                    "points",
                    "rotationDegrees"
                  ],
                  "properties": {
                    "kind": {
                      "const": "polygon"
                    },
                    "points": {
                      "type": "array",
                      "minItems": 3,
                      "items": {
                        "type": "object",
                        "required": [
                          "x",
                          "y"
                        ],
                        "properties": {
                          "x": {
                            "type": "number"
                          },
                          "y": {
                            "type": "number"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "rotationDegrees": {
                      "type": "number",
                      "minimum": 0,
                      "exclusiveMaximum": 360
                    }
                  },
                  "additionalProperties": false
                }
              ]
            },
            "capacity": {
              "type": "integer",
              "minimum": 0
            },
            "placement": {
              "type": "object",
              "required": [
                "collisionMode"
              ],
              "properties": {
                "collisionMode": {
                  "const": "solid"
                }
              },
              "additionalProperties": false
            },
            "circulation": {
              "type": "object",
              "properties": {
                "blocksPath": {
                  "type": "boolean"
                },
                "blocksExitApproach": {
                  "type": "boolean"
                },
                "role": {
                  "enum": [
                    "queue",
                    "checkpoint"
                  ]
                },
                "demandPersons": {
                  "type": "integer",
                  "minimum": 0
                },
                "capacityPersons": {
                  "type": "integer",
                  "minimum": 0
                },
                "capacityPersonsPerMinute": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "clearWidthM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "carCapacityPersons": {
                  "type": "integer",
                  "minimum": 1
                },
                "cycleSeconds": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "servesZoneIds": {
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "additionalProperties": false
            },
            "queue": {
              "type": "object",
              "required": [
                "category",
                "servers",
                "serviceRatePerServerMinute",
                "priorityLaneCount"
              ],
              "properties": {
                "category": {
                  "enum": [
                    "registration",
                    "security",
                    "cloakroom",
                    "food",
                    "beverage",
                    "restroom",
                    "merchandise",
                    "transport"
                  ]
                },
                "servers": {
                  "type": "integer",
                  "minimum": 1
                },
                "serviceRatePerServerMinute": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "priorityLaneCount": {
                  "type": "integer",
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "staffPost": {
              "type": "object",
              "required": [
                "coverageZoneObjectIds",
                "assignments"
              ],
              "properties": {
                "coverageZoneObjectIds": {
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "assignments": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "shiftId",
                      "roleId",
                      "count"
                    ],
                    "properties": {
                      "shiftId": {
                        "type": "string",
                        "minLength": 1
                      },
                      "roleId": {
                        "type": "string",
                        "minLength": 1
                      },
                      "count": {
                        "type": "integer",
                        "minimum": 1
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            },
            "utility": {
              "type": "object",
              "required": [
                "type",
                "circuitId",
                "voltage",
                "maxWatts"
              ],
              "properties": {
                "type": {
                  "const": "power"
                },
                "circuitId": {
                  "type": "string",
                  "minLength": 1
                },
                "rating": {
                  "type": "string"
                },
                "voltage": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "maxWatts": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "powerKw": {
                  "type": "number",
                  "exclusiveMinimum": 0
                }
              },
              "additionalProperties": false
            },
            "rigging": {
              "type": "object",
              "required": [
                "safeWorkingLoadKg"
              ],
              "properties": {
                "safeWorkingLoadKg": {
                  "type": "number",
                  "exclusiveMinimum": 0
                }
              },
              "additionalProperties": false
            },
            "productionZone": {
              "type": "object",
              "required": [
                "access"
              ],
              "properties": {
                "access": {
                  "enum": [
                    "crew-only",
                    "performer-only",
                    "mixed"
                  ]
                }
              },
              "additionalProperties": false
            },
            "resourceBinding": {
              "type": "object",
              "required": [
                "schemaVersion",
                "resourceId",
                "kind",
                "quantity"
              ],
              "properties": {
                "schemaVersion": {
                  "const": 1
                },
                "resourceId": {
                  "type": "string",
                  "pattern": "^resource-[a-z0-9]+(?:-[a-z0-9]+)*$"
                },
                "kind": {
                  "enum": [
                    "inventory",
                    "av",
                    "power",
                    "catering",
                    "staffing"
                  ]
                },
                "quantity": {
                  "type": "integer",
                  "minimum": 1
                }
              },
              "additionalProperties": false
            },
            "production": {
              "type": "object",
              "required": [
                "equipmentType"
              ],
              "properties": {
                "equipmentType": {
                  "enum": [
                    "screen",
                    "projector",
                    "speaker",
                    "camera",
                    "control-desk",
                    "cable-route",
                    "power-distribution",
                    "rigged-equipment"
                  ]
                },
                "targetObjectId": {
                  "type": "string",
                  "minLength": 1
                },
                "targetObjectIds": {
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "targetZoneObjectIds": {
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "sourceObjectId": {
                  "type": "string",
                  "minLength": 1
                },
                "circuitId": {
                  "type": "string",
                  "minLength": 1
                },
                "riggingPointId": {
                  "type": "string",
                  "minLength": 1
                },
                "viewableWidthM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "viewableHeightM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "throwRatioMin": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "throwRatioMax": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "powerWatts": {
                  "type": "number",
                  "minimum": 0
                },
                "weightKg": {
                  "type": "number",
                  "minimum": 0
                },
                "requiresRigging": {
                  "type": "boolean"
                },
                "aimPoint": {
                  "type": "object",
                  "required": [
                    "x",
                    "y"
                  ],
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "additionalProperties": false
                },
                "coverageRangeM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "coverageAngleDegrees": {
                  "type": "number",
                  "exclusiveMinimum": 0,
                  "maximum": 360
                },
                "minimumDistanceM": {
                  "type": "number",
                  "minimum": 0
                },
                "maximumDistanceM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "cableType": {
                  "type": "string",
                  "minLength": 1
                },
                "crossingTreatment": {
                  "enum": [
                    "none",
                    "overhead",
                    "cable-ramp",
                    "floor-channel"
                  ]
                }
              },
              "additionalProperties": false
            },
            "catering": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "enum": [
                    "bar",
                    "buffet",
                    "service-counter",
                    "kitchen",
                    "prep",
                    "waste",
                    "water",
                    "queue-zone",
                    "replenishment-route"
                  ]
                },
                "servers": {
                  "type": "integer",
                  "minimum": 1
                },
                "serviceRatePerServerMinute": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "demandShare": {
                  "type": "number",
                  "exclusiveMinimum": 0,
                  "maximum": 1
                },
                "queueZoneObjectId": {
                  "type": "string",
                  "minLength": 1
                },
                "queueBufferPersons": {
                  "type": "integer",
                  "minimum": 0
                },
                "accessibleServicePoint": {
                  "type": "boolean"
                },
                "serviceHeightM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "dietaryOptions": {
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "allergenLabels": {
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "replenishmentSourceObjectId": {
                  "type": "string",
                  "minLength": 1
                },
                "waterSourceObjectId": {
                  "type": "string",
                  "minLength": 1
                },
                "sourceObjectId": {
                  "type": "string",
                  "minLength": 1
                },
                "targetObjectIds": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "crossingControl": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            },
            "emergency": {
              "type": "object",
              "required": [
                "type"
              ],
              "properties": {
                "type": {
                  "enum": [
                    "assembly-point",
                    "emergency-access-lane",
                    "fire-equipment",
                    "first-aid",
                    "command-post"
                  ]
                },
                "capacityPersons": {
                  "type": "integer",
                  "minimum": 1
                },
                "designatedExitObjectIds": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "responderOnly": {
                  "type": "boolean"
                },
                "equipmentClass": {
                  "type": "string",
                  "minLength": 1
                },
                "coverageRadiusM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "clearanceM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "accessible": {
                  "type": "boolean"
                },
                "powerSourceCircuitId": {
                  "type": "string",
                  "minLength": 1
                },
                "backupPowerMinutes": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "entrance": {
              "type": "object",
              "properties": {
                "clearWidthM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "accessible": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            },
            "door": {
              "type": "object",
              "required": [
                "clearWidthM",
                "swing",
                "accessible"
              ],
              "properties": {
                "clearWidthM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "swing": {
                  "enum": [
                    "inward",
                    "outward",
                    "sliding",
                    "revolving"
                  ]
                },
                "accessible": {
                  "type": "boolean"
                },
                "clearance": {
                  "type": "object",
                  "required": [
                    "side",
                    "depthM",
                    "latchSideM"
                  ],
                  "properties": {
                    "side": {
                      "enum": [
                        "left",
                        "right",
                        "both"
                      ]
                    },
                    "depthM": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "latchSideM": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "exit": {
              "type": "object",
              "required": [
                "clearWidthM",
                "emergency",
                "capacityPersons"
              ],
              "properties": {
                "clearWidthM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "emergency": {
                  "type": "boolean"
                },
                "capacityPersons": {
                  "type": "integer",
                  "minimum": 1
                }
              },
              "additionalProperties": false
            },
            "route": {
              "type": "object",
              "required": [
                "direction",
                "accessible",
                "purpose"
              ],
              "properties": {
                "direction": {
                  "enum": [
                    "one-way",
                    "bidirectional"
                  ]
                },
                "accessible": {
                  "type": "boolean"
                },
                "purpose": {
                  "type": "string",
                  "minLength": 1
                },
                "staffOnly": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            },
            "restriction": {
              "type": "object",
              "required": [
                "access",
                "reasonCode",
                "blocksPlacement"
              ],
              "properties": {
                "access": {
                  "enum": [
                    "prohibited",
                    "staff-only",
                    "conditional"
                  ]
                },
                "reasonCode": {
                  "type": "string",
                  "minLength": 1
                },
                "blocksPlacement": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            },
            "ramp": {
              "type": "object",
              "required": [
                "riseM",
                "runM",
                "clearWidthM",
                "landingLengthM",
                "edgeProtectionHeightM",
                "handrails"
              ],
              "properties": {
                "riseM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "runM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "clearWidthM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "landingLengthM": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "edgeProtectionHeightM": {
                  "type": "number",
                  "minimum": 0
                },
                "handrails": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            },
            "locks": {
              "type": "array",
              "items": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "$id": "https://venuemind.dev/schemas/object-lock.schema.json",
                "title": "VenueMind Object Lock",
                "type": "object",
                "required": [
                  "id",
                  "objectId",
                  "type",
                  "source",
                  "reasonCode",
                  "authorId",
                  "active"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "objectId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "type": {
                    "enum": [
                      "position",
                      "rotation",
                      "dimension",
                      "deletion",
                      "role"
                    ]
                  },
                  "source": {
                    "enum": [
                      "venue-template",
                      "project"
                    ]
                  },
                  "reasonCode": {
                    "type": "string",
                    "minLength": 1
                  },
                  "authorId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "expiresAt": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "format": "date-time"
                  },
                  "releasedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "releasedBy": {
                    "type": "string",
                    "minLength": 1
                  },
                  "active": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            },
            "locked": {
              "type": "boolean"
            },
            "occupancy": {
              "type": "object",
              "properties": {
                "expected": {
                  "type": "integer",
                  "minimum": 0
                },
                "maximum": {
                  "type": "integer",
                  "minimum": 0
                },
                "minimumCapacity": {
                  "type": "integer",
                  "minimum": 0
                },
                "maximumCapacity": {
                  "type": "integer",
                  "minimum": 0
                },
                "zoneId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "excludesUsableArea": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            },
            "accessibility": {
              "type": "object",
              "properties": {
                "accessible": {
                  "type": "boolean"
                },
                "destination": {
                  "type": "boolean"
                },
                "accessibleSeats": {
                  "type": "integer",
                  "minimum": 0
                },
                "companionSeats": {
                  "type": "integer",
                  "minimum": 0
                },
                "accessibleSeatSampleIds": {
                  "type": "array",
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "clearanceExempt": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            },
            "sightline": {
              "type": "object",
              "properties": {
                "focalPoints": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "id",
                      "point",
                      "elevationM"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1
                      },
                      "point": {
                        "type": "object",
                        "required": [
                          "x",
                          "y"
                        ],
                        "properties": {
                          "x": {
                            "type": "number"
                          },
                          "y": {
                            "type": "number"
                          }
                        },
                        "additionalProperties": false
                      },
                      "elevationM": {
                        "type": "number",
                        "minimum": 0
                      },
                      "priority": {
                        "enum": [
                          "primary",
                          "secondary"
                        ]
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "samples": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "id",
                      "point",
                      "eyeHeightM"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1
                      },
                      "point": {
                        "type": "object",
                        "required": [
                          "x",
                          "y"
                        ],
                        "properties": {
                          "x": {
                            "type": "number"
                          },
                          "y": {
                            "type": "number"
                          }
                        },
                        "additionalProperties": false
                      },
                      "eyeHeightM": {
                        "type": "number",
                        "minimum": 0
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "opacity": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                },
                "heightM": {
                  "type": "number",
                  "minimum": 0
                }
              },
              "additionalProperties": false
            },
            "templateRef": {
              "type": "object",
              "required": [
                "kind",
                "templateId",
                "version"
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "venue-template",
                    "room-template",
                    "inventory-item-template"
                  ]
                },
                "templateId": {
                  "type": "string",
                  "minLength": 1
                },
                "templateObjectId": {
                  "type": "string",
                  "minLength": 1
                },
                "version": {
                  "type": "string",
                  "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
                }
              },
              "additionalProperties": false
            },
            "templateOverrides": {
              "type": "array",
              "uniqueItems": true,
              "items": {
                "type": "string",
                "minLength": 1
              }
            },
            "inventoryCount": {
              "type": "integer",
              "minimum": 1
            },
            "groupId": {
              "type": [
                "string",
                "null"
              ]
            },
            "specification": {
              "type": "object",
              "properties": {
                "dimensions": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "number"
                  }
                },
                "weightKg": {
                  "type": "number",
                  "minimum": 0
                },
                "power": {
                  "type": "object",
                  "required": [
                    "watts",
                    "connector"
                  ],
                  "properties": {
                    "watts": {
                      "type": "number",
                      "minimum": 0
                    },
                    "connector": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                "capacity": {
                  "type": "integer",
                  "minimum": 0
                },
                "cost": {
                  "type": "object",
                  "required": [
                    "amount"
                  ],
                  "properties": {
                    "amount": {
                      "type": "number",
                      "minimum": 0
                    },
                    "currency": {
                      "type": "string"
                    },
                    "basis": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "effectiveLocks": {
              "type": "array",
              "items": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "$id": "https://venuemind.dev/schemas/object-lock.schema.json",
                "title": "VenueMind Object Lock",
                "type": "object",
                "required": [
                  "id",
                  "objectId",
                  "type",
                  "source",
                  "reasonCode",
                  "authorId",
                  "active"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "objectId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "type": {
                    "enum": [
                      "position",
                      "rotation",
                      "dimension",
                      "deletion",
                      "role"
                    ]
                  },
                  "source": {
                    "enum": [
                      "venue-template",
                      "project"
                    ]
                  },
                  "reasonCode": {
                    "type": "string",
                    "minLength": 1
                  },
                  "authorId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "expiresAt": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "format": "date-time"
                  },
                  "releasedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "releasedBy": {
                    "type": "string",
                    "minLength": 1
                  },
                  "active": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "OBJECT_NOT_FOUND"
    ]
  },
  {
    "name": "venue.search_objects",
    "description": "Search stable venue objects with bounded text, kind, layer, Lock, and accepted-versus-Proposal filters.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "query": {
          "type": "string",
          "maxLength": 200
        },
        "kinds": {
          "type": "array",
          "maxItems": 10,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "layers": {
          "type": "array",
          "maxItems": 7,
          "uniqueItems": true,
          "items": {
            "enum": [
              "architecture",
              "furniture",
              "access",
              "production",
              "catering",
              "safety",
              "annotations"
            ]
          }
        },
        "locked": {
          "type": "boolean"
        },
        "scope": {
          "enum": [
            "accepted",
            "proposal"
          ],
          "default": "proposal"
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 50,
          "default": 20
        }
      },
      "additionalProperties": false
    },
    "title": "Search Objects",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "query": "route",
      "layers": [
        "access"
      ],
      "limit": 10
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "scope",
        "planId",
        "planVersion",
        "proposalId",
        "total",
        "limit",
        "truncated",
        "objects"
      ],
      "properties": {
        "scope": {
          "enum": [
            "accepted",
            "proposal"
          ]
        },
        "planId": {
          "type": "string",
          "minLength": 1
        },
        "planVersion": {
          "type": "string",
          "minLength": 1
        },
        "proposalId": {
          "type": [
            "string",
            "null"
          ]
        },
        "total": {
          "type": "integer",
          "minimum": 0
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 50
        },
        "truncated": {
          "type": "boolean"
        },
        "objects": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "kind",
              "footprint",
              "locked",
              "lockIds"
            ],
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              },
              "label": {
                "type": "string"
              },
              "kind": {
                "type": "string",
                "minLength": 1
              },
              "layer": {
                "enum": [
                  "architecture",
                  "furniture",
                  "access",
                  "production",
                  "catering",
                  "safety",
                  "annotations"
                ]
              },
              "elevationM": {
                "type": "number",
                "minimum": 0
              },
              "footprint": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "kind",
                      "center",
                      "width",
                      "depth",
                      "rotationDegrees"
                    ],
                    "properties": {
                      "kind": {
                        "const": "rectangle"
                      },
                      "center": {
                        "type": "object",
                        "required": [
                          "x",
                          "y"
                        ],
                        "properties": {
                          "x": {
                            "type": "number"
                          },
                          "y": {
                            "type": "number"
                          }
                        },
                        "additionalProperties": false
                      },
                      "width": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      },
                      "depth": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      },
                      "rotationDegrees": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMaximum": 360
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "kind",
                      "center",
                      "radius"
                    ],
                    "properties": {
                      "kind": {
                        "const": "circle"
                      },
                      "center": {
                        "type": "object",
                        "required": [
                          "x",
                          "y"
                        ],
                        "properties": {
                          "x": {
                            "type": "number"
                          },
                          "y": {
                            "type": "number"
                          }
                        },
                        "additionalProperties": false
                      },
                      "radius": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "kind",
                      "start",
                      "end",
                      "width"
                    ],
                    "properties": {
                      "kind": {
                        "const": "line"
                      },
                      "start": {
                        "type": "object",
                        "required": [
                          "x",
                          "y"
                        ],
                        "properties": {
                          "x": {
                            "type": "number"
                          },
                          "y": {
                            "type": "number"
                          }
                        },
                        "additionalProperties": false
                      },
                      "end": {
                        "type": "object",
                        "required": [
                          "x",
                          "y"
                        ],
                        "properties": {
                          "x": {
                            "type": "number"
                          },
                          "y": {
                            "type": "number"
                          }
                        },
                        "additionalProperties": false
                      },
                      "width": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "required": [
                      "kind",
                      "points",
                      "rotationDegrees"
                    ],
                    "properties": {
                      "kind": {
                        "const": "polygon"
                      },
                      "points": {
                        "type": "array",
                        "minItems": 3,
                        "items": {
                          "type": "object",
                          "required": [
                            "x",
                            "y"
                          ],
                          "properties": {
                            "x": {
                              "type": "number"
                            },
                            "y": {
                              "type": "number"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "rotationDegrees": {
                        "type": "number",
                        "minimum": 0,
                        "exclusiveMaximum": 360
                      }
                    },
                    "additionalProperties": false
                  }
                ]
              },
              "locked": {
                "type": "boolean"
              },
              "lockIds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              }
            },
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.preview_revision",
    "description": "Create a non-destructive venue revision preview. The result remains pending until a human approves it in VenueMind.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "goal": {
          "type": "string",
          "minLength": 1,
          "description": "The spatial outcome the revision should achieve."
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "goal",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Preview Revision",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:propose"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "goal": "Reduce entrance congestion",
      "idempotencyKey": "example-preview-001",
      "correlationId": "example-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "proposalId",
        "baseVersion",
        "revision",
        "changedItems",
        "requiresHumanApproval",
        "receipt"
      ],
      "properties": {
        "proposalId": {
          "type": "string",
          "minLength": 1
        },
        "baseVersion": {
          "type": "string",
          "minLength": 1
        },
        "revision": {
          "type": "integer",
          "minimum": 1
        },
        "changedItems": {
          "type": "integer",
          "minimum": 0
        },
        "requiresHumanApproval": {
          "const": true
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.preview_template_update",
    "description": "Create a non-destructive Proposal containing safe Room Template differences while preserving Project Overrides. Human Approval is always required.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "templateId": {
          "type": "string",
          "minLength": 1
        },
        "toVersion": {
          "type": "string",
          "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "templateId",
        "toVersion",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Preview Template Update",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:propose"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "templateId": "room-template-harborview-main-hall",
      "toVersion": "1.1.0",
      "idempotencyKey": "example-template-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "proposalId",
        "branchId",
        "baseVersion",
        "templateId",
        "fromVersion",
        "toVersion",
        "changedItems",
        "preservedOverrides",
        "requiresHumanApproval",
        "receipt"
      ],
      "properties": {
        "proposalId": {
          "type": "string",
          "minLength": 1
        },
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "baseVersion": {
          "type": "string",
          "minLength": 1
        },
        "templateId": {
          "type": "string",
          "minLength": 1
        },
        "fromVersion": {
          "type": "string",
          "minLength": 1
        },
        "toVersion": {
          "type": "string",
          "minLength": 1
        },
        "changedItems": {
          "type": "integer",
          "minimum": 0
        },
        "preservedOverrides": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "projectObjectId",
              "templateObjectId",
              "path"
            ],
            "properties": {
              "projectObjectId": {
                "type": "string"
              },
              "templateObjectId": {
                "type": "string"
              },
              "path": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        },
        "requiresHumanApproval": {
          "const": true
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.apply_edit",
    "description": "Create one non-destructive, undoable spatial editing Change for placement, transform, duplication, alignment, distribution, grouping, zoning, paste, or deletion.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "edit": {
          "oneOf": [
            {
              "type": "object",
              "required": [
                "operation",
                "roomBoundary",
                "objects"
              ],
              "properties": {
                "operation": {
                  "const": "apply-layout"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "roomBoundary": {
                  "type": "object",
                  "required": [
                    "outer",
                    "holes"
                  ],
                  "properties": {
                    "outer": {
                      "type": "array",
                      "minItems": 3,
                      "items": {
                        "type": "object",
                        "required": [
                          "x",
                          "y"
                        ],
                        "properties": {
                          "x": {
                            "type": "number"
                          },
                          "y": {
                            "type": "number"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "holes": {
                      "type": "array",
                      "items": {
                        "type": "array",
                        "minItems": 3,
                        "items": {
                          "type": "object",
                          "required": [
                            "x",
                            "y"
                          ],
                          "properties": {
                            "x": {
                              "type": "number"
                            },
                            "y": {
                              "type": "number"
                            }
                          },
                          "additionalProperties": false
                        }
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "objects": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "id",
                      "kind",
                      "footprint"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1
                      },
                      "kind": {
                        "type": "string",
                        "minLength": 1
                      },
                      "label": {
                        "type": "string"
                      },
                      "layer": {
                        "enum": [
                          "architecture",
                          "furniture",
                          "access",
                          "production",
                          "catering",
                          "safety",
                          "annotations"
                        ]
                      },
                      "elevationM": {
                        "type": "number",
                        "minimum": 0
                      },
                      "footprint": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": [
                              "kind",
                              "center",
                              "width",
                              "depth",
                              "rotationDegrees"
                            ],
                            "properties": {
                              "kind": {
                                "const": "rectangle"
                              },
                              "center": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "width": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              },
                              "depth": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              },
                              "rotationDegrees": {
                                "type": "number",
                                "minimum": 0,
                                "exclusiveMaximum": 360
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "kind",
                              "center",
                              "radius"
                            ],
                            "properties": {
                              "kind": {
                                "const": "circle"
                              },
                              "center": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "radius": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "kind",
                              "start",
                              "end",
                              "width"
                            ],
                            "properties": {
                              "kind": {
                                "const": "line"
                              },
                              "start": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "end": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "width": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "kind",
                              "points",
                              "rotationDegrees"
                            ],
                            "properties": {
                              "kind": {
                                "const": "polygon"
                              },
                              "points": {
                                "type": "array",
                                "minItems": 3,
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "x",
                                    "y"
                                  ],
                                  "properties": {
                                    "x": {
                                      "type": "number"
                                    },
                                    "y": {
                                      "type": "number"
                                    }
                                  },
                                  "additionalProperties": false
                                }
                              },
                              "rotationDegrees": {
                                "type": "number",
                                "minimum": 0,
                                "exclusiveMaximum": 360
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "capacity": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "placement": {
                        "type": "object",
                        "required": [
                          "collisionMode"
                        ],
                        "properties": {
                          "collisionMode": {
                            "const": "solid"
                          }
                        },
                        "additionalProperties": false
                      },
                      "circulation": {
                        "type": "object",
                        "properties": {
                          "blocksPath": {
                            "type": "boolean"
                          },
                          "blocksExitApproach": {
                            "type": "boolean"
                          },
                          "role": {
                            "enum": [
                              "queue",
                              "checkpoint"
                            ]
                          },
                          "demandPersons": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "capacityPersons": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "capacityPersonsPerMinute": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "clearWidthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "carCapacityPersons": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "cycleSeconds": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "servesZoneIds": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          }
                        },
                        "additionalProperties": false
                      },
                      "queue": {
                        "type": "object",
                        "required": [
                          "category",
                          "servers",
                          "serviceRatePerServerMinute",
                          "priorityLaneCount"
                        ],
                        "properties": {
                          "category": {
                            "enum": [
                              "registration",
                              "security",
                              "cloakroom",
                              "food",
                              "beverage",
                              "restroom",
                              "merchandise",
                              "transport"
                            ]
                          },
                          "servers": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "serviceRatePerServerMinute": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "priorityLaneCount": {
                            "type": "integer",
                            "minimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "staffPost": {
                        "type": "object",
                        "required": [
                          "coverageZoneObjectIds",
                          "assignments"
                        ],
                        "properties": {
                          "coverageZoneObjectIds": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "assignments": {
                            "type": "array",
                            "minItems": 1,
                            "items": {
                              "type": "object",
                              "required": [
                                "shiftId",
                                "roleId",
                                "count"
                              ],
                              "properties": {
                                "shiftId": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "roleId": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "count": {
                                  "type": "integer",
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            }
                          }
                        },
                        "additionalProperties": false
                      },
                      "utility": {
                        "type": "object",
                        "required": [
                          "type",
                          "circuitId",
                          "voltage",
                          "maxWatts"
                        ],
                        "properties": {
                          "type": {
                            "const": "power"
                          },
                          "circuitId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "rating": {
                            "type": "string"
                          },
                          "voltage": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "maxWatts": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "powerKw": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "rigging": {
                        "type": "object",
                        "required": [
                          "safeWorkingLoadKg"
                        ],
                        "properties": {
                          "safeWorkingLoadKg": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "productionZone": {
                        "type": "object",
                        "required": [
                          "access"
                        ],
                        "properties": {
                          "access": {
                            "enum": [
                              "crew-only",
                              "performer-only",
                              "mixed"
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      "resourceBinding": {
                        "type": "object",
                        "required": [
                          "schemaVersion",
                          "resourceId",
                          "kind",
                          "quantity"
                        ],
                        "properties": {
                          "schemaVersion": {
                            "const": 1
                          },
                          "resourceId": {
                            "type": "string",
                            "pattern": "^resource-[a-z0-9]+(?:-[a-z0-9]+)*$"
                          },
                          "kind": {
                            "enum": [
                              "inventory",
                              "av",
                              "power",
                              "catering",
                              "staffing"
                            ]
                          },
                          "quantity": {
                            "type": "integer",
                            "minimum": 1
                          }
                        },
                        "additionalProperties": false
                      },
                      "production": {
                        "type": "object",
                        "required": [
                          "equipmentType"
                        ],
                        "properties": {
                          "equipmentType": {
                            "enum": [
                              "screen",
                              "projector",
                              "speaker",
                              "camera",
                              "control-desk",
                              "cable-route",
                              "power-distribution",
                              "rigged-equipment"
                            ]
                          },
                          "targetObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "targetObjectIds": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "targetZoneObjectIds": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "sourceObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "circuitId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "riggingPointId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "viewableWidthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "viewableHeightM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "throwRatioMin": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "throwRatioMax": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "powerWatts": {
                            "type": "number",
                            "minimum": 0
                          },
                          "weightKg": {
                            "type": "number",
                            "minimum": 0
                          },
                          "requiresRigging": {
                            "type": "boolean"
                          },
                          "aimPoint": {
                            "type": "object",
                            "required": [
                              "x",
                              "y"
                            ],
                            "properties": {
                              "x": {
                                "type": "number"
                              },
                              "y": {
                                "type": "number"
                              }
                            },
                            "additionalProperties": false
                          },
                          "coverageRangeM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "coverageAngleDegrees": {
                            "type": "number",
                            "exclusiveMinimum": 0,
                            "maximum": 360
                          },
                          "minimumDistanceM": {
                            "type": "number",
                            "minimum": 0
                          },
                          "maximumDistanceM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "cableType": {
                            "type": "string",
                            "minLength": 1
                          },
                          "crossingTreatment": {
                            "enum": [
                              "none",
                              "overhead",
                              "cable-ramp",
                              "floor-channel"
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      "catering": {
                        "type": "object",
                        "required": [
                          "type"
                        ],
                        "properties": {
                          "type": {
                            "enum": [
                              "bar",
                              "buffet",
                              "service-counter",
                              "kitchen",
                              "prep",
                              "waste",
                              "water",
                              "queue-zone",
                              "replenishment-route"
                            ]
                          },
                          "servers": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "serviceRatePerServerMinute": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "demandShare": {
                            "type": "number",
                            "exclusiveMinimum": 0,
                            "maximum": 1
                          },
                          "queueZoneObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "queueBufferPersons": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "accessibleServicePoint": {
                            "type": "boolean"
                          },
                          "serviceHeightM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "dietaryOptions": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "allergenLabels": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "replenishmentSourceObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "waterSourceObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "sourceObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "targetObjectIds": {
                            "type": "array",
                            "minItems": 1,
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "crossingControl": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "additionalProperties": false
                      },
                      "emergency": {
                        "type": "object",
                        "required": [
                          "type"
                        ],
                        "properties": {
                          "type": {
                            "enum": [
                              "assembly-point",
                              "emergency-access-lane",
                              "fire-equipment",
                              "first-aid",
                              "command-post"
                            ]
                          },
                          "capacityPersons": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "designatedExitObjectIds": {
                            "type": "array",
                            "minItems": 1,
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "responderOnly": {
                            "type": "boolean"
                          },
                          "equipmentClass": {
                            "type": "string",
                            "minLength": 1
                          },
                          "coverageRadiusM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "clearanceM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "accessible": {
                            "type": "boolean"
                          },
                          "powerSourceCircuitId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "backupPowerMinutes": {
                            "type": "number",
                            "minimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "entrance": {
                        "type": "object",
                        "properties": {
                          "clearWidthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "accessible": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "door": {
                        "type": "object",
                        "required": [
                          "clearWidthM",
                          "swing",
                          "accessible"
                        ],
                        "properties": {
                          "clearWidthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "swing": {
                            "enum": [
                              "inward",
                              "outward",
                              "sliding",
                              "revolving"
                            ]
                          },
                          "accessible": {
                            "type": "boolean"
                          },
                          "clearance": {
                            "type": "object",
                            "required": [
                              "side",
                              "depthM",
                              "latchSideM"
                            ],
                            "properties": {
                              "side": {
                                "enum": [
                                  "left",
                                  "right",
                                  "both"
                                ]
                              },
                              "depthM": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              },
                              "latchSideM": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "additionalProperties": false
                      },
                      "exit": {
                        "type": "object",
                        "required": [
                          "clearWidthM",
                          "emergency",
                          "capacityPersons"
                        ],
                        "properties": {
                          "clearWidthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "emergency": {
                            "type": "boolean"
                          },
                          "capacityPersons": {
                            "type": "integer",
                            "minimum": 1
                          }
                        },
                        "additionalProperties": false
                      },
                      "route": {
                        "type": "object",
                        "required": [
                          "direction",
                          "accessible",
                          "purpose"
                        ],
                        "properties": {
                          "direction": {
                            "enum": [
                              "one-way",
                              "bidirectional"
                            ]
                          },
                          "accessible": {
                            "type": "boolean"
                          },
                          "purpose": {
                            "type": "string",
                            "minLength": 1
                          },
                          "staffOnly": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "restriction": {
                        "type": "object",
                        "required": [
                          "access",
                          "reasonCode",
                          "blocksPlacement"
                        ],
                        "properties": {
                          "access": {
                            "enum": [
                              "prohibited",
                              "staff-only",
                              "conditional"
                            ]
                          },
                          "reasonCode": {
                            "type": "string",
                            "minLength": 1
                          },
                          "blocksPlacement": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "ramp": {
                        "type": "object",
                        "required": [
                          "riseM",
                          "runM",
                          "clearWidthM",
                          "landingLengthM",
                          "edgeProtectionHeightM",
                          "handrails"
                        ],
                        "properties": {
                          "riseM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "runM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "clearWidthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "landingLengthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "edgeProtectionHeightM": {
                            "type": "number",
                            "minimum": 0
                          },
                          "handrails": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "locks": {
                        "type": "array",
                        "items": {
                          "$schema": "https://json-schema.org/draft/2020-12/schema",
                          "$id": "https://venuemind.dev/schemas/object-lock.schema.json",
                          "title": "VenueMind Object Lock",
                          "type": "object",
                          "required": [
                            "id",
                            "objectId",
                            "type",
                            "source",
                            "reasonCode",
                            "authorId",
                            "active"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "minLength": 1
                            },
                            "objectId": {
                              "type": "string",
                              "minLength": 1
                            },
                            "type": {
                              "enum": [
                                "position",
                                "rotation",
                                "dimension",
                                "deletion",
                                "role"
                              ]
                            },
                            "source": {
                              "enum": [
                                "venue-template",
                                "project"
                              ]
                            },
                            "reasonCode": {
                              "type": "string",
                              "minLength": 1
                            },
                            "authorId": {
                              "type": "string",
                              "minLength": 1
                            },
                            "createdAt": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "expiresAt": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "format": "date-time"
                            },
                            "releasedAt": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "releasedBy": {
                              "type": "string",
                              "minLength": 1
                            },
                            "active": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "locked": {
                        "type": "boolean"
                      },
                      "occupancy": {
                        "type": "object",
                        "properties": {
                          "expected": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "maximum": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "minimumCapacity": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "maximumCapacity": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "zoneId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "excludesUsableArea": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "accessibility": {
                        "type": "object",
                        "properties": {
                          "accessible": {
                            "type": "boolean"
                          },
                          "destination": {
                            "type": "boolean"
                          },
                          "accessibleSeats": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "companionSeats": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "accessibleSeatSampleIds": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "clearanceExempt": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "sightline": {
                        "type": "object",
                        "properties": {
                          "focalPoints": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "id",
                                "point",
                                "elevationM"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "point": {
                                  "type": "object",
                                  "required": [
                                    "x",
                                    "y"
                                  ],
                                  "properties": {
                                    "x": {
                                      "type": "number"
                                    },
                                    "y": {
                                      "type": "number"
                                    }
                                  },
                                  "additionalProperties": false
                                },
                                "elevationM": {
                                  "type": "number",
                                  "minimum": 0
                                },
                                "priority": {
                                  "enum": [
                                    "primary",
                                    "secondary"
                                  ]
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "samples": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "id",
                                "point",
                                "eyeHeightM"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "point": {
                                  "type": "object",
                                  "required": [
                                    "x",
                                    "y"
                                  ],
                                  "properties": {
                                    "x": {
                                      "type": "number"
                                    },
                                    "y": {
                                      "type": "number"
                                    }
                                  },
                                  "additionalProperties": false
                                },
                                "eyeHeightM": {
                                  "type": "number",
                                  "minimum": 0
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "opacity": {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1
                          },
                          "heightM": {
                            "type": "number",
                            "minimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "templateRef": {
                        "type": "object",
                        "required": [
                          "kind",
                          "templateId",
                          "version"
                        ],
                        "properties": {
                          "kind": {
                            "enum": [
                              "venue-template",
                              "room-template",
                              "inventory-item-template"
                            ]
                          },
                          "templateId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "templateObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "version": {
                            "type": "string",
                            "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
                          }
                        },
                        "additionalProperties": false
                      },
                      "templateOverrides": {
                        "type": "array",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "inventoryCount": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "groupId": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "specification": {
                        "type": "object",
                        "properties": {
                          "dimensions": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "number"
                            }
                          },
                          "weightKg": {
                            "type": "number",
                            "minimum": 0
                          },
                          "power": {
                            "type": "object",
                            "required": [
                              "watts",
                              "connector"
                            ],
                            "properties": {
                              "watts": {
                                "type": "number",
                                "minimum": 0
                              },
                              "connector": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          "capacity": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "cost": {
                            "type": "object",
                            "required": [
                              "amount"
                            ],
                            "properties": {
                              "amount": {
                                "type": "number",
                                "minimum": 0
                              },
                              "currency": {
                                "type": "string"
                              },
                              "basis": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "additionalProperties": false
                  }
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "operation",
                "objectIds",
                "delta"
              ],
              "properties": {
                "operation": {
                  "const": "move"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "objectIds": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "delta": {
                  "type": "object",
                  "required": [
                    "x",
                    "y"
                  ],
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "additionalProperties": false
                },
                "snap": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "sizeM": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "toleranceM": {
                      "type": "number",
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "operation",
                "objectIds",
                "rotationDegrees"
              ],
              "properties": {
                "operation": {
                  "const": "rotate"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "objectIds": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "rotationDegrees": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "operation",
                "objectIds",
                "dimensions"
              ],
              "properties": {
                "operation": {
                  "const": "resize"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "objectIds": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "dimensions": {
                  "type": "object",
                  "minProperties": 1,
                  "properties": {
                    "width": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "depth": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "radius": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "operation",
                "objectIds"
              ],
              "properties": {
                "operation": {
                  "const": "delete"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "objectIds": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "operation",
                "objectIds",
                "groupId"
              ],
              "properties": {
                "operation": {
                  "const": "group"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "objectIds": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "groupId": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "operation",
                "objectIds"
              ],
              "properties": {
                "operation": {
                  "const": "ungroup"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "objectIds": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "operation",
                "objectIds",
                "points"
              ],
              "properties": {
                "operation": {
                  "const": "edit-zone-vertices"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "objectIds": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  },
                  "maxItems": 1
                },
                "points": {
                  "type": "array",
                  "minItems": 3,
                  "items": {
                    "type": "object",
                    "required": [
                      "x",
                      "y"
                    ],
                    "properties": {
                      "x": {
                        "type": "number"
                      },
                      "y": {
                        "type": "number"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "snap": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "sizeM": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "toleranceM": {
                      "type": "number",
                      "minimum": 0
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "operation",
                "objectIds",
                "axis"
              ],
              "properties": {
                "operation": {
                  "const": "align"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "objectIds": {
                  "type": "array",
                  "minItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "axis": {
                  "enum": [
                    "x",
                    "y"
                  ]
                },
                "edge": {
                  "enum": [
                    "min",
                    "max",
                    "center"
                  ]
                },
                "value": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "operation",
                "objectIds",
                "axis"
              ],
              "properties": {
                "operation": {
                  "const": "distribute"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "objectIds": {
                  "type": "array",
                  "minItems": 2,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "axis": {
                  "enum": [
                    "x",
                    "y"
                  ]
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "operation",
                "objectIds",
                "newObjectIds"
              ],
              "properties": {
                "operation": {
                  "const": "duplicate"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "objectIds": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "newObjectIds": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "labels": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "offset": {
                  "type": "object",
                  "required": [
                    "x",
                    "y"
                  ],
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "operation",
                "objects",
                "newObjectIds"
              ],
              "properties": {
                "operation": {
                  "const": "paste"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "objects": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "id",
                      "kind",
                      "footprint"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1
                      },
                      "kind": {
                        "type": "string",
                        "minLength": 1
                      },
                      "label": {
                        "type": "string"
                      },
                      "layer": {
                        "enum": [
                          "architecture",
                          "furniture",
                          "access",
                          "production",
                          "catering",
                          "safety",
                          "annotations"
                        ]
                      },
                      "elevationM": {
                        "type": "number",
                        "minimum": 0
                      },
                      "footprint": {
                        "oneOf": [
                          {
                            "type": "object",
                            "required": [
                              "kind",
                              "center",
                              "width",
                              "depth",
                              "rotationDegrees"
                            ],
                            "properties": {
                              "kind": {
                                "const": "rectangle"
                              },
                              "center": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "width": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              },
                              "depth": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              },
                              "rotationDegrees": {
                                "type": "number",
                                "minimum": 0,
                                "exclusiveMaximum": 360
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "kind",
                              "center",
                              "radius"
                            ],
                            "properties": {
                              "kind": {
                                "const": "circle"
                              },
                              "center": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "radius": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "kind",
                              "start",
                              "end",
                              "width"
                            ],
                            "properties": {
                              "kind": {
                                "const": "line"
                              },
                              "start": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "end": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "width": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              }
                            },
                            "additionalProperties": false
                          },
                          {
                            "type": "object",
                            "required": [
                              "kind",
                              "points",
                              "rotationDegrees"
                            ],
                            "properties": {
                              "kind": {
                                "const": "polygon"
                              },
                              "points": {
                                "type": "array",
                                "minItems": 3,
                                "items": {
                                  "type": "object",
                                  "required": [
                                    "x",
                                    "y"
                                  ],
                                  "properties": {
                                    "x": {
                                      "type": "number"
                                    },
                                    "y": {
                                      "type": "number"
                                    }
                                  },
                                  "additionalProperties": false
                                }
                              },
                              "rotationDegrees": {
                                "type": "number",
                                "minimum": 0,
                                "exclusiveMaximum": 360
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      },
                      "capacity": {
                        "type": "integer",
                        "minimum": 0
                      },
                      "placement": {
                        "type": "object",
                        "required": [
                          "collisionMode"
                        ],
                        "properties": {
                          "collisionMode": {
                            "const": "solid"
                          }
                        },
                        "additionalProperties": false
                      },
                      "circulation": {
                        "type": "object",
                        "properties": {
                          "blocksPath": {
                            "type": "boolean"
                          },
                          "blocksExitApproach": {
                            "type": "boolean"
                          },
                          "role": {
                            "enum": [
                              "queue",
                              "checkpoint"
                            ]
                          },
                          "demandPersons": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "capacityPersons": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "capacityPersonsPerMinute": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "clearWidthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "carCapacityPersons": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "cycleSeconds": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "servesZoneIds": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          }
                        },
                        "additionalProperties": false
                      },
                      "queue": {
                        "type": "object",
                        "required": [
                          "category",
                          "servers",
                          "serviceRatePerServerMinute",
                          "priorityLaneCount"
                        ],
                        "properties": {
                          "category": {
                            "enum": [
                              "registration",
                              "security",
                              "cloakroom",
                              "food",
                              "beverage",
                              "restroom",
                              "merchandise",
                              "transport"
                            ]
                          },
                          "servers": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "serviceRatePerServerMinute": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "priorityLaneCount": {
                            "type": "integer",
                            "minimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "staffPost": {
                        "type": "object",
                        "required": [
                          "coverageZoneObjectIds",
                          "assignments"
                        ],
                        "properties": {
                          "coverageZoneObjectIds": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "assignments": {
                            "type": "array",
                            "minItems": 1,
                            "items": {
                              "type": "object",
                              "required": [
                                "shiftId",
                                "roleId",
                                "count"
                              ],
                              "properties": {
                                "shiftId": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "roleId": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "count": {
                                  "type": "integer",
                                  "minimum": 1
                                }
                              },
                              "additionalProperties": false
                            }
                          }
                        },
                        "additionalProperties": false
                      },
                      "utility": {
                        "type": "object",
                        "required": [
                          "type",
                          "circuitId",
                          "voltage",
                          "maxWatts"
                        ],
                        "properties": {
                          "type": {
                            "const": "power"
                          },
                          "circuitId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "rating": {
                            "type": "string"
                          },
                          "voltage": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "maxWatts": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "powerKw": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "rigging": {
                        "type": "object",
                        "required": [
                          "safeWorkingLoadKg"
                        ],
                        "properties": {
                          "safeWorkingLoadKg": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "productionZone": {
                        "type": "object",
                        "required": [
                          "access"
                        ],
                        "properties": {
                          "access": {
                            "enum": [
                              "crew-only",
                              "performer-only",
                              "mixed"
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      "resourceBinding": {
                        "type": "object",
                        "required": [
                          "schemaVersion",
                          "resourceId",
                          "kind",
                          "quantity"
                        ],
                        "properties": {
                          "schemaVersion": {
                            "const": 1
                          },
                          "resourceId": {
                            "type": "string",
                            "pattern": "^resource-[a-z0-9]+(?:-[a-z0-9]+)*$"
                          },
                          "kind": {
                            "enum": [
                              "inventory",
                              "av",
                              "power",
                              "catering",
                              "staffing"
                            ]
                          },
                          "quantity": {
                            "type": "integer",
                            "minimum": 1
                          }
                        },
                        "additionalProperties": false
                      },
                      "production": {
                        "type": "object",
                        "required": [
                          "equipmentType"
                        ],
                        "properties": {
                          "equipmentType": {
                            "enum": [
                              "screen",
                              "projector",
                              "speaker",
                              "camera",
                              "control-desk",
                              "cable-route",
                              "power-distribution",
                              "rigged-equipment"
                            ]
                          },
                          "targetObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "targetObjectIds": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "targetZoneObjectIds": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "sourceObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "circuitId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "riggingPointId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "viewableWidthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "viewableHeightM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "throwRatioMin": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "throwRatioMax": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "powerWatts": {
                            "type": "number",
                            "minimum": 0
                          },
                          "weightKg": {
                            "type": "number",
                            "minimum": 0
                          },
                          "requiresRigging": {
                            "type": "boolean"
                          },
                          "aimPoint": {
                            "type": "object",
                            "required": [
                              "x",
                              "y"
                            ],
                            "properties": {
                              "x": {
                                "type": "number"
                              },
                              "y": {
                                "type": "number"
                              }
                            },
                            "additionalProperties": false
                          },
                          "coverageRangeM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "coverageAngleDegrees": {
                            "type": "number",
                            "exclusiveMinimum": 0,
                            "maximum": 360
                          },
                          "minimumDistanceM": {
                            "type": "number",
                            "minimum": 0
                          },
                          "maximumDistanceM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "cableType": {
                            "type": "string",
                            "minLength": 1
                          },
                          "crossingTreatment": {
                            "enum": [
                              "none",
                              "overhead",
                              "cable-ramp",
                              "floor-channel"
                            ]
                          }
                        },
                        "additionalProperties": false
                      },
                      "catering": {
                        "type": "object",
                        "required": [
                          "type"
                        ],
                        "properties": {
                          "type": {
                            "enum": [
                              "bar",
                              "buffet",
                              "service-counter",
                              "kitchen",
                              "prep",
                              "waste",
                              "water",
                              "queue-zone",
                              "replenishment-route"
                            ]
                          },
                          "servers": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "serviceRatePerServerMinute": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "demandShare": {
                            "type": "number",
                            "exclusiveMinimum": 0,
                            "maximum": 1
                          },
                          "queueZoneObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "queueBufferPersons": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "accessibleServicePoint": {
                            "type": "boolean"
                          },
                          "serviceHeightM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "dietaryOptions": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "allergenLabels": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "replenishmentSourceObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "waterSourceObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "sourceObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "targetObjectIds": {
                            "type": "array",
                            "minItems": 1,
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "crossingControl": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "additionalProperties": false
                      },
                      "emergency": {
                        "type": "object",
                        "required": [
                          "type"
                        ],
                        "properties": {
                          "type": {
                            "enum": [
                              "assembly-point",
                              "emergency-access-lane",
                              "fire-equipment",
                              "first-aid",
                              "command-post"
                            ]
                          },
                          "capacityPersons": {
                            "type": "integer",
                            "minimum": 1
                          },
                          "designatedExitObjectIds": {
                            "type": "array",
                            "minItems": 1,
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "responderOnly": {
                            "type": "boolean"
                          },
                          "equipmentClass": {
                            "type": "string",
                            "minLength": 1
                          },
                          "coverageRadiusM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "clearanceM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "accessible": {
                            "type": "boolean"
                          },
                          "powerSourceCircuitId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "backupPowerMinutes": {
                            "type": "number",
                            "minimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "entrance": {
                        "type": "object",
                        "properties": {
                          "clearWidthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "accessible": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "door": {
                        "type": "object",
                        "required": [
                          "clearWidthM",
                          "swing",
                          "accessible"
                        ],
                        "properties": {
                          "clearWidthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "swing": {
                            "enum": [
                              "inward",
                              "outward",
                              "sliding",
                              "revolving"
                            ]
                          },
                          "accessible": {
                            "type": "boolean"
                          },
                          "clearance": {
                            "type": "object",
                            "required": [
                              "side",
                              "depthM",
                              "latchSideM"
                            ],
                            "properties": {
                              "side": {
                                "enum": [
                                  "left",
                                  "right",
                                  "both"
                                ]
                              },
                              "depthM": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              },
                              "latchSideM": {
                                "type": "number",
                                "exclusiveMinimum": 0
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "additionalProperties": false
                      },
                      "exit": {
                        "type": "object",
                        "required": [
                          "clearWidthM",
                          "emergency",
                          "capacityPersons"
                        ],
                        "properties": {
                          "clearWidthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "emergency": {
                            "type": "boolean"
                          },
                          "capacityPersons": {
                            "type": "integer",
                            "minimum": 1
                          }
                        },
                        "additionalProperties": false
                      },
                      "route": {
                        "type": "object",
                        "required": [
                          "direction",
                          "accessible",
                          "purpose"
                        ],
                        "properties": {
                          "direction": {
                            "enum": [
                              "one-way",
                              "bidirectional"
                            ]
                          },
                          "accessible": {
                            "type": "boolean"
                          },
                          "purpose": {
                            "type": "string",
                            "minLength": 1
                          },
                          "staffOnly": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "restriction": {
                        "type": "object",
                        "required": [
                          "access",
                          "reasonCode",
                          "blocksPlacement"
                        ],
                        "properties": {
                          "access": {
                            "enum": [
                              "prohibited",
                              "staff-only",
                              "conditional"
                            ]
                          },
                          "reasonCode": {
                            "type": "string",
                            "minLength": 1
                          },
                          "blocksPlacement": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "ramp": {
                        "type": "object",
                        "required": [
                          "riseM",
                          "runM",
                          "clearWidthM",
                          "landingLengthM",
                          "edgeProtectionHeightM",
                          "handrails"
                        ],
                        "properties": {
                          "riseM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "runM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "clearWidthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "landingLengthM": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "edgeProtectionHeightM": {
                            "type": "number",
                            "minimum": 0
                          },
                          "handrails": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "locks": {
                        "type": "array",
                        "items": {
                          "$schema": "https://json-schema.org/draft/2020-12/schema",
                          "$id": "https://venuemind.dev/schemas/object-lock.schema.json",
                          "title": "VenueMind Object Lock",
                          "type": "object",
                          "required": [
                            "id",
                            "objectId",
                            "type",
                            "source",
                            "reasonCode",
                            "authorId",
                            "active"
                          ],
                          "properties": {
                            "id": {
                              "type": "string",
                              "minLength": 1
                            },
                            "objectId": {
                              "type": "string",
                              "minLength": 1
                            },
                            "type": {
                              "enum": [
                                "position",
                                "rotation",
                                "dimension",
                                "deletion",
                                "role"
                              ]
                            },
                            "source": {
                              "enum": [
                                "venue-template",
                                "project"
                              ]
                            },
                            "reasonCode": {
                              "type": "string",
                              "minLength": 1
                            },
                            "authorId": {
                              "type": "string",
                              "minLength": 1
                            },
                            "createdAt": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "expiresAt": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "format": "date-time"
                            },
                            "releasedAt": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "releasedBy": {
                              "type": "string",
                              "minLength": 1
                            },
                            "active": {
                              "type": "boolean"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "locked": {
                        "type": "boolean"
                      },
                      "occupancy": {
                        "type": "object",
                        "properties": {
                          "expected": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "maximum": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "minimumCapacity": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "maximumCapacity": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "zoneId": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "excludesUsableArea": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "accessibility": {
                        "type": "object",
                        "properties": {
                          "accessible": {
                            "type": "boolean"
                          },
                          "destination": {
                            "type": "boolean"
                          },
                          "accessibleSeats": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "companionSeats": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "accessibleSeatSampleIds": {
                            "type": "array",
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "clearanceExempt": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "sightline": {
                        "type": "object",
                        "properties": {
                          "focalPoints": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "id",
                                "point",
                                "elevationM"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "point": {
                                  "type": "object",
                                  "required": [
                                    "x",
                                    "y"
                                  ],
                                  "properties": {
                                    "x": {
                                      "type": "number"
                                    },
                                    "y": {
                                      "type": "number"
                                    }
                                  },
                                  "additionalProperties": false
                                },
                                "elevationM": {
                                  "type": "number",
                                  "minimum": 0
                                },
                                "priority": {
                                  "enum": [
                                    "primary",
                                    "secondary"
                                  ]
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "samples": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "required": [
                                "id",
                                "point",
                                "eyeHeightM"
                              ],
                              "properties": {
                                "id": {
                                  "type": "string",
                                  "minLength": 1
                                },
                                "point": {
                                  "type": "object",
                                  "required": [
                                    "x",
                                    "y"
                                  ],
                                  "properties": {
                                    "x": {
                                      "type": "number"
                                    },
                                    "y": {
                                      "type": "number"
                                    }
                                  },
                                  "additionalProperties": false
                                },
                                "eyeHeightM": {
                                  "type": "number",
                                  "minimum": 0
                                }
                              },
                              "additionalProperties": false
                            }
                          },
                          "opacity": {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1
                          },
                          "heightM": {
                            "type": "number",
                            "minimum": 0
                          }
                        },
                        "additionalProperties": false
                      },
                      "templateRef": {
                        "type": "object",
                        "required": [
                          "kind",
                          "templateId",
                          "version"
                        ],
                        "properties": {
                          "kind": {
                            "enum": [
                              "venue-template",
                              "room-template",
                              "inventory-item-template"
                            ]
                          },
                          "templateId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "templateObjectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "version": {
                            "type": "string",
                            "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
                          }
                        },
                        "additionalProperties": false
                      },
                      "templateOverrides": {
                        "type": "array",
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "inventoryCount": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "groupId": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "specification": {
                        "type": "object",
                        "properties": {
                          "dimensions": {
                            "type": "object",
                            "additionalProperties": {
                              "type": "number"
                            }
                          },
                          "weightKg": {
                            "type": "number",
                            "minimum": 0
                          },
                          "power": {
                            "type": "object",
                            "required": [
                              "watts",
                              "connector"
                            ],
                            "properties": {
                              "watts": {
                                "type": "number",
                                "minimum": 0
                              },
                              "connector": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          },
                          "capacity": {
                            "type": "integer",
                            "minimum": 0
                          },
                          "cost": {
                            "type": "object",
                            "required": [
                              "amount"
                            ],
                            "properties": {
                              "amount": {
                                "type": "number",
                                "minimum": 0
                              },
                              "currency": {
                                "type": "string"
                              },
                              "basis": {
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "newObjectIds": {
                  "type": "array",
                  "minItems": 1,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "labels": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "offset": {
                  "type": "object",
                  "required": [
                    "x",
                    "y"
                  ],
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "operation",
                "object"
              ],
              "properties": {
                "operation": {
                  "const": "place"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "object": {
                  "type": "object",
                  "required": [
                    "id",
                    "kind",
                    "footprint"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "kind": {
                      "type": "string",
                      "minLength": 1
                    },
                    "label": {
                      "type": "string"
                    },
                    "layer": {
                      "enum": [
                        "architecture",
                        "furniture",
                        "access",
                        "production",
                        "catering",
                        "safety",
                        "annotations"
                      ]
                    },
                    "elevationM": {
                      "type": "number",
                      "minimum": 0
                    },
                    "footprint": {
                      "oneOf": [
                        {
                          "type": "object",
                          "required": [
                            "kind",
                            "center",
                            "width",
                            "depth",
                            "rotationDegrees"
                          ],
                          "properties": {
                            "kind": {
                              "const": "rectangle"
                            },
                            "center": {
                              "type": "object",
                              "required": [
                                "x",
                                "y"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number"
                                },
                                "y": {
                                  "type": "number"
                                }
                              },
                              "additionalProperties": false
                            },
                            "width": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            },
                            "depth": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            },
                            "rotationDegrees": {
                              "type": "number",
                              "minimum": 0,
                              "exclusiveMaximum": 360
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "kind",
                            "center",
                            "radius"
                          ],
                          "properties": {
                            "kind": {
                              "const": "circle"
                            },
                            "center": {
                              "type": "object",
                              "required": [
                                "x",
                                "y"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number"
                                },
                                "y": {
                                  "type": "number"
                                }
                              },
                              "additionalProperties": false
                            },
                            "radius": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "kind",
                            "start",
                            "end",
                            "width"
                          ],
                          "properties": {
                            "kind": {
                              "const": "line"
                            },
                            "start": {
                              "type": "object",
                              "required": [
                                "x",
                                "y"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number"
                                },
                                "y": {
                                  "type": "number"
                                }
                              },
                              "additionalProperties": false
                            },
                            "end": {
                              "type": "object",
                              "required": [
                                "x",
                                "y"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number"
                                },
                                "y": {
                                  "type": "number"
                                }
                              },
                              "additionalProperties": false
                            },
                            "width": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "kind",
                            "points",
                            "rotationDegrees"
                          ],
                          "properties": {
                            "kind": {
                              "const": "polygon"
                            },
                            "points": {
                              "type": "array",
                              "minItems": 3,
                              "items": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              }
                            },
                            "rotationDegrees": {
                              "type": "number",
                              "minimum": 0,
                              "exclusiveMaximum": 360
                            }
                          },
                          "additionalProperties": false
                        }
                      ]
                    },
                    "capacity": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "placement": {
                      "type": "object",
                      "required": [
                        "collisionMode"
                      ],
                      "properties": {
                        "collisionMode": {
                          "const": "solid"
                        }
                      },
                      "additionalProperties": false
                    },
                    "circulation": {
                      "type": "object",
                      "properties": {
                        "blocksPath": {
                          "type": "boolean"
                        },
                        "blocksExitApproach": {
                          "type": "boolean"
                        },
                        "role": {
                          "enum": [
                            "queue",
                            "checkpoint"
                          ]
                        },
                        "demandPersons": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "capacityPersons": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "capacityPersonsPerMinute": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "clearWidthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "carCapacityPersons": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "cycleSeconds": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "servesZoneIds": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      },
                      "additionalProperties": false
                    },
                    "queue": {
                      "type": "object",
                      "required": [
                        "category",
                        "servers",
                        "serviceRatePerServerMinute",
                        "priorityLaneCount"
                      ],
                      "properties": {
                        "category": {
                          "enum": [
                            "registration",
                            "security",
                            "cloakroom",
                            "food",
                            "beverage",
                            "restroom",
                            "merchandise",
                            "transport"
                          ]
                        },
                        "servers": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "serviceRatePerServerMinute": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "priorityLaneCount": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "staffPost": {
                      "type": "object",
                      "required": [
                        "coverageZoneObjectIds",
                        "assignments"
                      ],
                      "properties": {
                        "coverageZoneObjectIds": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "assignments": {
                          "type": "array",
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "required": [
                              "shiftId",
                              "roleId",
                              "count"
                            ],
                            "properties": {
                              "shiftId": {
                                "type": "string",
                                "minLength": 1
                              },
                              "roleId": {
                                "type": "string",
                                "minLength": 1
                              },
                              "count": {
                                "type": "integer",
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          }
                        }
                      },
                      "additionalProperties": false
                    },
                    "utility": {
                      "type": "object",
                      "required": [
                        "type",
                        "circuitId",
                        "voltage",
                        "maxWatts"
                      ],
                      "properties": {
                        "type": {
                          "const": "power"
                        },
                        "circuitId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "rating": {
                          "type": "string"
                        },
                        "voltage": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "maxWatts": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "powerKw": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "rigging": {
                      "type": "object",
                      "required": [
                        "safeWorkingLoadKg"
                      ],
                      "properties": {
                        "safeWorkingLoadKg": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "productionZone": {
                      "type": "object",
                      "required": [
                        "access"
                      ],
                      "properties": {
                        "access": {
                          "enum": [
                            "crew-only",
                            "performer-only",
                            "mixed"
                          ]
                        }
                      },
                      "additionalProperties": false
                    },
                    "resourceBinding": {
                      "type": "object",
                      "required": [
                        "schemaVersion",
                        "resourceId",
                        "kind",
                        "quantity"
                      ],
                      "properties": {
                        "schemaVersion": {
                          "const": 1
                        },
                        "resourceId": {
                          "type": "string",
                          "pattern": "^resource-[a-z0-9]+(?:-[a-z0-9]+)*$"
                        },
                        "kind": {
                          "enum": [
                            "inventory",
                            "av",
                            "power",
                            "catering",
                            "staffing"
                          ]
                        },
                        "quantity": {
                          "type": "integer",
                          "minimum": 1
                        }
                      },
                      "additionalProperties": false
                    },
                    "production": {
                      "type": "object",
                      "required": [
                        "equipmentType"
                      ],
                      "properties": {
                        "equipmentType": {
                          "enum": [
                            "screen",
                            "projector",
                            "speaker",
                            "camera",
                            "control-desk",
                            "cable-route",
                            "power-distribution",
                            "rigged-equipment"
                          ]
                        },
                        "targetObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "targetObjectIds": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "targetZoneObjectIds": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "sourceObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "circuitId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "riggingPointId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "viewableWidthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "viewableHeightM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "throwRatioMin": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "throwRatioMax": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "powerWatts": {
                          "type": "number",
                          "minimum": 0
                        },
                        "weightKg": {
                          "type": "number",
                          "minimum": 0
                        },
                        "requiresRigging": {
                          "type": "boolean"
                        },
                        "aimPoint": {
                          "type": "object",
                          "required": [
                            "x",
                            "y"
                          ],
                          "properties": {
                            "x": {
                              "type": "number"
                            },
                            "y": {
                              "type": "number"
                            }
                          },
                          "additionalProperties": false
                        },
                        "coverageRangeM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "coverageAngleDegrees": {
                          "type": "number",
                          "exclusiveMinimum": 0,
                          "maximum": 360
                        },
                        "minimumDistanceM": {
                          "type": "number",
                          "minimum": 0
                        },
                        "maximumDistanceM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "cableType": {
                          "type": "string",
                          "minLength": 1
                        },
                        "crossingTreatment": {
                          "enum": [
                            "none",
                            "overhead",
                            "cable-ramp",
                            "floor-channel"
                          ]
                        }
                      },
                      "additionalProperties": false
                    },
                    "catering": {
                      "type": "object",
                      "required": [
                        "type"
                      ],
                      "properties": {
                        "type": {
                          "enum": [
                            "bar",
                            "buffet",
                            "service-counter",
                            "kitchen",
                            "prep",
                            "waste",
                            "water",
                            "queue-zone",
                            "replenishment-route"
                          ]
                        },
                        "servers": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "serviceRatePerServerMinute": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "demandShare": {
                          "type": "number",
                          "exclusiveMinimum": 0,
                          "maximum": 1
                        },
                        "queueZoneObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "queueBufferPersons": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "accessibleServicePoint": {
                          "type": "boolean"
                        },
                        "serviceHeightM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "dietaryOptions": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "allergenLabels": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "replenishmentSourceObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "waterSourceObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "sourceObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "targetObjectIds": {
                          "type": "array",
                          "minItems": 1,
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "crossingControl": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "additionalProperties": false
                    },
                    "emergency": {
                      "type": "object",
                      "required": [
                        "type"
                      ],
                      "properties": {
                        "type": {
                          "enum": [
                            "assembly-point",
                            "emergency-access-lane",
                            "fire-equipment",
                            "first-aid",
                            "command-post"
                          ]
                        },
                        "capacityPersons": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "designatedExitObjectIds": {
                          "type": "array",
                          "minItems": 1,
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "responderOnly": {
                          "type": "boolean"
                        },
                        "equipmentClass": {
                          "type": "string",
                          "minLength": 1
                        },
                        "coverageRadiusM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "clearanceM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "accessible": {
                          "type": "boolean"
                        },
                        "powerSourceCircuitId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "backupPowerMinutes": {
                          "type": "number",
                          "minimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "entrance": {
                      "type": "object",
                      "properties": {
                        "clearWidthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "accessible": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "door": {
                      "type": "object",
                      "required": [
                        "clearWidthM",
                        "swing",
                        "accessible"
                      ],
                      "properties": {
                        "clearWidthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "swing": {
                          "enum": [
                            "inward",
                            "outward",
                            "sliding",
                            "revolving"
                          ]
                        },
                        "accessible": {
                          "type": "boolean"
                        },
                        "clearance": {
                          "type": "object",
                          "required": [
                            "side",
                            "depthM",
                            "latchSideM"
                          ],
                          "properties": {
                            "side": {
                              "enum": [
                                "left",
                                "right",
                                "both"
                              ]
                            },
                            "depthM": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            },
                            "latchSideM": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    "exit": {
                      "type": "object",
                      "required": [
                        "clearWidthM",
                        "emergency",
                        "capacityPersons"
                      ],
                      "properties": {
                        "clearWidthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "emergency": {
                          "type": "boolean"
                        },
                        "capacityPersons": {
                          "type": "integer",
                          "minimum": 1
                        }
                      },
                      "additionalProperties": false
                    },
                    "route": {
                      "type": "object",
                      "required": [
                        "direction",
                        "accessible",
                        "purpose"
                      ],
                      "properties": {
                        "direction": {
                          "enum": [
                            "one-way",
                            "bidirectional"
                          ]
                        },
                        "accessible": {
                          "type": "boolean"
                        },
                        "purpose": {
                          "type": "string",
                          "minLength": 1
                        },
                        "staffOnly": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "restriction": {
                      "type": "object",
                      "required": [
                        "access",
                        "reasonCode",
                        "blocksPlacement"
                      ],
                      "properties": {
                        "access": {
                          "enum": [
                            "prohibited",
                            "staff-only",
                            "conditional"
                          ]
                        },
                        "reasonCode": {
                          "type": "string",
                          "minLength": 1
                        },
                        "blocksPlacement": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "ramp": {
                      "type": "object",
                      "required": [
                        "riseM",
                        "runM",
                        "clearWidthM",
                        "landingLengthM",
                        "edgeProtectionHeightM",
                        "handrails"
                      ],
                      "properties": {
                        "riseM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "runM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "clearWidthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "landingLengthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "edgeProtectionHeightM": {
                          "type": "number",
                          "minimum": 0
                        },
                        "handrails": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "locks": {
                      "type": "array",
                      "items": {
                        "$schema": "https://json-schema.org/draft/2020-12/schema",
                        "$id": "https://venuemind.dev/schemas/object-lock.schema.json",
                        "title": "VenueMind Object Lock",
                        "type": "object",
                        "required": [
                          "id",
                          "objectId",
                          "type",
                          "source",
                          "reasonCode",
                          "authorId",
                          "active"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1
                          },
                          "objectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "type": {
                            "enum": [
                              "position",
                              "rotation",
                              "dimension",
                              "deletion",
                              "role"
                            ]
                          },
                          "source": {
                            "enum": [
                              "venue-template",
                              "project"
                            ]
                          },
                          "reasonCode": {
                            "type": "string",
                            "minLength": 1
                          },
                          "authorId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "expiresAt": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time"
                          },
                          "releasedAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "releasedBy": {
                            "type": "string",
                            "minLength": 1
                          },
                          "active": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "locked": {
                      "type": "boolean"
                    },
                    "occupancy": {
                      "type": "object",
                      "properties": {
                        "expected": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "maximum": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "minimumCapacity": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "maximumCapacity": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "zoneId": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "excludesUsableArea": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "accessibility": {
                      "type": "object",
                      "properties": {
                        "accessible": {
                          "type": "boolean"
                        },
                        "destination": {
                          "type": "boolean"
                        },
                        "accessibleSeats": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "companionSeats": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "accessibleSeatSampleIds": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "clearanceExempt": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "sightline": {
                      "type": "object",
                      "properties": {
                        "focalPoints": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "id",
                              "point",
                              "elevationM"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "minLength": 1
                              },
                              "point": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "elevationM": {
                                "type": "number",
                                "minimum": 0
                              },
                              "priority": {
                                "enum": [
                                  "primary",
                                  "secondary"
                                ]
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "samples": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "id",
                              "point",
                              "eyeHeightM"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "minLength": 1
                              },
                              "point": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "eyeHeightM": {
                                "type": "number",
                                "minimum": 0
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "opacity": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        },
                        "heightM": {
                          "type": "number",
                          "minimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "templateRef": {
                      "type": "object",
                      "required": [
                        "kind",
                        "templateId",
                        "version"
                      ],
                      "properties": {
                        "kind": {
                          "enum": [
                            "venue-template",
                            "room-template",
                            "inventory-item-template"
                          ]
                        },
                        "templateId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "templateObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "version": {
                          "type": "string",
                          "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "templateOverrides": {
                      "type": "array",
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "inventoryCount": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "groupId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "specification": {
                      "type": "object",
                      "properties": {
                        "dimensions": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "number"
                          }
                        },
                        "weightKg": {
                          "type": "number",
                          "minimum": 0
                        },
                        "power": {
                          "type": "object",
                          "required": [
                            "watts",
                            "connector"
                          ],
                          "properties": {
                            "watts": {
                              "type": "number",
                              "minimum": 0
                            },
                            "connector": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        "capacity": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "cost": {
                          "type": "object",
                          "required": [
                            "amount"
                          ],
                          "properties": {
                            "amount": {
                              "type": "number",
                              "minimum": 0
                            },
                            "currency": {
                              "type": "string"
                            },
                            "basis": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "operation",
                "object"
              ],
              "properties": {
                "operation": {
                  "const": "create-zone"
                },
                "label": {
                  "type": "string",
                  "minLength": 1
                },
                "shortLabel": {
                  "type": "string",
                  "minLength": 1
                },
                "metrics": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minItems": 2,
                    "maxItems": 2
                  }
                },
                "object": {
                  "type": "object",
                  "required": [
                    "id",
                    "kind",
                    "footprint"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "kind": {
                      "type": "string",
                      "minLength": 1
                    },
                    "label": {
                      "type": "string"
                    },
                    "layer": {
                      "enum": [
                        "architecture",
                        "furniture",
                        "access",
                        "production",
                        "catering",
                        "safety",
                        "annotations"
                      ]
                    },
                    "elevationM": {
                      "type": "number",
                      "minimum": 0
                    },
                    "footprint": {
                      "oneOf": [
                        {
                          "type": "object",
                          "required": [
                            "kind",
                            "center",
                            "width",
                            "depth",
                            "rotationDegrees"
                          ],
                          "properties": {
                            "kind": {
                              "const": "rectangle"
                            },
                            "center": {
                              "type": "object",
                              "required": [
                                "x",
                                "y"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number"
                                },
                                "y": {
                                  "type": "number"
                                }
                              },
                              "additionalProperties": false
                            },
                            "width": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            },
                            "depth": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            },
                            "rotationDegrees": {
                              "type": "number",
                              "minimum": 0,
                              "exclusiveMaximum": 360
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "kind",
                            "center",
                            "radius"
                          ],
                          "properties": {
                            "kind": {
                              "const": "circle"
                            },
                            "center": {
                              "type": "object",
                              "required": [
                                "x",
                                "y"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number"
                                },
                                "y": {
                                  "type": "number"
                                }
                              },
                              "additionalProperties": false
                            },
                            "radius": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "kind",
                            "start",
                            "end",
                            "width"
                          ],
                          "properties": {
                            "kind": {
                              "const": "line"
                            },
                            "start": {
                              "type": "object",
                              "required": [
                                "x",
                                "y"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number"
                                },
                                "y": {
                                  "type": "number"
                                }
                              },
                              "additionalProperties": false
                            },
                            "end": {
                              "type": "object",
                              "required": [
                                "x",
                                "y"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number"
                                },
                                "y": {
                                  "type": "number"
                                }
                              },
                              "additionalProperties": false
                            },
                            "width": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            }
                          },
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "required": [
                            "kind",
                            "points",
                            "rotationDegrees"
                          ],
                          "properties": {
                            "kind": {
                              "const": "polygon"
                            },
                            "points": {
                              "type": "array",
                              "minItems": 3,
                              "items": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              }
                            },
                            "rotationDegrees": {
                              "type": "number",
                              "minimum": 0,
                              "exclusiveMaximum": 360
                            }
                          },
                          "additionalProperties": false
                        }
                      ]
                    },
                    "capacity": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "placement": {
                      "type": "object",
                      "required": [
                        "collisionMode"
                      ],
                      "properties": {
                        "collisionMode": {
                          "const": "solid"
                        }
                      },
                      "additionalProperties": false
                    },
                    "circulation": {
                      "type": "object",
                      "properties": {
                        "blocksPath": {
                          "type": "boolean"
                        },
                        "blocksExitApproach": {
                          "type": "boolean"
                        },
                        "role": {
                          "enum": [
                            "queue",
                            "checkpoint"
                          ]
                        },
                        "demandPersons": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "capacityPersons": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "capacityPersonsPerMinute": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "clearWidthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "carCapacityPersons": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "cycleSeconds": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "servesZoneIds": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      },
                      "additionalProperties": false
                    },
                    "queue": {
                      "type": "object",
                      "required": [
                        "category",
                        "servers",
                        "serviceRatePerServerMinute",
                        "priorityLaneCount"
                      ],
                      "properties": {
                        "category": {
                          "enum": [
                            "registration",
                            "security",
                            "cloakroom",
                            "food",
                            "beverage",
                            "restroom",
                            "merchandise",
                            "transport"
                          ]
                        },
                        "servers": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "serviceRatePerServerMinute": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "priorityLaneCount": {
                          "type": "integer",
                          "minimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "staffPost": {
                      "type": "object",
                      "required": [
                        "coverageZoneObjectIds",
                        "assignments"
                      ],
                      "properties": {
                        "coverageZoneObjectIds": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "assignments": {
                          "type": "array",
                          "minItems": 1,
                          "items": {
                            "type": "object",
                            "required": [
                              "shiftId",
                              "roleId",
                              "count"
                            ],
                            "properties": {
                              "shiftId": {
                                "type": "string",
                                "minLength": 1
                              },
                              "roleId": {
                                "type": "string",
                                "minLength": 1
                              },
                              "count": {
                                "type": "integer",
                                "minimum": 1
                              }
                            },
                            "additionalProperties": false
                          }
                        }
                      },
                      "additionalProperties": false
                    },
                    "utility": {
                      "type": "object",
                      "required": [
                        "type",
                        "circuitId",
                        "voltage",
                        "maxWatts"
                      ],
                      "properties": {
                        "type": {
                          "const": "power"
                        },
                        "circuitId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "rating": {
                          "type": "string"
                        },
                        "voltage": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "maxWatts": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "powerKw": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "rigging": {
                      "type": "object",
                      "required": [
                        "safeWorkingLoadKg"
                      ],
                      "properties": {
                        "safeWorkingLoadKg": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "productionZone": {
                      "type": "object",
                      "required": [
                        "access"
                      ],
                      "properties": {
                        "access": {
                          "enum": [
                            "crew-only",
                            "performer-only",
                            "mixed"
                          ]
                        }
                      },
                      "additionalProperties": false
                    },
                    "resourceBinding": {
                      "type": "object",
                      "required": [
                        "schemaVersion",
                        "resourceId",
                        "kind",
                        "quantity"
                      ],
                      "properties": {
                        "schemaVersion": {
                          "const": 1
                        },
                        "resourceId": {
                          "type": "string",
                          "pattern": "^resource-[a-z0-9]+(?:-[a-z0-9]+)*$"
                        },
                        "kind": {
                          "enum": [
                            "inventory",
                            "av",
                            "power",
                            "catering",
                            "staffing"
                          ]
                        },
                        "quantity": {
                          "type": "integer",
                          "minimum": 1
                        }
                      },
                      "additionalProperties": false
                    },
                    "production": {
                      "type": "object",
                      "required": [
                        "equipmentType"
                      ],
                      "properties": {
                        "equipmentType": {
                          "enum": [
                            "screen",
                            "projector",
                            "speaker",
                            "camera",
                            "control-desk",
                            "cable-route",
                            "power-distribution",
                            "rigged-equipment"
                          ]
                        },
                        "targetObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "targetObjectIds": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "targetZoneObjectIds": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "sourceObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "circuitId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "riggingPointId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "viewableWidthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "viewableHeightM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "throwRatioMin": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "throwRatioMax": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "powerWatts": {
                          "type": "number",
                          "minimum": 0
                        },
                        "weightKg": {
                          "type": "number",
                          "minimum": 0
                        },
                        "requiresRigging": {
                          "type": "boolean"
                        },
                        "aimPoint": {
                          "type": "object",
                          "required": [
                            "x",
                            "y"
                          ],
                          "properties": {
                            "x": {
                              "type": "number"
                            },
                            "y": {
                              "type": "number"
                            }
                          },
                          "additionalProperties": false
                        },
                        "coverageRangeM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "coverageAngleDegrees": {
                          "type": "number",
                          "exclusiveMinimum": 0,
                          "maximum": 360
                        },
                        "minimumDistanceM": {
                          "type": "number",
                          "minimum": 0
                        },
                        "maximumDistanceM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "cableType": {
                          "type": "string",
                          "minLength": 1
                        },
                        "crossingTreatment": {
                          "enum": [
                            "none",
                            "overhead",
                            "cable-ramp",
                            "floor-channel"
                          ]
                        }
                      },
                      "additionalProperties": false
                    },
                    "catering": {
                      "type": "object",
                      "required": [
                        "type"
                      ],
                      "properties": {
                        "type": {
                          "enum": [
                            "bar",
                            "buffet",
                            "service-counter",
                            "kitchen",
                            "prep",
                            "waste",
                            "water",
                            "queue-zone",
                            "replenishment-route"
                          ]
                        },
                        "servers": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "serviceRatePerServerMinute": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "demandShare": {
                          "type": "number",
                          "exclusiveMinimum": 0,
                          "maximum": 1
                        },
                        "queueZoneObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "queueBufferPersons": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "accessibleServicePoint": {
                          "type": "boolean"
                        },
                        "serviceHeightM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "dietaryOptions": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "allergenLabels": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "replenishmentSourceObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "waterSourceObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "sourceObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "targetObjectIds": {
                          "type": "array",
                          "minItems": 1,
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "crossingControl": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "additionalProperties": false
                    },
                    "emergency": {
                      "type": "object",
                      "required": [
                        "type"
                      ],
                      "properties": {
                        "type": {
                          "enum": [
                            "assembly-point",
                            "emergency-access-lane",
                            "fire-equipment",
                            "first-aid",
                            "command-post"
                          ]
                        },
                        "capacityPersons": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "designatedExitObjectIds": {
                          "type": "array",
                          "minItems": 1,
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "responderOnly": {
                          "type": "boolean"
                        },
                        "equipmentClass": {
                          "type": "string",
                          "minLength": 1
                        },
                        "coverageRadiusM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "clearanceM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "accessible": {
                          "type": "boolean"
                        },
                        "powerSourceCircuitId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "backupPowerMinutes": {
                          "type": "number",
                          "minimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "entrance": {
                      "type": "object",
                      "properties": {
                        "clearWidthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "accessible": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "door": {
                      "type": "object",
                      "required": [
                        "clearWidthM",
                        "swing",
                        "accessible"
                      ],
                      "properties": {
                        "clearWidthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "swing": {
                          "enum": [
                            "inward",
                            "outward",
                            "sliding",
                            "revolving"
                          ]
                        },
                        "accessible": {
                          "type": "boolean"
                        },
                        "clearance": {
                          "type": "object",
                          "required": [
                            "side",
                            "depthM",
                            "latchSideM"
                          ],
                          "properties": {
                            "side": {
                              "enum": [
                                "left",
                                "right",
                                "both"
                              ]
                            },
                            "depthM": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            },
                            "latchSideM": {
                              "type": "number",
                              "exclusiveMinimum": 0
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    },
                    "exit": {
                      "type": "object",
                      "required": [
                        "clearWidthM",
                        "emergency",
                        "capacityPersons"
                      ],
                      "properties": {
                        "clearWidthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "emergency": {
                          "type": "boolean"
                        },
                        "capacityPersons": {
                          "type": "integer",
                          "minimum": 1
                        }
                      },
                      "additionalProperties": false
                    },
                    "route": {
                      "type": "object",
                      "required": [
                        "direction",
                        "accessible",
                        "purpose"
                      ],
                      "properties": {
                        "direction": {
                          "enum": [
                            "one-way",
                            "bidirectional"
                          ]
                        },
                        "accessible": {
                          "type": "boolean"
                        },
                        "purpose": {
                          "type": "string",
                          "minLength": 1
                        },
                        "staffOnly": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "restriction": {
                      "type": "object",
                      "required": [
                        "access",
                        "reasonCode",
                        "blocksPlacement"
                      ],
                      "properties": {
                        "access": {
                          "enum": [
                            "prohibited",
                            "staff-only",
                            "conditional"
                          ]
                        },
                        "reasonCode": {
                          "type": "string",
                          "minLength": 1
                        },
                        "blocksPlacement": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "ramp": {
                      "type": "object",
                      "required": [
                        "riseM",
                        "runM",
                        "clearWidthM",
                        "landingLengthM",
                        "edgeProtectionHeightM",
                        "handrails"
                      ],
                      "properties": {
                        "riseM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "runM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "clearWidthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "landingLengthM": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "edgeProtectionHeightM": {
                          "type": "number",
                          "minimum": 0
                        },
                        "handrails": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "locks": {
                      "type": "array",
                      "items": {
                        "$schema": "https://json-schema.org/draft/2020-12/schema",
                        "$id": "https://venuemind.dev/schemas/object-lock.schema.json",
                        "title": "VenueMind Object Lock",
                        "type": "object",
                        "required": [
                          "id",
                          "objectId",
                          "type",
                          "source",
                          "reasonCode",
                          "authorId",
                          "active"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1
                          },
                          "objectId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "type": {
                            "enum": [
                              "position",
                              "rotation",
                              "dimension",
                              "deletion",
                              "role"
                            ]
                          },
                          "source": {
                            "enum": [
                              "venue-template",
                              "project"
                            ]
                          },
                          "reasonCode": {
                            "type": "string",
                            "minLength": 1
                          },
                          "authorId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "expiresAt": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time"
                          },
                          "releasedAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "releasedBy": {
                            "type": "string",
                            "minLength": 1
                          },
                          "active": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "locked": {
                      "type": "boolean"
                    },
                    "occupancy": {
                      "type": "object",
                      "properties": {
                        "expected": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "maximum": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "minimumCapacity": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "maximumCapacity": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "zoneId": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "excludesUsableArea": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "accessibility": {
                      "type": "object",
                      "properties": {
                        "accessible": {
                          "type": "boolean"
                        },
                        "destination": {
                          "type": "boolean"
                        },
                        "accessibleSeats": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "companionSeats": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "accessibleSeatSampleIds": {
                          "type": "array",
                          "uniqueItems": true,
                          "items": {
                            "type": "string",
                            "minLength": 1
                          }
                        },
                        "clearanceExempt": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "sightline": {
                      "type": "object",
                      "properties": {
                        "focalPoints": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "id",
                              "point",
                              "elevationM"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "minLength": 1
                              },
                              "point": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "elevationM": {
                                "type": "number",
                                "minimum": 0
                              },
                              "priority": {
                                "enum": [
                                  "primary",
                                  "secondary"
                                ]
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "samples": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "id",
                              "point",
                              "eyeHeightM"
                            ],
                            "properties": {
                              "id": {
                                "type": "string",
                                "minLength": 1
                              },
                              "point": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "eyeHeightM": {
                                "type": "number",
                                "minimum": 0
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "opacity": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        },
                        "heightM": {
                          "type": "number",
                          "minimum": 0
                        }
                      },
                      "additionalProperties": false
                    },
                    "templateRef": {
                      "type": "object",
                      "required": [
                        "kind",
                        "templateId",
                        "version"
                      ],
                      "properties": {
                        "kind": {
                          "enum": [
                            "venue-template",
                            "room-template",
                            "inventory-item-template"
                          ]
                        },
                        "templateId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "templateObjectId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "version": {
                          "type": "string",
                          "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"
                        }
                      },
                      "additionalProperties": false
                    },
                    "templateOverrides": {
                      "type": "array",
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "inventoryCount": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "groupId": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "specification": {
                      "type": "object",
                      "properties": {
                        "dimensions": {
                          "type": "object",
                          "additionalProperties": {
                            "type": "number"
                          }
                        },
                        "weightKg": {
                          "type": "number",
                          "minimum": 0
                        },
                        "power": {
                          "type": "object",
                          "required": [
                            "watts",
                            "connector"
                          ],
                          "properties": {
                            "watts": {
                              "type": "number",
                              "minimum": 0
                            },
                            "connector": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        },
                        "capacity": {
                          "type": "integer",
                          "minimum": 0
                        },
                        "cost": {
                          "type": "object",
                          "required": [
                            "amount"
                          ],
                          "properties": {
                            "amount": {
                              "type": "number",
                              "minimum": 0
                            },
                            "currency": {
                              "type": "string"
                            },
                            "basis": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          ]
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "edit",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Apply Edit",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:propose"
    },
    "limits": {
      "maximumInputBytes": 262144,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "edit": {
        "operation": "move",
        "objectIds": [
          "obj-av-desk"
        ],
        "delta": {
          "x": 1,
          "y": 0
        }
      },
      "idempotencyKey": "example-edit-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "status",
        "proposalId",
        "changeId",
        "operation",
        "changedItems",
        "requiresHumanApproval",
        "receipt"
      ],
      "properties": {
        "status": {
          "const": "review"
        },
        "proposalId": {
          "type": "string",
          "minLength": 1
        },
        "changeId": {
          "type": "string",
          "minLength": 1
        },
        "operation": {
          "enum": [
            "apply-layout",
            "move",
            "rotate",
            "resize",
            "delete",
            "group",
            "ungroup",
            "edit-zone-vertices",
            "align",
            "distribute",
            "duplicate",
            "paste",
            "place",
            "create-zone"
          ]
        },
        "changedItems": {
          "type": "integer",
          "minimum": 1
        },
        "requiresHumanApproval": {
          "const": true
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.measure_objects",
    "description": "Measure deterministic center points and pairwise distances for selected Project objects.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "objectIds": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        }
      },
      "required": [
        "objectIds"
      ],
      "additionalProperties": false
    },
    "title": "Measure Objects",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "objectIds": [
        "obj-stage-west",
        "obj-av-desk"
      ]
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "objectIds",
        "centers",
        "distances"
      ],
      "properties": {
        "objectIds": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "centers": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "objectId",
              "point"
            ],
            "properties": {
              "objectId": {
                "type": "string",
                "minLength": 1
              },
              "point": {
                "type": "object",
                "required": [
                  "x",
                  "y"
                ],
                "properties": {
                  "x": {
                    "type": "number"
                  },
                  "y": {
                    "type": "number"
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          }
        },
        "distances": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "fromObjectId",
              "toObjectId",
              "distanceM"
            ],
            "properties": {
              "fromObjectId": {
                "type": "string",
                "minLength": 1
              },
              "toObjectId": {
                "type": "string",
                "minLength": 1
              },
              "distanceM": {
                "type": "number",
                "minimum": 0
              }
            },
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.validate_layout",
    "description": "Validate the visible proposal or committed plan against locks, accessibility, capacity, sightlines, and circulation constraints.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "Validate Layout",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 1048576
    },
    "exampleInput": {},
    "outputSchema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "https://venuemind.dev/schemas/validation-result.schema.json",
      "title": "VenueMind Validation Result",
      "type": "object",
      "required": [
        "validationId",
        "inputFingerprint",
        "engineVersion",
        "evaluatedPlanVersion",
        "evaluatedProposalId",
        "status",
        "checks",
        "candidateMetrics",
        "candidateGeometryFingerprint",
        "spatialEvidence",
        "productionEvidence",
        "cateringEvidence",
        "emergencyEvidence",
        "evidenceFamilyFingerprints",
        "planningEvidenceInvalidations",
        "emergencyReviewRequired",
        "emergencyChangedObjectIds",
        "authorizedEmergencyReviewerRoles",
        "blockingIssues",
        "waivedWarnings",
        "unwaivedWarnings",
        "unresolvedIssues",
        "inventoryAvailability",
        "inventoryWarnings"
      ],
      "properties": {
        "validationId": {
          "type": "string",
          "pattern": "^validation-[0-9a-f]{8}$"
        },
        "inputFingerprint": {
          "type": "string",
          "pattern": "^input-[0-9a-f]{8}$"
        },
        "engineVersion": {
          "type": "string",
          "minLength": 1
        },
        "evaluatedPlanVersion": {
          "type": "string",
          "minLength": 1
        },
        "evaluatedProposalId": {
          "type": [
            "string",
            "null"
          ]
        },
        "status": {
          "enum": [
            "pass",
            "fail"
          ]
        },
        "checks": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "constraintId",
              "evaluator",
              "label",
              "category",
              "severity",
              "waivable",
              "scope",
              "status",
              "actual",
              "threshold",
              "unit",
              "evidence",
              "remediation",
              "waiver"
            ],
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              },
              "constraintId": {
                "type": "string",
                "minLength": 1
              },
              "evaluator": {
                "type": "string",
                "minLength": 1
              },
              "label": {
                "type": "string",
                "minLength": 1
              },
              "category": {
                "type": "string",
                "minLength": 1
              },
              "severity": {
                "enum": [
                  "error",
                  "warning"
                ]
              },
              "waivable": {
                "type": "boolean"
              },
              "scope": {
                "type": "object"
              },
              "status": {
                "enum": [
                  "pass",
                  "warning",
                  "fail",
                  "not-applicable"
                ]
              },
              "actual": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "threshold": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "unit": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "evidence": {
                "type": "object"
              },
              "remediation": {
                "type": "string"
              },
              "waiver": {
                "anyOf": [
                  {
                    "$ref": "https://venuemind.dev/schemas/warning-waiver.schema.json"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "candidateMetrics": {
          "type": "object"
        },
        "candidateGeometryFingerprint": {
          "type": "string",
          "pattern": "^geom-[0-9a-f]{8}$"
        },
        "spatialEvidence": {
          "$ref": "https://venuemind.dev/schemas/spatial-evidence.schema.json"
        },
        "productionEvidence": {
          "type": "object",
          "required": [
            "schemaVersion",
            "kind",
            "planId",
            "planVersion",
            "geometryFingerprint",
            "summary",
            "evidenceFingerprint"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "kind": {
              "const": "production-planning-result"
            },
            "planId": {
              "type": "string"
            },
            "planVersion": {
              "type": "string"
            },
            "geometryFingerprint": {
              "type": "string"
            },
            "summary": {
              "type": "object"
            },
            "evidenceFingerprint": {
              "type": "string",
              "pattern": "^production-planning-"
            }
          },
          "additionalProperties": true
        },
        "cateringEvidence": {
          "type": "object",
          "required": [
            "schemaVersion",
            "kind",
            "planId",
            "planVersion",
            "geometryFingerprint",
            "summary",
            "evidenceFingerprint"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "kind": {
              "const": "catering-planning-result"
            },
            "planId": {
              "type": "string"
            },
            "planVersion": {
              "type": "string"
            },
            "geometryFingerprint": {
              "type": "string"
            },
            "summary": {
              "type": "object"
            },
            "evidenceFingerprint": {
              "type": "string",
              "pattern": "^catering-planning-"
            }
          },
          "additionalProperties": true
        },
        "emergencyEvidence": {
          "type": "object",
          "required": [
            "schemaVersion",
            "kind",
            "planId",
            "planVersion",
            "geometryFingerprint",
            "summary",
            "degradedScenarios",
            "evidenceFingerprint"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "kind": {
              "const": "emergency-planning-result"
            },
            "planId": {
              "type": "string"
            },
            "planVersion": {
              "type": "string"
            },
            "geometryFingerprint": {
              "type": "string"
            },
            "summary": {
              "type": "object"
            },
            "degradedScenarios": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "evidenceFingerprint": {
              "type": "string",
              "pattern": "^emergency-planning-"
            }
          },
          "additionalProperties": true
        },
        "evidenceFamilyFingerprints": {
          "type": "object",
          "required": [
            "accessibility",
            "capacity",
            "catering",
            "emergency",
            "flow",
            "operations",
            "production",
            "sightlines"
          ],
          "properties": {
            "accessibility": {
              "type": "string",
              "pattern": "^evidence-accessibility-[0-9a-f]{8}$"
            },
            "capacity": {
              "type": "string",
              "pattern": "^evidence-capacity-[0-9a-f]{8}$"
            },
            "catering": {
              "type": "string",
              "pattern": "^evidence-catering-[0-9a-f]{8}$"
            },
            "emergency": {
              "type": "string",
              "pattern": "^evidence-emergency-[0-9a-f]{8}$"
            },
            "flow": {
              "type": "string",
              "pattern": "^evidence-flow-[0-9a-f]{8}$"
            },
            "operations": {
              "type": "string",
              "pattern": "^evidence-operations-[0-9a-f]{8}$"
            },
            "production": {
              "type": "string",
              "pattern": "^evidence-production-[0-9a-f]{8}$"
            },
            "sightlines": {
              "type": "string",
              "pattern": "^evidence-sightlines-[0-9a-f]{8}$"
            }
          },
          "additionalProperties": false
        },
        "planningEvidenceInvalidations": {
          "type": "object",
          "required": [
            "affectedConstraintIds",
            "evidenceFamilies"
          ],
          "properties": {
            "affectedConstraintIds": {
              "type": "array",
              "uniqueItems": true,
              "items": {
                "type": "string",
                "minLength": 1
              }
            },
            "evidenceFamilies": {
              "type": "array",
              "uniqueItems": true,
              "items": {
                "enum": [
                  "capacity",
                  "flow",
                  "operations"
                ]
              }
            }
          },
          "additionalProperties": false
        },
        "emergencyReviewRequired": {
          "type": "boolean"
        },
        "emergencyChangedObjectIds": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        },
        "authorizedEmergencyReviewerRoles": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "enum": [
              "safety-officer",
              "venue-administrator"
            ]
          }
        },
        "blockingIssues": {
          "type": "integer",
          "minimum": 0
        },
        "waivedWarnings": {
          "type": "integer",
          "minimum": 0
        },
        "unwaivedWarnings": {
          "type": "integer",
          "minimum": 0
        },
        "unresolvedIssues": {
          "type": "integer",
          "minimum": 0
        },
        "inventoryAvailability": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "templateId",
              "version",
              "requested",
              "available",
              "status",
              "shortage"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "templateId": {
                "type": "string"
              },
              "version": {
                "type": "string"
              },
              "requested": {
                "type": "integer"
              },
              "available": {
                "type": "integer"
              },
              "status": {
                "enum": [
                  "available",
                  "warning"
                ]
              },
              "shortage": {
                "type": "integer"
              }
            },
            "additionalProperties": false
          }
        },
        "inventoryWarnings": {
          "type": "integer",
          "minimum": 0
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.get_validation_evidence",
    "description": "Read deterministic evidence for the current Validation, optionally restricted to stable Constraint IDs.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "validationId": {
          "type": "string",
          "minLength": 1
        },
        "constraintIds": {
          "type": "array",
          "maxItems": 50,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "includeSpatialEvidence": {
          "type": "boolean",
          "default": true
        }
      },
      "additionalProperties": false
    },
    "title": "Get Validation Evidence",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 1048576
    },
    "exampleInput": {
      "constraintIds": [
        "constraint-accessible-route"
      ],
      "includeSpatialEvidence": true
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "validationId",
        "inputFingerprint",
        "engineVersion",
        "evaluatedPlanVersion",
        "evaluatedProposalId",
        "status",
        "unresolvedIssues",
        "candidateGeometryFingerprint",
        "evidenceFingerprint",
        "checks",
        "productionEvidence",
        "cateringEvidence",
        "emergencyEvidence",
        "evidenceFamilyFingerprints",
        "planningEvidenceInvalidations"
      ],
      "properties": {
        "validationId": {
          "type": "string",
          "pattern": "^validation-[0-9a-f]{8}$"
        },
        "inputFingerprint": {
          "type": "string",
          "pattern": "^input-[0-9a-f]{8}$"
        },
        "engineVersion": {
          "type": "string",
          "minLength": 1
        },
        "evaluatedPlanVersion": {
          "type": "string",
          "minLength": 1
        },
        "evaluatedProposalId": {
          "type": [
            "string",
            "null"
          ]
        },
        "status": {
          "enum": [
            "pass",
            "fail"
          ]
        },
        "checks": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "constraintId",
              "evaluator",
              "label",
              "category",
              "severity",
              "waivable",
              "scope",
              "status",
              "actual",
              "threshold",
              "unit",
              "evidence",
              "remediation",
              "waiver"
            ],
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              },
              "constraintId": {
                "type": "string",
                "minLength": 1
              },
              "evaluator": {
                "type": "string",
                "minLength": 1
              },
              "label": {
                "type": "string",
                "minLength": 1
              },
              "category": {
                "type": "string",
                "minLength": 1
              },
              "severity": {
                "enum": [
                  "error",
                  "warning"
                ]
              },
              "waivable": {
                "type": "boolean"
              },
              "scope": {
                "type": "object"
              },
              "status": {
                "enum": [
                  "pass",
                  "warning",
                  "fail",
                  "not-applicable"
                ]
              },
              "actual": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "threshold": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "unit": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "evidence": {
                "type": "object"
              },
              "remediation": {
                "type": "string"
              },
              "waiver": {
                "anyOf": [
                  {
                    "$ref": "https://venuemind.dev/schemas/warning-waiver.schema.json"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "candidateMetrics": {
          "type": "object"
        },
        "candidateGeometryFingerprint": {
          "type": "string",
          "pattern": "^geom-[0-9a-f]{8}$"
        },
        "spatialEvidence": {
          "$ref": "https://venuemind.dev/schemas/spatial-evidence.schema.json"
        },
        "productionEvidence": {
          "type": "object",
          "required": [
            "schemaVersion",
            "kind",
            "planId",
            "planVersion",
            "geometryFingerprint",
            "summary",
            "evidenceFingerprint"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "kind": {
              "const": "production-planning-result"
            },
            "planId": {
              "type": "string"
            },
            "planVersion": {
              "type": "string"
            },
            "geometryFingerprint": {
              "type": "string"
            },
            "summary": {
              "type": "object"
            },
            "evidenceFingerprint": {
              "type": "string",
              "pattern": "^production-planning-"
            }
          },
          "additionalProperties": true
        },
        "cateringEvidence": {
          "type": "object",
          "required": [
            "schemaVersion",
            "kind",
            "planId",
            "planVersion",
            "geometryFingerprint",
            "summary",
            "evidenceFingerprint"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "kind": {
              "const": "catering-planning-result"
            },
            "planId": {
              "type": "string"
            },
            "planVersion": {
              "type": "string"
            },
            "geometryFingerprint": {
              "type": "string"
            },
            "summary": {
              "type": "object"
            },
            "evidenceFingerprint": {
              "type": "string",
              "pattern": "^catering-planning-"
            }
          },
          "additionalProperties": true
        },
        "emergencyEvidence": {
          "type": "object",
          "required": [
            "schemaVersion",
            "kind",
            "planId",
            "planVersion",
            "geometryFingerprint",
            "summary",
            "degradedScenarios",
            "evidenceFingerprint"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "kind": {
              "const": "emergency-planning-result"
            },
            "planId": {
              "type": "string"
            },
            "planVersion": {
              "type": "string"
            },
            "geometryFingerprint": {
              "type": "string"
            },
            "summary": {
              "type": "object"
            },
            "degradedScenarios": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "evidenceFingerprint": {
              "type": "string",
              "pattern": "^emergency-planning-"
            }
          },
          "additionalProperties": true
        },
        "evidenceFamilyFingerprints": {
          "type": "object",
          "required": [
            "accessibility",
            "capacity",
            "catering",
            "emergency",
            "flow",
            "operations",
            "production",
            "sightlines"
          ],
          "properties": {
            "accessibility": {
              "type": "string",
              "pattern": "^evidence-accessibility-[0-9a-f]{8}$"
            },
            "capacity": {
              "type": "string",
              "pattern": "^evidence-capacity-[0-9a-f]{8}$"
            },
            "catering": {
              "type": "string",
              "pattern": "^evidence-catering-[0-9a-f]{8}$"
            },
            "emergency": {
              "type": "string",
              "pattern": "^evidence-emergency-[0-9a-f]{8}$"
            },
            "flow": {
              "type": "string",
              "pattern": "^evidence-flow-[0-9a-f]{8}$"
            },
            "operations": {
              "type": "string",
              "pattern": "^evidence-operations-[0-9a-f]{8}$"
            },
            "production": {
              "type": "string",
              "pattern": "^evidence-production-[0-9a-f]{8}$"
            },
            "sightlines": {
              "type": "string",
              "pattern": "^evidence-sightlines-[0-9a-f]{8}$"
            }
          },
          "additionalProperties": false
        },
        "planningEvidenceInvalidations": {
          "type": "object",
          "required": [
            "affectedConstraintIds",
            "evidenceFamilies"
          ],
          "properties": {
            "affectedConstraintIds": {
              "type": "array",
              "uniqueItems": true,
              "items": {
                "type": "string",
                "minLength": 1
              }
            },
            "evidenceFamilies": {
              "type": "array",
              "uniqueItems": true,
              "items": {
                "enum": [
                  "capacity",
                  "flow",
                  "operations"
                ]
              }
            }
          },
          "additionalProperties": false
        },
        "emergencyReviewRequired": {
          "type": "boolean"
        },
        "emergencyChangedObjectIds": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        },
        "authorizedEmergencyReviewerRoles": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "enum": [
              "safety-officer",
              "venue-administrator"
            ]
          }
        },
        "blockingIssues": {
          "type": "integer",
          "minimum": 0
        },
        "waivedWarnings": {
          "type": "integer",
          "minimum": 0
        },
        "unwaivedWarnings": {
          "type": "integer",
          "minimum": 0
        },
        "unresolvedIssues": {
          "type": "integer",
          "minimum": 0
        },
        "inventoryAvailability": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "templateId",
              "version",
              "requested",
              "available",
              "status",
              "shortage"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "templateId": {
                "type": "string"
              },
              "version": {
                "type": "string"
              },
              "requested": {
                "type": "integer"
              },
              "available": {
                "type": "integer"
              },
              "status": {
                "enum": [
                  "available",
                  "warning"
                ]
              },
              "shortage": {
                "type": "integer"
              }
            },
            "additionalProperties": false
          }
        },
        "inventoryWarnings": {
          "type": "integer",
          "minimum": 0
        },
        "evidenceFingerprint": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "VALIDATION_NOT_FOUND"
    ]
  },
  {
    "name": "venue.list_proposal_branches",
    "description": "Compare proposal branches by base version, change count, validation status, unresolved issues, and projected metrics.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "List Proposal Branches",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {},
    "outputSchema": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "name",
          "notes",
          "strategy",
          "active",
          "archived",
          "decisionStatus",
          "revisionCount",
          "revisions",
          "proposalId",
          "baseVersion",
          "status",
          "changedItems",
          "validationStatus",
          "unresolvedIssues",
          "stale",
          "conflicts",
          "blockingConflicts",
          "metrics"
        ],
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "notes": {
            "type": "string"
          },
          "strategy": {
            "type": "string",
            "minLength": 1
          },
          "active": {
            "type": "boolean"
          },
          "archived": {
            "type": "boolean"
          },
          "decisionStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "revisionCount": {
            "type": "integer",
            "minimum": 1
          },
          "revisions": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "proposalId",
                "revision",
                "status",
                "current"
              ],
              "properties": {
                "proposalId": {
                  "type": "string"
                },
                "revision": {
                  "type": "integer",
                  "minimum": 1
                },
                "status": {
                  "type": "string"
                },
                "current": {
                  "type": "boolean"
                }
              },
              "additionalProperties": false
            }
          },
          "proposalId": {
            "type": "string",
            "minLength": 1
          },
          "baseVersion": {
            "type": "string",
            "minLength": 1
          },
          "status": {
            "type": "string",
            "minLength": 1
          },
          "changedItems": {
            "type": "integer",
            "minimum": 0
          },
          "validationStatus": {
            "enum": [
              "pass",
              "fail"
            ]
          },
          "unresolvedIssues": {
            "type": "integer",
            "minimum": 0
          },
          "stale": {
            "type": "boolean"
          },
          "conflicts": {
            "type": "integer",
            "minimum": 0
          },
          "blockingConflicts": {
            "type": "integer",
            "minimum": 0
          },
          "metrics": {
            "type": "object",
            "properties": {
              "capacity": {
                "type": "number"
              },
              "accessibility": {
                "type": "number"
              },
              "sightlines": {
                "type": "number"
              },
              "circulation": {
                "type": "number"
              }
            },
            "additionalProperties": false
          }
        },
        "additionalProperties": false
      }
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.compare_proposal_branches",
    "description": "Compare two Proposal Branches by spatial object differences, Change membership, projected metrics, and deterministic Constraint improvements or regressions.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "leftBranchId": {
          "type": "string",
          "minLength": 1
        },
        "rightBranchId": {
          "type": "string",
          "minLength": 1
        }
      },
      "required": [
        "leftBranchId",
        "rightBranchId"
      ],
      "additionalProperties": false
    },
    "title": "Compare Proposal Branches",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "leftBranchId": "branch-balanced",
      "rightBranchId": "branch-access"
    },
    "outputSchema": {
      "$ref": "https://venuemind.dev/schemas/proposal-comparison.schema.json"
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.create_proposal_branch",
    "description": "Create and activate a non-destructive proposal branch using a balanced, access-first, circulation-first, or sightlines-first strategy.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "strategy": {
          "type": "string",
          "enum": [
            "balanced",
            "access-first",
            "circulation-first",
            "sightlines-first"
          ]
        },
        "goal": {
          "type": "string",
          "minLength": 1
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "name",
        "strategy",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Create Proposal Branch",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:propose"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "name": "Access first",
      "strategy": "access-first",
      "goal": "Protect accessible arrival",
      "idempotencyKey": "example-branch-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "branchId",
        "proposalId",
        "strategy",
        "changedItems",
        "receipt"
      ],
      "properties": {
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "proposalId": {
          "type": "string",
          "minLength": 1
        },
        "strategy": {
          "type": "string",
          "minLength": 1
        },
        "changedItems": {
          "type": "integer",
          "minimum": 0
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.switch_proposal_branch",
    "description": "Activate an existing proposal branch in the visible VenueMind workspace without approving it.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "branchId",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Switch Proposal Branch",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:propose"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "branchId": "branch-balanced",
      "idempotencyKey": "example-switch-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "branchId",
        "proposalId",
        "status",
        "receipt"
      ],
      "properties": {
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "proposalId": {
          "type": "string",
          "minLength": 1
        },
        "status": {
          "type": "string",
          "minLength": 1
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.update_proposal_branch",
    "description": "Update a Proposal Branch name or review notes without changing its Proposal geometry.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "name": {
          "type": "string",
          "minLength": 1
        },
        "notes": {
          "type": "string",
          "maxLength": 2000
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "branchId",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Update Proposal Branch",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:propose"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "branchId": "branch-balanced",
      "notes": "Review access route",
      "idempotencyKey": "example-branch-note-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "status",
        "branchId",
        "name",
        "notes",
        "receipt"
      ],
      "properties": {
        "status": {
          "const": "updated"
        },
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "name": {
          "type": "string",
          "minLength": 1
        },
        "notes": {
          "type": "string"
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.duplicate_proposal_branch",
    "description": "Duplicate the current or a prior Proposal revision into a new active Branch with preserved stable Change IDs.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "proposalId": {
          "type": "string",
          "minLength": 1
        },
        "name": {
          "type": "string",
          "minLength": 1
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "branchId",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Duplicate Proposal Branch",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:propose"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "branchId": "branch-balanced",
      "name": "Balanced copy",
      "idempotencyKey": "example-duplicate-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "status",
        "branchId",
        "proposalId",
        "sourceBranchId",
        "sourceProposalId",
        "receipt"
      ],
      "properties": {
        "status": {
          "const": "duplicated"
        },
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "proposalId": {
          "type": "string",
          "minLength": 1
        },
        "sourceBranchId": {
          "type": "string",
          "minLength": 1
        },
        "sourceProposalId": {
          "type": "string",
          "minLength": 1
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.archive_proposal_branch",
    "description": "Archive a Proposal Branch without deleting its revisions or audit history.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "branchId",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Archive Proposal Branch",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:propose"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "branchId": "branch-balanced",
      "idempotencyKey": "example-archive-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "status",
        "branchId",
        "receipt"
      ],
      "properties": {
        "status": {
          "const": "archived"
        },
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "activeBranchId": {
          "type": "string",
          "minLength": 1
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.restore_proposal_branch",
    "description": "Restore an archived Proposal Branch to the active comparison set.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "branchId",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Restore Proposal Branch",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:propose"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "branchId": "branch-balanced",
      "idempotencyKey": "example-restore-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "status",
        "branchId",
        "receipt"
      ],
      "properties": {
        "status": {
          "const": "restored"
        },
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.detect_proposal_conflicts",
    "description": "Detect stale-base, deleted-dependency, locked-object, same-object, and Constraint-regression conflicts for a Proposal Branch.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "branchId": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "title": "Detect Proposal Conflicts",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "branchId": "branch-balanced"
    },
    "outputSchema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "https://venuemind.dev/schemas/proposal-conflicts.schema.json",
      "title": "VenueMind Proposal Conflicts",
      "type": "object",
      "required": [
        "status",
        "branchId",
        "proposalId",
        "stale",
        "baseVersion",
        "currentVersion",
        "conflicts",
        "blockingConflicts",
        "validation"
      ],
      "properties": {
        "status": {
          "enum": [
            "clear",
            "conflicts"
          ]
        },
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "proposalId": {
          "type": "string",
          "minLength": 1
        },
        "stale": {
          "type": "boolean"
        },
        "baseVersion": {
          "type": "string",
          "minLength": 1
        },
        "currentVersion": {
          "type": "string",
          "minLength": 1
        },
        "conflicts": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "id",
              "type",
              "severity",
              "blocking",
              "baseVersion",
              "currentVersion",
              "changeIds",
              "objectIds",
              "resolutionOptions"
            ],
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              },
              "type": {
                "enum": [
                  "stale-base",
                  "deleted-dependency",
                  "lock-conflict",
                  "same-object-edit",
                  "geometry-overlap",
                  "constraint-regression"
                ]
              },
              "severity": {
                "enum": [
                  "error",
                  "warning"
                ]
              },
              "blocking": {
                "type": "boolean"
              },
              "baseVersion": {
                "type": "string"
              },
              "currentVersion": {
                "type": "string"
              },
              "changeIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "objectIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "constraintId": {
                "type": "string"
              },
              "validationId": {
                "type": "string"
              },
              "lockId": {
                "type": "string"
              },
              "lockType": {
                "enum": [
                  "position",
                  "rotation",
                  "dimension",
                  "deletion",
                  "role"
                ]
              },
              "lockSource": {
                "enum": [
                  "venue-template",
                  "project"
                ]
              },
              "resolutionOptions": {
                "type": "array",
                "items": {
                  "enum": [
                    "rebase",
                    "drop-change",
                    "keep-proposal",
                    "keep-plan",
                    "manual-resolution",
                    "revise-proposal"
                  ]
                }
              }
            },
            "additionalProperties": false
          }
        },
        "blockingConflicts": {
          "type": "integer",
          "minimum": 0
        },
        "validation": {
          "$ref": "https://venuemind.dev/schemas/validation-result.schema.json"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.rebase_proposal",
    "description": "Rebase a stale Proposal Branch onto the latest accepted Plan Version while preserving unchanged stable Change IDs.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "branchId",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Rebase Proposal",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:propose"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "branchId": "branch-balanced",
      "idempotencyKey": "example-rebase-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "status",
        "branchId",
        "proposalId",
        "receipt"
      ],
      "properties": {
        "status": {
          "enum": [
            "current",
            "rebased"
          ]
        },
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "proposalId": {
          "type": "string",
          "minLength": 1
        },
        "baseVersion": {
          "type": "string",
          "minLength": 1
        },
        "fromVersion": {
          "type": "string",
          "minLength": 1
        },
        "toVersion": {
          "type": "string",
          "minLength": 1
        },
        "changedItems": {
          "type": "integer",
          "minimum": 0
        },
        "validationStatus": {
          "enum": [
            "pass",
            "fail"
          ]
        },
        "validationId": {
          "type": "string",
          "minLength": 1
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.request_adjustment",
    "description": "Create a new non-destructive Proposal revision recording an agent-requested adjustment. Human Approval is still required.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "instruction": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "instruction",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Request Adjustment",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:propose"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "instruction": "Increase rear clearance",
      "idempotencyKey": "example-adjustment-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "proposalId",
        "revision",
        "status",
        "receipt"
      ],
      "properties": {
        "proposalId": {
          "type": "string",
          "minLength": 1
        },
        "revision": {
          "type": "integer",
          "minimum": 1
        },
        "status": {
          "type": "string",
          "minLength": 1
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.list_comments",
    "description": "Read comments by status, author, subject kind, or decision relevance without changing planning state.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "status": {
          "enum": [
            "open",
            "resolved"
          ]
        },
        "authorId": {
          "type": "string",
          "minLength": 1
        },
        "subjectKind": {
          "enum": [
            "project",
            "plan-version",
            "proposal",
            "change",
            "constraint",
            "coordinate"
          ]
        },
        "decisionRelevant": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "title": "List Comments",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "status": "open",
      "decisionRelevant": true
    },
    "outputSchema": {
      "type": "array",
      "items": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://venuemind.dev/schemas/comment.schema.json",
        "title": "VenueMind Comment",
        "type": "object",
        "required": [
          "id",
          "anchor",
          "body",
          "mentions",
          "decisionRelevant",
          "status",
          "authorId",
          "authorType",
          "createdAt",
          "updatedAt",
          "resolvedAt",
          "resolvedBy",
          "editHistory"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^comment-[0-9]+$"
          },
          "anchor": {
            "$ref": "https://venuemind.dev/schemas/comment-anchor.schema.json"
          },
          "body": {
            "type": "string",
            "minLength": 1,
            "maxLength": 5000
          },
          "mentions": {
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 1
            }
          },
          "decisionRelevant": {
            "type": "boolean"
          },
          "status": {
            "enum": [
              "open",
              "resolved"
            ]
          },
          "authorId": {
            "type": "string",
            "minLength": 1
          },
          "authorType": {
            "enum": [
              "human",
              "agent",
              "system"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "resolvedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "resolvedBy": {
            "type": [
              "string",
              "null"
            ]
          },
          "editHistory": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "body",
                "mentions",
                "decisionRelevant",
                "editedAt",
                "editedBy"
              ],
              "properties": {
                "body": {
                  "type": "string"
                },
                "mentions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "decisionRelevant": {
                  "type": "boolean"
                },
                "editedAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "editedBy": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            }
          }
        },
        "additionalProperties": false
      }
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.add_comment",
    "description": "Add a non-planning Comment anchored to an immutable VenueMind subject or spatial coordinate.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "anchor": {
          "type": "object",
          "required": [
            "kind"
          ],
          "properties": {
            "kind": {
              "enum": [
                "project",
                "plan-version",
                "proposal",
                "change",
                "constraint",
                "coordinate"
              ]
            },
            "projectId": {
              "type": "string",
              "minLength": 1
            },
            "planVersion": {
              "type": "string",
              "minLength": 1
            },
            "proposalId": {
              "type": "string",
              "minLength": 1
            },
            "changeId": {
              "type": "string",
              "minLength": 1
            },
            "constraintId": {
              "type": "string",
              "minLength": 1
            },
            "point": {
              "type": "object",
              "required": [
                "x",
                "y"
              ],
              "properties": {
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        },
        "body": {
          "type": "string",
          "minLength": 1,
          "maxLength": 5000
        },
        "mentions": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "decisionRelevant": {
          "type": "boolean"
        },
        "authorId": {
          "type": "string",
          "minLength": 1
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "anchor",
        "body",
        "authorId",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Add Comment",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:comment"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "anchor": {
        "kind": "coordinate",
        "planVersion": "3.2",
        "point": {
          "x": 12,
          "y": 8
        }
      },
      "body": "Review route intersection",
      "authorId": "agent-reviewer",
      "idempotencyKey": "example-comment-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "status",
        "commentId",
        "anchor",
        "receipt"
      ],
      "properties": {
        "status": {
          "const": "open"
        },
        "commentId": {
          "type": "string",
          "minLength": 1
        },
        "anchor": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/comment-anchor.schema.json",
          "title": "VenueMind Comment Anchor",
          "oneOf": [
            {
              "type": "object",
              "required": [
                "kind",
                "planId",
                "projectId"
              ],
              "properties": {
                "kind": {
                  "const": "project"
                },
                "planId": {
                  "type": "string",
                  "minLength": 1
                },
                "projectId": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "kind",
                "planId",
                "planVersion"
              ],
              "properties": {
                "kind": {
                  "const": "plan-version"
                },
                "planId": {
                  "type": "string",
                  "minLength": 1
                },
                "planVersion": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "kind",
                "planId",
                "proposalId"
              ],
              "properties": {
                "kind": {
                  "const": "proposal"
                },
                "planId": {
                  "type": "string",
                  "minLength": 1
                },
                "proposalId": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "kind",
                "planId",
                "proposalId",
                "changeId"
              ],
              "properties": {
                "kind": {
                  "const": "change"
                },
                "planId": {
                  "type": "string",
                  "minLength": 1
                },
                "proposalId": {
                  "type": "string",
                  "minLength": 1
                },
                "changeId": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "kind",
                "planId",
                "constraintId"
              ],
              "properties": {
                "kind": {
                  "const": "constraint"
                },
                "planId": {
                  "type": "string",
                  "minLength": 1
                },
                "constraintId": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "kind",
                "planId",
                "planVersion",
                "point"
              ],
              "properties": {
                "kind": {
                  "const": "coordinate"
                },
                "planId": {
                  "type": "string",
                  "minLength": 1
                },
                "planVersion": {
                  "type": "string",
                  "minLength": 1
                },
                "point": {
                  "type": "object",
                  "required": [
                    "x",
                    "y"
                  ],
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          ]
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.edit_comment",
    "description": "Edit Comment text, mentions, or decision relevance while retaining immutable edit history.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "commentId": {
          "type": "string",
          "minLength": 1
        },
        "body": {
          "type": "string",
          "minLength": 1,
          "maxLength": 5000
        },
        "mentions": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "decisionRelevant": {
          "type": "boolean"
        },
        "authorId": {
          "type": "string",
          "minLength": 1
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "commentId",
        "body",
        "authorId",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Edit Comment",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:comment"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "commentId": "comment-0001",
      "body": "Review route intersection before approval",
      "authorId": "agent-reviewer",
      "idempotencyKey": "example-comment-edit-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "status",
        "commentId",
        "receipt"
      ],
      "properties": {
        "status": {
          "enum": [
            "noop",
            "edited"
          ]
        },
        "commentId": {
          "type": "string",
          "minLength": 1
        },
        "editNumber": {
          "type": "integer",
          "minimum": 1
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.set_comment_status",
    "description": "Resolve or reopen a Comment without changing its immutable anchor or planning state.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "commentId": {
          "type": "string",
          "minLength": 1
        },
        "status": {
          "enum": [
            "open",
            "resolved"
          ]
        },
        "authorId": {
          "type": "string",
          "minLength": 1
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "commentId",
        "status",
        "authorId",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Set Comment Status",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:comment"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "commentId": "comment-0001",
      "status": "resolved",
      "authorId": "agent-reviewer",
      "idempotencyKey": "example-comment-status-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "status",
        "commentId",
        "receipt"
      ],
      "properties": {
        "status": {
          "enum": [
            "noop",
            "open",
            "resolved"
          ]
        },
        "commentId": {
          "type": "string",
          "minLength": 1
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.get_change_log",
    "description": "Read the ordered human and agent Activity Ledger for the active Plan.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "Get Change Log",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {},
    "outputSchema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "https://venuemind.dev/schemas/activity-ledger.schema.json",
      "title": "VenueMind Activity Ledger",
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "schemaVersion",
          "sequence",
          "type",
          "actor",
          "actorId",
          "actorType",
          "source",
          "sessionId",
          "occurredAt",
          "details",
          "previousHash",
          "hash"
        ],
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^ledger-[0-9]+$"
          },
          "schemaVersion": {
            "const": 1
          },
          "sequence": {
            "type": "integer",
            "minimum": 1
          },
          "type": {
            "type": "string",
            "minLength": 1
          },
          "actor": {
            "enum": [
              "human",
              "agent",
              "system"
            ]
          },
          "actorId": {
            "type": "string",
            "minLength": 1
          },
          "actorType": {
            "enum": [
              "human",
              "agent",
              "system"
            ]
          },
          "source": {
            "enum": [
              "studio",
              "webmcp",
              "mcp",
              "system",
              "agent-tool"
            ]
          },
          "sessionId": {
            "type": "string",
            "minLength": 1
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          },
          "details": {
            "type": "object"
          },
          "previousHash": {
            "anyOf": [
              {
                "const": "genesis"
              },
              {
                "type": "string",
                "pattern": "^ledger-[0-9a-f]{8}$"
              }
            ]
          },
          "hash": {
            "type": "string",
            "pattern": "^ledger-[0-9a-f]{8}$"
          }
        },
        "additionalProperties": false
      }
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.replay_history",
    "description": "Verify the Activity Ledger hash chain and replay accepted Plan transitions against the current Plan fingerprint.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "Replay History",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {},
    "outputSchema": {
      "type": "object",
      "required": [
        "status",
        "transitions",
        "currentPlanVersion",
        "replayedFingerprint",
        "currentFingerprint",
        "replayedBriefFingerprint",
        "currentBriefFingerprint",
        "briefTransitions",
        "ledgerHeadHash",
        "lockedObjectViolations",
        "truthFingerprintViolations"
      ],
      "properties": {
        "status": {
          "enum": [
            "pass",
            "fail"
          ]
        },
        "transitions": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "ledgerEntryId",
              "type",
              "planVersion",
              "planFingerprint",
              "briefFingerprint"
            ],
            "properties": {
              "ledgerEntryId": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "planVersion": {
                "type": "string"
              },
              "planFingerprint": {
                "type": "string"
              },
              "briefFingerprint": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": false
          }
        },
        "currentPlanVersion": {
          "type": "string"
        },
        "replayedFingerprint": {
          "type": [
            "string",
            "null"
          ]
        },
        "currentFingerprint": {
          "type": "string"
        },
        "replayedBriefFingerprint": {
          "type": [
            "string",
            "null"
          ]
        },
        "currentBriefFingerprint": {
          "type": [
            "string",
            "null"
          ]
        },
        "briefTransitions": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "ledgerEntryId"
            ],
            "properties": {
              "ledgerEntryId": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        },
        "ledgerHeadHash": {
          "type": [
            "string",
            "null"
          ]
        },
        "lockedObjectViolations": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "objectId",
              "fromLedgerEntryId",
              "toLedgerEntryId",
              "fromPlanVersion",
              "toPlanVersion",
              "type",
              "lockTypes"
            ],
            "properties": {
              "objectId": {
                "type": "string"
              },
              "fromLedgerEntryId": {
                "type": "string"
              },
              "toLedgerEntryId": {
                "type": "string"
              },
              "fromPlanVersion": {
                "type": "string"
              },
              "toPlanVersion": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "lockTypes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          }
        },
        "truthFingerprintViolations": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "ledgerEntryId",
              "truth",
              "declared",
              "actual"
            ],
            "properties": {
              "ledgerEntryId": {
                "type": "string"
              },
              "truth": {
                "enum": [
                  "plan",
                  "brief"
                ]
              },
              "declared": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "actual": {
                "type": "string"
              }
            },
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.list_scenarios",
    "description": "Read stored immutable Scenario definitions without running a simulation.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "List Scenarios",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {},
    "outputSchema": {
      "type": "array",
      "items": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "$id": "https://venuemind.dev/schemas/scenario-definition.schema.json",
        "title": "VenueMind Scenario",
        "type": "object",
        "required": [
          "schemaVersion",
          "model",
          "id",
          "name",
          "seed",
          "horizonSeconds",
          "sampleCount",
          "phases",
          "inputs",
          "confidence"
        ],
        "properties": {
          "schemaVersion": {
            "const": 1
          },
          "model": {
            "enum": [
              "operations",
              "ingress-egress",
              "queue"
            ]
          },
          "id": {
            "type": "string",
            "minLength": 1
          },
          "name": {
            "type": "string",
            "minLength": 1
          },
          "seed": {
            "type": "integer",
            "minimum": 0,
            "maximum": 4294967295
          },
          "horizonSeconds": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "sampleCount": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10000
          },
          "phases": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "required": [
                "id",
                "label",
                "startSecond",
                "endSecond",
                "demandShare"
              ],
              "properties": {
                "id": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "startSecond": {
                  "type": "number"
                },
                "endSecond": {
                  "type": "number"
                },
                "demandShare": {
                  "type": "number",
                  "exclusiveMinimum": 0
                }
              },
              "additionalProperties": false
            }
          },
          "inputs": {
            "type": "object",
            "required": [
              "population",
              "arrivalRatePerMinute",
              "serviceRatePerMinute",
              "servers",
              "mobilityFactor"
            ],
            "properties": {
              "population": {
                "type": "integer",
                "minimum": 1
              },
              "arrivalRatePerMinute": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "serviceRatePerMinute": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "servers": {
                "type": "integer",
                "minimum": 1
              },
              "mobilityFactor": {
                "type": "number",
                "exclusiveMinimum": 0
              }
            },
            "additionalProperties": false
          },
          "ingressEgress": {
            "type": "object",
            "properties": {
              "mode": {
                "enum": [
                  "normal",
                  "emergency"
                ]
              },
              "curves": {
                "type": "object",
                "properties": {
                  "arrival": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                      "type": "object",
                      "required": [
                        "second",
                        "cumulativeShare"
                      ],
                      "properties": {
                        "second": {
                          "type": "number",
                          "minimum": 0
                        },
                        "cumulativeShare": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "departure": {
                    "type": "array",
                    "minItems": 2,
                    "items": {
                      "type": "object",
                      "required": [
                        "second",
                        "cumulativeShare"
                      ],
                      "properties": {
                        "second": {
                          "type": "number",
                          "minimum": 0
                        },
                        "cumulativeShare": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              },
              "mobilityProfiles": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "object",
                  "required": [
                    "id",
                    "share"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "label": {
                      "type": "string"
                    },
                    "share": {
                      "type": "number",
                      "exclusiveMinimum": 0,
                      "maximum": 1
                    },
                    "speedFactor": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    },
                    "accessibleRouteRequired": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "assumptions": {
                "type": "object",
                "properties": {
                  "normal": {
                    "type": "object",
                    "properties": {
                      "responseDelaySeconds": {
                        "type": "number",
                        "minimum": 0
                      },
                      "flowFactor": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      },
                      "elevatorsAvailable": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  },
                  "emergency": {
                    "type": "object",
                    "properties": {
                      "responseDelaySeconds": {
                        "type": "number",
                        "minimum": 0
                      },
                      "flowFactor": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      },
                      "elevatorsAvailable": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          },
          "queue": {
            "type": "object",
            "properties": {
              "category": {
                "enum": [
                  "registration",
                  "security",
                  "cloakroom",
                  "food",
                  "beverage",
                  "restroom",
                  "merchandise",
                  "transport"
                ]
              },
              "arrivalRatePerMinute": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "serviceRatePerServerMinute": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "servers": {
                "type": "integer",
                "minimum": 1
              },
              "abandonment": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  },
                  "meanPatienceSeconds": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  }
                },
                "additionalProperties": false
              },
              "priorityLanes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "id"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "label": {
                      "type": "string"
                    },
                    "arrivalShare": {
                      "type": "number",
                      "exclusiveMinimum": 0,
                      "maximum": 1
                    },
                    "servers": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "serviceRatePerServerMinute": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                }
              },
              "queueObjectId": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "bufferAreaM2": {
                "type": "number",
                "minimum": 0
              },
              "personAreaM2": {
                "type": "number",
                "exclusiveMinimum": 0
              }
            },
            "additionalProperties": false
          },
          "confidence": {
            "type": "object",
            "required": [
              "method",
              "level",
              "uncertaintyDrivers"
            ],
            "properties": {
              "method": {
                "const": "seeded-percentile-sampling"
              },
              "level": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "uncertaintyDrivers": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          }
        },
        "allOf": [
          {
            "if": {
              "properties": {
                "model": {
                  "const": "ingress-egress"
                }
              },
              "required": [
                "model"
              ]
            },
            "then": {
              "required": [
                "ingressEgress"
              ]
            }
          },
          {
            "if": {
              "properties": {
                "model": {
                  "const": "queue"
                }
              },
              "required": [
                "model"
              ]
            },
            "then": {
              "required": [
                "queue"
              ]
            }
          }
        ],
        "additionalProperties": false
      }
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.list_scenario_runs",
    "description": "Read queued, running, completed, cancelled, and failed Simulation Runs, including progress and partial results.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "List Scenario Runs",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {},
    "outputSchema": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "scenarioId",
          "scenarioFingerprint",
          "scenarioSnapshot",
          "model",
          "branchId",
          "planId",
          "planVersion",
          "inputFingerprint",
          "engineVersion",
          "status",
          "progress",
          "completedPhaseIds",
          "partialResult",
          "result",
          "startedAt",
          "completedAt",
          "cancellationReason"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "scenarioId": {
            "type": "string"
          },
          "scenarioFingerprint": {
            "type": "string"
          },
          "scenarioSnapshot": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "$id": "https://venuemind.dev/schemas/scenario-definition.schema.json",
            "title": "VenueMind Scenario",
            "type": "object",
            "required": [
              "schemaVersion",
              "model",
              "id",
              "name",
              "seed",
              "horizonSeconds",
              "sampleCount",
              "phases",
              "inputs",
              "confidence"
            ],
            "properties": {
              "schemaVersion": {
                "const": 1
              },
              "model": {
                "enum": [
                  "operations",
                  "ingress-egress",
                  "queue"
                ]
              },
              "id": {
                "type": "string",
                "minLength": 1
              },
              "name": {
                "type": "string",
                "minLength": 1
              },
              "seed": {
                "type": "integer",
                "minimum": 0,
                "maximum": 4294967295
              },
              "horizonSeconds": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "sampleCount": {
                "type": "integer",
                "minimum": 1,
                "maximum": 10000
              },
              "phases": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "object",
                  "required": [
                    "id",
                    "label",
                    "startSecond",
                    "endSecond",
                    "demandShare"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    },
                    "startSecond": {
                      "type": "number"
                    },
                    "endSecond": {
                      "type": "number"
                    },
                    "demandShare": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                }
              },
              "inputs": {
                "type": "object",
                "required": [
                  "population",
                  "arrivalRatePerMinute",
                  "serviceRatePerMinute",
                  "servers",
                  "mobilityFactor"
                ],
                "properties": {
                  "population": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "arrivalRatePerMinute": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "serviceRatePerMinute": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "servers": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "mobilityFactor": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  }
                },
                "additionalProperties": false
              },
              "ingressEgress": {
                "type": "object",
                "properties": {
                  "mode": {
                    "enum": [
                      "normal",
                      "emergency"
                    ]
                  },
                  "curves": {
                    "type": "object",
                    "properties": {
                      "arrival": {
                        "type": "array",
                        "minItems": 2,
                        "items": {
                          "type": "object",
                          "required": [
                            "second",
                            "cumulativeShare"
                          ],
                          "properties": {
                            "second": {
                              "type": "number",
                              "minimum": 0
                            },
                            "cumulativeShare": {
                              "type": "number",
                              "minimum": 0,
                              "maximum": 1
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "departure": {
                        "type": "array",
                        "minItems": 2,
                        "items": {
                          "type": "object",
                          "required": [
                            "second",
                            "cumulativeShare"
                          ],
                          "properties": {
                            "second": {
                              "type": "number",
                              "minimum": 0
                            },
                            "cumulativeShare": {
                              "type": "number",
                              "minimum": 0,
                              "maximum": 1
                            }
                          },
                          "additionalProperties": false
                        }
                      }
                    },
                    "additionalProperties": false
                  },
                  "mobilityProfiles": {
                    "type": "array",
                    "minItems": 1,
                    "items": {
                      "type": "object",
                      "required": [
                        "id",
                        "share"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "label": {
                          "type": "string"
                        },
                        "share": {
                          "type": "number",
                          "exclusiveMinimum": 0,
                          "maximum": 1
                        },
                        "speedFactor": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "accessibleRouteRequired": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "assumptions": {
                    "type": "object",
                    "properties": {
                      "normal": {
                        "type": "object",
                        "properties": {
                          "responseDelaySeconds": {
                            "type": "number",
                            "minimum": 0
                          },
                          "flowFactor": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "elevatorsAvailable": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      },
                      "emergency": {
                        "type": "object",
                        "properties": {
                          "responseDelaySeconds": {
                            "type": "number",
                            "minimum": 0
                          },
                          "flowFactor": {
                            "type": "number",
                            "exclusiveMinimum": 0
                          },
                          "elevatorsAvailable": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              },
              "queue": {
                "type": "object",
                "properties": {
                  "category": {
                    "enum": [
                      "registration",
                      "security",
                      "cloakroom",
                      "food",
                      "beverage",
                      "restroom",
                      "merchandise",
                      "transport"
                    ]
                  },
                  "arrivalRatePerMinute": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "serviceRatePerServerMinute": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "servers": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "abandonment": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "meanPatienceSeconds": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      }
                    },
                    "additionalProperties": false
                  },
                  "priorityLanes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "id"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "label": {
                          "type": "string"
                        },
                        "arrivalShare": {
                          "type": "number",
                          "exclusiveMinimum": 0,
                          "maximum": 1
                        },
                        "servers": {
                          "type": "integer",
                          "minimum": 1
                        },
                        "serviceRatePerServerMinute": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "queueObjectId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "bufferAreaM2": {
                    "type": "number",
                    "minimum": 0
                  },
                  "personAreaM2": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  }
                },
                "additionalProperties": false
              },
              "confidence": {
                "type": "object",
                "required": [
                  "method",
                  "level",
                  "uncertaintyDrivers"
                ],
                "properties": {
                  "method": {
                    "const": "seeded-percentile-sampling"
                  },
                  "level": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "uncertaintyDrivers": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "allOf": [
              {
                "if": {
                  "properties": {
                    "model": {
                      "const": "ingress-egress"
                    }
                  },
                  "required": [
                    "model"
                  ]
                },
                "then": {
                  "required": [
                    "ingressEgress"
                  ]
                }
              },
              {
                "if": {
                  "properties": {
                    "model": {
                      "const": "queue"
                    }
                  },
                  "required": [
                    "model"
                  ]
                },
                "then": {
                  "required": [
                    "queue"
                  ]
                }
              }
            ],
            "additionalProperties": false
          },
          "model": {
            "enum": [
              "operations",
              "ingress-egress",
              "queue"
            ]
          },
          "branchId": {
            "type": "string"
          },
          "planId": {
            "type": "string"
          },
          "planVersion": {
            "type": "string"
          },
          "geometryFingerprint": {
            "type": "string"
          },
          "inputFingerprint": {
            "type": "string"
          },
          "engineVersion": {
            "type": "string"
          },
          "status": {
            "enum": [
              "queued",
              "running",
              "completed",
              "cancelled",
              "failed"
            ]
          },
          "progress": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "completedPhaseIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "partialResult": {
            "anyOf": [
              {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "$id": "https://venuemind.dev/schemas/simulation-result.schema.json",
                "title": "VenueMind Simulation Result",
                "type": "object",
                "required": [
                  "schemaVersion",
                  "kind",
                  "model",
                  "engineVersion",
                  "inputFingerprint",
                  "scenarioFingerprint",
                  "scenarioId",
                  "planId",
                  "planVersion",
                  "geometryFingerprint",
                  "seed",
                  "horizonSeconds",
                  "sampleCount",
                  "confidence",
                  "phases",
                  "summary"
                ],
                "properties": {
                  "schemaVersion": {
                    "const": 1
                  },
                  "kind": {
                    "const": "simulation-result"
                  },
                  "model": {
                    "enum": [
                      "operations",
                      "ingress-egress",
                      "queue"
                    ]
                  },
                  "engineVersion": {
                    "type": "string"
                  },
                  "inputFingerprint": {
                    "type": "string",
                    "pattern": "^simulation-input-"
                  },
                  "scenarioFingerprint": {
                    "type": "string",
                    "pattern": "^scenario-definition-"
                  },
                  "scenarioId": {
                    "type": "string"
                  },
                  "planId": {
                    "type": "string"
                  },
                  "planVersion": {
                    "type": "string"
                  },
                  "geometryFingerprint": {
                    "type": "string"
                  },
                  "branchId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "seed": {
                    "type": "integer"
                  },
                  "horizonSeconds": {
                    "type": "number"
                  },
                  "sampleCount": {
                    "type": "integer"
                  },
                  "completedSamples": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "confidence": {
                    "type": "object"
                  },
                  "phases": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "summary": {
                    "type": "object"
                  },
                  "infrastructure": {
                    "type": "object",
                    "required": [
                      "entrances",
                      "exits",
                      "checkpoints",
                      "doors",
                      "stairs",
                      "elevators",
                      "corridors",
                      "sections",
                      "graphFingerprint",
                      "fingerprint"
                    ],
                    "properties": {
                      "entrances": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "exits": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "checkpoints": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "doors": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "stairs": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "elevators": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "corridors": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "sections": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "graphFingerprint": {
                        "type": "string"
                      },
                      "fingerprint": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  },
                  "ingress": {
                    "type": "object"
                  },
                  "egress": {
                    "type": "object"
                  },
                  "assumptions": {
                    "type": "object",
                    "required": [
                      "normal",
                      "emergency"
                    ],
                    "properties": {
                      "normal": {
                        "type": "object"
                      },
                      "emergency": {
                        "type": "object"
                      }
                    },
                    "additionalProperties": false
                  },
                  "assumptionComparison": {
                    "type": "object"
                  },
                  "densityFrames": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "id",
                        "second",
                        "progress",
                        "cells",
                        "peakDensityPersonsPerM2"
                      ],
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "second": {
                          "type": "number"
                        },
                        "progress": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        },
                        "cells": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "id",
                              "objectId",
                              "kind",
                              "point",
                              "occupancyPersons",
                              "densityPersonsPerM2",
                              "level"
                            ],
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "objectId": {
                                "type": "string"
                              },
                              "kind": {
                                "enum": [
                                  "zone",
                                  "route"
                                ]
                              },
                              "point": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "occupancyPersons": {
                                "type": "number",
                                "minimum": 0
                              },
                              "densityPersonsPerM2": {
                                "type": "number",
                                "minimum": 0
                              },
                              "level": {
                                "enum": [
                                  "low",
                                  "medium",
                                  "high",
                                  "critical"
                                ]
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "peakDensityPersonsPerM2": {
                          "type": "number",
                          "minimum": 0
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "queue": {
                    "type": "object"
                  },
                  "lanes": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "timeline": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "spill": {
                    "type": "object"
                  },
                  "suggestion": {
                    "type": "object"
                  },
                  "evidenceFingerprint": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "result": {
            "anyOf": [
              {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "$id": "https://venuemind.dev/schemas/simulation-result.schema.json",
                "title": "VenueMind Simulation Result",
                "type": "object",
                "required": [
                  "schemaVersion",
                  "kind",
                  "model",
                  "engineVersion",
                  "inputFingerprint",
                  "scenarioFingerprint",
                  "scenarioId",
                  "planId",
                  "planVersion",
                  "geometryFingerprint",
                  "seed",
                  "horizonSeconds",
                  "sampleCount",
                  "confidence",
                  "phases",
                  "summary"
                ],
                "properties": {
                  "schemaVersion": {
                    "const": 1
                  },
                  "kind": {
                    "const": "simulation-result"
                  },
                  "model": {
                    "enum": [
                      "operations",
                      "ingress-egress",
                      "queue"
                    ]
                  },
                  "engineVersion": {
                    "type": "string"
                  },
                  "inputFingerprint": {
                    "type": "string",
                    "pattern": "^simulation-input-"
                  },
                  "scenarioFingerprint": {
                    "type": "string",
                    "pattern": "^scenario-definition-"
                  },
                  "scenarioId": {
                    "type": "string"
                  },
                  "planId": {
                    "type": "string"
                  },
                  "planVersion": {
                    "type": "string"
                  },
                  "geometryFingerprint": {
                    "type": "string"
                  },
                  "branchId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "seed": {
                    "type": "integer"
                  },
                  "horizonSeconds": {
                    "type": "number"
                  },
                  "sampleCount": {
                    "type": "integer"
                  },
                  "completedSamples": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "confidence": {
                    "type": "object"
                  },
                  "phases": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "summary": {
                    "type": "object"
                  },
                  "infrastructure": {
                    "type": "object",
                    "required": [
                      "entrances",
                      "exits",
                      "checkpoints",
                      "doors",
                      "stairs",
                      "elevators",
                      "corridors",
                      "sections",
                      "graphFingerprint",
                      "fingerprint"
                    ],
                    "properties": {
                      "entrances": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "exits": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "checkpoints": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "doors": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "stairs": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "elevators": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "corridors": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "sections": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      },
                      "graphFingerprint": {
                        "type": "string"
                      },
                      "fingerprint": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  },
                  "ingress": {
                    "type": "object"
                  },
                  "egress": {
                    "type": "object"
                  },
                  "assumptions": {
                    "type": "object",
                    "required": [
                      "normal",
                      "emergency"
                    ],
                    "properties": {
                      "normal": {
                        "type": "object"
                      },
                      "emergency": {
                        "type": "object"
                      }
                    },
                    "additionalProperties": false
                  },
                  "assumptionComparison": {
                    "type": "object"
                  },
                  "densityFrames": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "id",
                        "second",
                        "progress",
                        "cells",
                        "peakDensityPersonsPerM2"
                      ],
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "second": {
                          "type": "number"
                        },
                        "progress": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 1
                        },
                        "cells": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "id",
                              "objectId",
                              "kind",
                              "point",
                              "occupancyPersons",
                              "densityPersonsPerM2",
                              "level"
                            ],
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "objectId": {
                                "type": "string"
                              },
                              "kind": {
                                "enum": [
                                  "zone",
                                  "route"
                                ]
                              },
                              "point": {
                                "type": "object",
                                "required": [
                                  "x",
                                  "y"
                                ],
                                "properties": {
                                  "x": {
                                    "type": "number"
                                  },
                                  "y": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              },
                              "occupancyPersons": {
                                "type": "number",
                                "minimum": 0
                              },
                              "densityPersonsPerM2": {
                                "type": "number",
                                "minimum": 0
                              },
                              "level": {
                                "enum": [
                                  "low",
                                  "medium",
                                  "high",
                                  "critical"
                                ]
                              }
                            },
                            "additionalProperties": false
                          }
                        },
                        "peakDensityPersonsPerM2": {
                          "type": "number",
                          "minimum": 0
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "queue": {
                    "type": "object"
                  },
                  "lanes": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "timeline": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "spill": {
                    "type": "object"
                  },
                  "suggestion": {
                    "type": "object"
                  },
                  "evidenceFingerprint": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "startedAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "cancellationReason": {
            "type": [
              "string",
              "null"
            ]
          },
          "cacheHit": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      }
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.get_scenario_result",
    "description": "Read one stable Scenario Run and its completed or partial result, with density frames omitted unless explicitly requested.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "runId": {
          "type": "string",
          "minLength": 1
        },
        "includeDensityFrames": {
          "type": "boolean",
          "default": false
        }
      },
      "required": [
        "runId"
      ],
      "additionalProperties": false
    },
    "title": "Get Scenario Result",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:simulate"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 1048576
    },
    "exampleInput": {
      "runId": "simulation-example",
      "includeDensityFrames": false
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "id",
        "scenarioId",
        "scenarioFingerprint",
        "model",
        "branchId",
        "planId",
        "planVersion",
        "inputFingerprint",
        "engineVersion",
        "status",
        "progress",
        "completedPhaseIds",
        "startedAt",
        "completedAt",
        "cancellationReason",
        "cacheHit",
        "result"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "scenarioId": {
          "type": "string"
        },
        "scenarioFingerprint": {
          "type": "string"
        },
        "scenarioSnapshot": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/scenario-definition.schema.json",
          "title": "VenueMind Scenario",
          "type": "object",
          "required": [
            "schemaVersion",
            "model",
            "id",
            "name",
            "seed",
            "horizonSeconds",
            "sampleCount",
            "phases",
            "inputs",
            "confidence"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "model": {
              "enum": [
                "operations",
                "ingress-egress",
                "queue"
              ]
            },
            "id": {
              "type": "string",
              "minLength": 1
            },
            "name": {
              "type": "string",
              "minLength": 1
            },
            "seed": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "horizonSeconds": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "sampleCount": {
              "type": "integer",
              "minimum": 1,
              "maximum": 10000
            },
            "phases": {
              "type": "array",
              "minItems": 1,
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "label",
                  "startSecond",
                  "endSecond",
                  "demandShare"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "label": {
                    "type": "string"
                  },
                  "startSecond": {
                    "type": "number"
                  },
                  "endSecond": {
                    "type": "number"
                  },
                  "demandShare": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  }
                },
                "additionalProperties": false
              }
            },
            "inputs": {
              "type": "object",
              "required": [
                "population",
                "arrivalRatePerMinute",
                "serviceRatePerMinute",
                "servers",
                "mobilityFactor"
              ],
              "properties": {
                "population": {
                  "type": "integer",
                  "minimum": 1
                },
                "arrivalRatePerMinute": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "serviceRatePerMinute": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "servers": {
                  "type": "integer",
                  "minimum": 1
                },
                "mobilityFactor": {
                  "type": "number",
                  "exclusiveMinimum": 0
                }
              },
              "additionalProperties": false
            },
            "ingressEgress": {
              "type": "object",
              "properties": {
                "mode": {
                  "enum": [
                    "normal",
                    "emergency"
                  ]
                },
                "curves": {
                  "type": "object",
                  "properties": {
                    "arrival": {
                      "type": "array",
                      "minItems": 2,
                      "items": {
                        "type": "object",
                        "required": [
                          "second",
                          "cumulativeShare"
                        ],
                        "properties": {
                          "second": {
                            "type": "number",
                            "minimum": 0
                          },
                          "cumulativeShare": {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "departure": {
                      "type": "array",
                      "minItems": 2,
                      "items": {
                        "type": "object",
                        "required": [
                          "second",
                          "cumulativeShare"
                        ],
                        "properties": {
                          "second": {
                            "type": "number",
                            "minimum": 0
                          },
                          "cumulativeShare": {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "mobilityProfiles": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "id",
                      "share"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1
                      },
                      "label": {
                        "type": "string"
                      },
                      "share": {
                        "type": "number",
                        "exclusiveMinimum": 0,
                        "maximum": 1
                      },
                      "speedFactor": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      },
                      "accessibleRouteRequired": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "assumptions": {
                  "type": "object",
                  "properties": {
                    "normal": {
                      "type": "object",
                      "properties": {
                        "responseDelaySeconds": {
                          "type": "number",
                          "minimum": 0
                        },
                        "flowFactor": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "elevatorsAvailable": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "emergency": {
                      "type": "object",
                      "properties": {
                        "responseDelaySeconds": {
                          "type": "number",
                          "minimum": 0
                        },
                        "flowFactor": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "elevatorsAvailable": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "queue": {
              "type": "object",
              "properties": {
                "category": {
                  "enum": [
                    "registration",
                    "security",
                    "cloakroom",
                    "food",
                    "beverage",
                    "restroom",
                    "merchandise",
                    "transport"
                  ]
                },
                "arrivalRatePerMinute": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "serviceRatePerServerMinute": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "servers": {
                  "type": "integer",
                  "minimum": 1
                },
                "abandonment": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "meanPatienceSeconds": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "priorityLanes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "id"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1
                      },
                      "label": {
                        "type": "string"
                      },
                      "arrivalShare": {
                        "type": "number",
                        "exclusiveMinimum": 0,
                        "maximum": 1
                      },
                      "servers": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "serviceRatePerServerMinute": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "queueObjectId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "bufferAreaM2": {
                  "type": "number",
                  "minimum": 0
                },
                "personAreaM2": {
                  "type": "number",
                  "exclusiveMinimum": 0
                }
              },
              "additionalProperties": false
            },
            "confidence": {
              "type": "object",
              "required": [
                "method",
                "level",
                "uncertaintyDrivers"
              ],
              "properties": {
                "method": {
                  "const": "seeded-percentile-sampling"
                },
                "level": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                },
                "uncertaintyDrivers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            }
          },
          "allOf": [
            {
              "if": {
                "properties": {
                  "model": {
                    "const": "ingress-egress"
                  }
                },
                "required": [
                  "model"
                ]
              },
              "then": {
                "required": [
                  "ingressEgress"
                ]
              }
            },
            {
              "if": {
                "properties": {
                  "model": {
                    "const": "queue"
                  }
                },
                "required": [
                  "model"
                ]
              },
              "then": {
                "required": [
                  "queue"
                ]
              }
            }
          ],
          "additionalProperties": false
        },
        "model": {
          "enum": [
            "operations",
            "ingress-egress",
            "queue"
          ]
        },
        "branchId": {
          "type": "string"
        },
        "planId": {
          "type": "string"
        },
        "planVersion": {
          "type": "string"
        },
        "geometryFingerprint": {
          "type": "string"
        },
        "inputFingerprint": {
          "type": "string"
        },
        "engineVersion": {
          "type": "string"
        },
        "status": {
          "enum": [
            "queued",
            "running",
            "completed",
            "cancelled",
            "failed"
          ]
        },
        "progress": {
          "type": "number",
          "minimum": 0,
          "maximum": 1
        },
        "completedPhaseIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "partialResult": {
          "anyOf": [
            {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "$id": "https://venuemind.dev/schemas/simulation-result.schema.json",
              "title": "VenueMind Simulation Result",
              "type": "object",
              "required": [
                "schemaVersion",
                "kind",
                "model",
                "engineVersion",
                "inputFingerprint",
                "scenarioFingerprint",
                "scenarioId",
                "planId",
                "planVersion",
                "geometryFingerprint",
                "seed",
                "horizonSeconds",
                "sampleCount",
                "confidence",
                "phases",
                "summary"
              ],
              "properties": {
                "schemaVersion": {
                  "const": 1
                },
                "kind": {
                  "const": "simulation-result"
                },
                "model": {
                  "enum": [
                    "operations",
                    "ingress-egress",
                    "queue"
                  ]
                },
                "engineVersion": {
                  "type": "string"
                },
                "inputFingerprint": {
                  "type": "string",
                  "pattern": "^simulation-input-"
                },
                "scenarioFingerprint": {
                  "type": "string",
                  "pattern": "^scenario-definition-"
                },
                "scenarioId": {
                  "type": "string"
                },
                "planId": {
                  "type": "string"
                },
                "planVersion": {
                  "type": "string"
                },
                "geometryFingerprint": {
                  "type": "string"
                },
                "branchId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "seed": {
                  "type": "integer"
                },
                "horizonSeconds": {
                  "type": "number"
                },
                "sampleCount": {
                  "type": "integer"
                },
                "completedSamples": {
                  "type": "integer",
                  "minimum": 1
                },
                "confidence": {
                  "type": "object"
                },
                "phases": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "summary": {
                  "type": "object"
                },
                "infrastructure": {
                  "type": "object",
                  "required": [
                    "entrances",
                    "exits",
                    "checkpoints",
                    "doors",
                    "stairs",
                    "elevators",
                    "corridors",
                    "sections",
                    "graphFingerprint",
                    "fingerprint"
                  ],
                  "properties": {
                    "entrances": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "exits": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "checkpoints": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "doors": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "stairs": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "elevators": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "corridors": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "sections": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "graphFingerprint": {
                      "type": "string"
                    },
                    "fingerprint": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                "ingress": {
                  "type": "object"
                },
                "egress": {
                  "type": "object"
                },
                "assumptions": {
                  "type": "object",
                  "required": [
                    "normal",
                    "emergency"
                  ],
                  "properties": {
                    "normal": {
                      "type": "object"
                    },
                    "emergency": {
                      "type": "object"
                    }
                  },
                  "additionalProperties": false
                },
                "assumptionComparison": {
                  "type": "object"
                },
                "densityFrames": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "id",
                      "second",
                      "progress",
                      "cells",
                      "peakDensityPersonsPerM2"
                    ],
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "second": {
                        "type": "number"
                      },
                      "progress": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "cells": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "id",
                            "objectId",
                            "kind",
                            "point",
                            "occupancyPersons",
                            "densityPersonsPerM2",
                            "level"
                          ],
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "objectId": {
                              "type": "string"
                            },
                            "kind": {
                              "enum": [
                                "zone",
                                "route"
                              ]
                            },
                            "point": {
                              "type": "object",
                              "required": [
                                "x",
                                "y"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number"
                                },
                                "y": {
                                  "type": "number"
                                }
                              },
                              "additionalProperties": false
                            },
                            "occupancyPersons": {
                              "type": "number",
                              "minimum": 0
                            },
                            "densityPersonsPerM2": {
                              "type": "number",
                              "minimum": 0
                            },
                            "level": {
                              "enum": [
                                "low",
                                "medium",
                                "high",
                                "critical"
                              ]
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "peakDensityPersonsPerM2": {
                        "type": "number",
                        "minimum": 0
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "queue": {
                  "type": "object"
                },
                "lanes": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "timeline": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "spill": {
                  "type": "object"
                },
                "suggestion": {
                  "type": "object"
                },
                "evidenceFingerprint": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "result": {
          "anyOf": [
            {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "$id": "https://venuemind.dev/schemas/simulation-result.schema.json",
              "title": "VenueMind Simulation Result",
              "type": "object",
              "required": [
                "schemaVersion",
                "kind",
                "model",
                "engineVersion",
                "inputFingerprint",
                "scenarioFingerprint",
                "scenarioId",
                "planId",
                "planVersion",
                "geometryFingerprint",
                "seed",
                "horizonSeconds",
                "sampleCount",
                "confidence",
                "phases",
                "summary"
              ],
              "properties": {
                "schemaVersion": {
                  "const": 1
                },
                "kind": {
                  "const": "simulation-result"
                },
                "model": {
                  "enum": [
                    "operations",
                    "ingress-egress",
                    "queue"
                  ]
                },
                "engineVersion": {
                  "type": "string"
                },
                "inputFingerprint": {
                  "type": "string",
                  "pattern": "^simulation-input-"
                },
                "scenarioFingerprint": {
                  "type": "string",
                  "pattern": "^scenario-definition-"
                },
                "scenarioId": {
                  "type": "string"
                },
                "planId": {
                  "type": "string"
                },
                "planVersion": {
                  "type": "string"
                },
                "geometryFingerprint": {
                  "type": "string"
                },
                "branchId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "seed": {
                  "type": "integer"
                },
                "horizonSeconds": {
                  "type": "number"
                },
                "sampleCount": {
                  "type": "integer"
                },
                "completedSamples": {
                  "type": "integer",
                  "minimum": 1
                },
                "confidence": {
                  "type": "object"
                },
                "phases": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "summary": {
                  "type": "object"
                },
                "infrastructure": {
                  "type": "object",
                  "required": [
                    "entrances",
                    "exits",
                    "checkpoints",
                    "doors",
                    "stairs",
                    "elevators",
                    "corridors",
                    "sections",
                    "graphFingerprint",
                    "fingerprint"
                  ],
                  "properties": {
                    "entrances": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "exits": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "checkpoints": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "doors": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "stairs": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "elevators": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "corridors": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "sections": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "graphFingerprint": {
                      "type": "string"
                    },
                    "fingerprint": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                },
                "ingress": {
                  "type": "object"
                },
                "egress": {
                  "type": "object"
                },
                "assumptions": {
                  "type": "object",
                  "required": [
                    "normal",
                    "emergency"
                  ],
                  "properties": {
                    "normal": {
                      "type": "object"
                    },
                    "emergency": {
                      "type": "object"
                    }
                  },
                  "additionalProperties": false
                },
                "assumptionComparison": {
                  "type": "object"
                },
                "densityFrames": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "id",
                      "second",
                      "progress",
                      "cells",
                      "peakDensityPersonsPerM2"
                    ],
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "second": {
                        "type": "number"
                      },
                      "progress": {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      "cells": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "id",
                            "objectId",
                            "kind",
                            "point",
                            "occupancyPersons",
                            "densityPersonsPerM2",
                            "level"
                          ],
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "objectId": {
                              "type": "string"
                            },
                            "kind": {
                              "enum": [
                                "zone",
                                "route"
                              ]
                            },
                            "point": {
                              "type": "object",
                              "required": [
                                "x",
                                "y"
                              ],
                              "properties": {
                                "x": {
                                  "type": "number"
                                },
                                "y": {
                                  "type": "number"
                                }
                              },
                              "additionalProperties": false
                            },
                            "occupancyPersons": {
                              "type": "number",
                              "minimum": 0
                            },
                            "densityPersonsPerM2": {
                              "type": "number",
                              "minimum": 0
                            },
                            "level": {
                              "enum": [
                                "low",
                                "medium",
                                "high",
                                "critical"
                              ]
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "peakDensityPersonsPerM2": {
                        "type": "number",
                        "minimum": 0
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "queue": {
                  "type": "object"
                },
                "lanes": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "timeline": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "spill": {
                  "type": "object"
                },
                "suggestion": {
                  "type": "object"
                },
                "evidenceFingerprint": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "startedAt": {
          "type": "string",
          "format": "date-time"
        },
        "completedAt": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time"
        },
        "cancellationReason": {
          "type": [
            "string",
            "null"
          ]
        },
        "cacheHit": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "SCENARIO_RUN_NOT_FOUND"
    ]
  },
  {
    "name": "venue.run_scenario",
    "description": "Run one seeded operations, ingress-egress, or spatial queue Scenario against an exact Proposal Branch geometry. Results never replace deterministic Validation.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "scenario": {
          "type": "object",
          "required": [
            "id",
            "seed",
            "horizonSeconds",
            "inputs"
          ],
          "properties": {
            "model": {
              "enum": [
                "operations",
                "ingress-egress",
                "queue"
              ]
            },
            "id": {
              "type": "string",
              "minLength": 1
            },
            "name": {
              "type": "string",
              "minLength": 1
            },
            "seed": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "horizonSeconds": {
              "type": "number",
              "exclusiveMinimum": 0
            },
            "sampleCount": {
              "type": "integer",
              "minimum": 1,
              "maximum": 10000
            },
            "phases": {
              "type": "array",
              "minItems": 1,
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "startSecond",
                  "endSecond"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string"
                  },
                  "startSecond": {
                    "type": "number",
                    "minimum": 0
                  },
                  "endSecond": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "demandShare": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  }
                },
                "additionalProperties": false
              }
            },
            "inputs": {
              "type": "object",
              "properties": {
                "population": {
                  "type": "integer",
                  "minimum": 1
                },
                "arrivalRatePerMinute": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "serviceRatePerMinute": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "servers": {
                  "type": "integer",
                  "minimum": 1
                },
                "mobilityFactor": {
                  "type": "number",
                  "exclusiveMinimum": 0
                }
              },
              "required": [
                "population",
                "arrivalRatePerMinute",
                "serviceRatePerMinute",
                "servers"
              ],
              "additionalProperties": false
            },
            "ingressEgress": {
              "type": "object",
              "properties": {
                "mode": {
                  "enum": [
                    "normal",
                    "emergency"
                  ]
                },
                "curves": {
                  "type": "object",
                  "properties": {
                    "arrival": {
                      "type": "array",
                      "minItems": 2,
                      "items": {
                        "type": "object",
                        "required": [
                          "second",
                          "cumulativeShare"
                        ],
                        "properties": {
                          "second": {
                            "type": "number",
                            "minimum": 0
                          },
                          "cumulativeShare": {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "departure": {
                      "type": "array",
                      "minItems": 2,
                      "items": {
                        "type": "object",
                        "required": [
                          "second",
                          "cumulativeShare"
                        ],
                        "properties": {
                          "second": {
                            "type": "number",
                            "minimum": 0
                          },
                          "cumulativeShare": {
                            "type": "number",
                            "minimum": 0,
                            "maximum": 1
                          }
                        },
                        "additionalProperties": false
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "mobilityProfiles": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "id",
                      "share"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1
                      },
                      "label": {
                        "type": "string"
                      },
                      "share": {
                        "type": "number",
                        "exclusiveMinimum": 0,
                        "maximum": 1
                      },
                      "speedFactor": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      },
                      "accessibleRouteRequired": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "assumptions": {
                  "type": "object",
                  "properties": {
                    "normal": {
                      "type": "object",
                      "properties": {
                        "responseDelaySeconds": {
                          "type": "number",
                          "minimum": 0
                        },
                        "flowFactor": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "elevatorsAvailable": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    },
                    "emergency": {
                      "type": "object",
                      "properties": {
                        "responseDelaySeconds": {
                          "type": "number",
                          "minimum": 0
                        },
                        "flowFactor": {
                          "type": "number",
                          "exclusiveMinimum": 0
                        },
                        "elevatorsAvailable": {
                          "type": "boolean"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "queue": {
              "type": "object",
              "properties": {
                "category": {
                  "enum": [
                    "registration",
                    "security",
                    "cloakroom",
                    "food",
                    "beverage",
                    "restroom",
                    "merchandise",
                    "transport"
                  ]
                },
                "arrivalRatePerMinute": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "serviceRatePerServerMinute": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "servers": {
                  "type": "integer",
                  "minimum": 1
                },
                "abandonment": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "meanPatienceSeconds": {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  },
                  "additionalProperties": false
                },
                "priorityLanes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "id"
                    ],
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1
                      },
                      "label": {
                        "type": "string"
                      },
                      "arrivalShare": {
                        "type": "number",
                        "exclusiveMinimum": 0,
                        "maximum": 1
                      },
                      "servers": {
                        "type": "integer",
                        "minimum": 1
                      },
                      "serviceRatePerServerMinute": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "queueObjectId": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "bufferAreaM2": {
                  "type": "number",
                  "minimum": 0
                },
                "personAreaM2": {
                  "type": "number",
                  "exclusiveMinimum": 0
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        },
        "branchId": {
          "type": "string",
          "minLength": 1
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "scenario",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Run Scenario",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:simulate"
    },
    "limits": {
      "maximumInputBytes": 131072,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "scenario": {
        "id": "scenario-example",
        "name": "Arrival peak",
        "seed": 42,
        "horizonSeconds": 1800,
        "sampleCount": 32,
        "inputs": {
          "population": 400,
          "arrivalRatePerMinute": 30,
          "serviceRatePerMinute": 10,
          "servers": 3
        }
      },
      "branchId": "branch-balanced",
      "idempotencyKey": "example-scenario-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "status",
        "runId",
        "scenarioId",
        "branchId",
        "inputFingerprint",
        "cacheHit",
        "receipt"
      ],
      "properties": {
        "status": {
          "enum": [
            "completed",
            "cancelled"
          ]
        },
        "runId": {
          "type": "string"
        },
        "scenarioId": {
          "type": "string"
        },
        "branchId": {
          "type": "string"
        },
        "inputFingerprint": {
          "type": "string"
        },
        "cacheHit": {
          "type": "boolean"
        },
        "result": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/simulation-result.schema.json",
          "title": "VenueMind Simulation Result",
          "type": "object",
          "required": [
            "schemaVersion",
            "kind",
            "model",
            "engineVersion",
            "inputFingerprint",
            "scenarioFingerprint",
            "scenarioId",
            "planId",
            "planVersion",
            "geometryFingerprint",
            "seed",
            "horizonSeconds",
            "sampleCount",
            "confidence",
            "phases",
            "summary"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "kind": {
              "const": "simulation-result"
            },
            "model": {
              "enum": [
                "operations",
                "ingress-egress",
                "queue"
              ]
            },
            "engineVersion": {
              "type": "string"
            },
            "inputFingerprint": {
              "type": "string",
              "pattern": "^simulation-input-"
            },
            "scenarioFingerprint": {
              "type": "string",
              "pattern": "^scenario-definition-"
            },
            "scenarioId": {
              "type": "string"
            },
            "planId": {
              "type": "string"
            },
            "planVersion": {
              "type": "string"
            },
            "geometryFingerprint": {
              "type": "string"
            },
            "branchId": {
              "type": [
                "string",
                "null"
              ]
            },
            "seed": {
              "type": "integer"
            },
            "horizonSeconds": {
              "type": "number"
            },
            "sampleCount": {
              "type": "integer"
            },
            "completedSamples": {
              "type": "integer",
              "minimum": 1
            },
            "confidence": {
              "type": "object"
            },
            "phases": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "summary": {
              "type": "object"
            },
            "infrastructure": {
              "type": "object",
              "required": [
                "entrances",
                "exits",
                "checkpoints",
                "doors",
                "stairs",
                "elevators",
                "corridors",
                "sections",
                "graphFingerprint",
                "fingerprint"
              ],
              "properties": {
                "entrances": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "exits": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "checkpoints": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "doors": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "stairs": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "elevators": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "corridors": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "sections": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "graphFingerprint": {
                  "type": "string"
                },
                "fingerprint": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "ingress": {
              "type": "object"
            },
            "egress": {
              "type": "object"
            },
            "assumptions": {
              "type": "object",
              "required": [
                "normal",
                "emergency"
              ],
              "properties": {
                "normal": {
                  "type": "object"
                },
                "emergency": {
                  "type": "object"
                }
              },
              "additionalProperties": false
            },
            "assumptionComparison": {
              "type": "object"
            },
            "densityFrames": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "second",
                  "progress",
                  "cells",
                  "peakDensityPersonsPerM2"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "second": {
                    "type": "number"
                  },
                  "progress": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "cells": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "id",
                        "objectId",
                        "kind",
                        "point",
                        "occupancyPersons",
                        "densityPersonsPerM2",
                        "level"
                      ],
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "objectId": {
                          "type": "string"
                        },
                        "kind": {
                          "enum": [
                            "zone",
                            "route"
                          ]
                        },
                        "point": {
                          "type": "object",
                          "required": [
                            "x",
                            "y"
                          ],
                          "properties": {
                            "x": {
                              "type": "number"
                            },
                            "y": {
                              "type": "number"
                            }
                          },
                          "additionalProperties": false
                        },
                        "occupancyPersons": {
                          "type": "number",
                          "minimum": 0
                        },
                        "densityPersonsPerM2": {
                          "type": "number",
                          "minimum": 0
                        },
                        "level": {
                          "enum": [
                            "low",
                            "medium",
                            "high",
                            "critical"
                          ]
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "peakDensityPersonsPerM2": {
                    "type": "number",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              }
            },
            "queue": {
              "type": "object"
            },
            "lanes": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "timeline": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "spill": {
              "type": "object"
            },
            "suggestion": {
              "type": "object"
            },
            "evidenceFingerprint": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "partialResult": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/simulation-result.schema.json",
          "title": "VenueMind Simulation Result",
          "type": "object",
          "required": [
            "schemaVersion",
            "kind",
            "model",
            "engineVersion",
            "inputFingerprint",
            "scenarioFingerprint",
            "scenarioId",
            "planId",
            "planVersion",
            "geometryFingerprint",
            "seed",
            "horizonSeconds",
            "sampleCount",
            "confidence",
            "phases",
            "summary"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "kind": {
              "const": "simulation-result"
            },
            "model": {
              "enum": [
                "operations",
                "ingress-egress",
                "queue"
              ]
            },
            "engineVersion": {
              "type": "string"
            },
            "inputFingerprint": {
              "type": "string",
              "pattern": "^simulation-input-"
            },
            "scenarioFingerprint": {
              "type": "string",
              "pattern": "^scenario-definition-"
            },
            "scenarioId": {
              "type": "string"
            },
            "planId": {
              "type": "string"
            },
            "planVersion": {
              "type": "string"
            },
            "geometryFingerprint": {
              "type": "string"
            },
            "branchId": {
              "type": [
                "string",
                "null"
              ]
            },
            "seed": {
              "type": "integer"
            },
            "horizonSeconds": {
              "type": "number"
            },
            "sampleCount": {
              "type": "integer"
            },
            "completedSamples": {
              "type": "integer",
              "minimum": 1
            },
            "confidence": {
              "type": "object"
            },
            "phases": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "summary": {
              "type": "object"
            },
            "infrastructure": {
              "type": "object",
              "required": [
                "entrances",
                "exits",
                "checkpoints",
                "doors",
                "stairs",
                "elevators",
                "corridors",
                "sections",
                "graphFingerprint",
                "fingerprint"
              ],
              "properties": {
                "entrances": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "exits": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "checkpoints": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "doors": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "stairs": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "elevators": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "corridors": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "sections": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "graphFingerprint": {
                  "type": "string"
                },
                "fingerprint": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "ingress": {
              "type": "object"
            },
            "egress": {
              "type": "object"
            },
            "assumptions": {
              "type": "object",
              "required": [
                "normal",
                "emergency"
              ],
              "properties": {
                "normal": {
                  "type": "object"
                },
                "emergency": {
                  "type": "object"
                }
              },
              "additionalProperties": false
            },
            "assumptionComparison": {
              "type": "object"
            },
            "densityFrames": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "second",
                  "progress",
                  "cells",
                  "peakDensityPersonsPerM2"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "second": {
                    "type": "number"
                  },
                  "progress": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  },
                  "cells": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "id",
                        "objectId",
                        "kind",
                        "point",
                        "occupancyPersons",
                        "densityPersonsPerM2",
                        "level"
                      ],
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "objectId": {
                          "type": "string"
                        },
                        "kind": {
                          "enum": [
                            "zone",
                            "route"
                          ]
                        },
                        "point": {
                          "type": "object",
                          "required": [
                            "x",
                            "y"
                          ],
                          "properties": {
                            "x": {
                              "type": "number"
                            },
                            "y": {
                              "type": "number"
                            }
                          },
                          "additionalProperties": false
                        },
                        "occupancyPersons": {
                          "type": "number",
                          "minimum": 0
                        },
                        "densityPersonsPerM2": {
                          "type": "number",
                          "minimum": 0
                        },
                        "level": {
                          "enum": [
                            "low",
                            "medium",
                            "high",
                            "critical"
                          ]
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "peakDensityPersonsPerM2": {
                    "type": "number",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              }
            },
            "queue": {
              "type": "object"
            },
            "lanes": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "timeline": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "spill": {
              "type": "object"
            },
            "suggestion": {
              "type": "object"
            },
            "evidenceFingerprint": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "reason": {
          "type": "string"
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "commandType",
            "inputFingerprint",
            "correlationId",
            "actor",
            "resultIds",
            "occurredAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "commandType": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "correlationId": {
              "type": "string",
              "minLength": 1
            },
            "actor": {
              "enum": [
                "human",
                "agent",
                "system"
              ]
            },
            "resultIds": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "occurredAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT"
    ]
  },
  {
    "name": "venue.compare_simulations",
    "description": "Compare two completed Runs with matching Scenario fingerprints and engine versions across Proposal Branches, including clearance, bottleneck, and accessible-route deltas for flow models.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "leftRunId": {
          "type": "string",
          "minLength": 1
        },
        "rightRunId": {
          "type": "string",
          "minLength": 1
        }
      },
      "required": [
        "leftRunId",
        "rightRunId"
      ],
      "additionalProperties": false
    },
    "title": "Compare Simulations",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:simulate"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "leftRunId": "simulation-left",
      "rightRunId": "simulation-right"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "id",
        "scenarioId",
        "engineVersion",
        "left",
        "right",
        "deltas"
      ],
      "properties": {
        "id": {
          "type": "string"
        },
        "scenarioId": {
          "type": "string"
        },
        "engineVersion": {
          "type": "string"
        },
        "left": {
          "type": "object",
          "required": [
            "inputFingerprint",
            "branchId",
            "planVersion"
          ],
          "properties": {
            "inputFingerprint": {
              "type": "string"
            },
            "branchId": {
              "type": [
                "string",
                "null"
              ]
            },
            "planVersion": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "right": {
          "type": "object",
          "required": [
            "inputFingerprint",
            "branchId",
            "planVersion"
          ],
          "properties": {
            "inputFingerprint": {
              "type": "string"
            },
            "branchId": {
              "type": [
                "string",
                "null"
              ]
            },
            "planVersion": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "deltas": {
          "type": "object",
          "required": [
            "meanProcessedPersons",
            "maximumP95BacklogPersons",
            "maximumP95Utilization"
          ],
          "properties": {
            "meanProcessedPersons": {
              "type": "number"
            },
            "maximumP95BacklogPersons": {
              "type": "number"
            },
            "maximumP95Utilization": {
              "type": "number"
            },
            "totalClearanceSeconds": {
              "type": "number"
            },
            "p95ClearanceSeconds": {
              "type": "number"
            },
            "worstBottleneckDurationSeconds": {
              "type": "number"
            },
            "affectedOccupancyPersons": {
              "type": "number"
            },
            "accessibleRouteClearanceSeconds": {
              "type": "number"
            },
            "averageWaitSeconds": {
              "type": "number"
            },
            "p95WaitSeconds": {
              "type": "number"
            },
            "maximumQueueLength": {
              "type": "number"
            },
            "abandonmentRate": {
              "type": "number"
            },
            "requiredBufferAreaM2": {
              "type": "number"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.export_simulation",
    "description": "Export one completed Simulation Run with its normalized Scenario parameters, engine version, input fingerprint, and confidence metadata.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "runId": {
          "type": "string",
          "minLength": 1
        }
      },
      "required": [
        "runId"
      ],
      "additionalProperties": false
    },
    "title": "Export Simulation",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:export"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "runId": "simulation-example"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "filename",
        "mimeType",
        "encoding",
        "content"
      ],
      "properties": {
        "filename": {
          "type": "string",
          "minLength": 1
        },
        "mimeType": {
          "const": "application/json"
        },
        "encoding": {
          "const": "utf8"
        },
        "content": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.inspect_live_occupancy",
    "description": "Read the current aggregate-only Live Occupancy projection, source freshness, active Alerts, simulation deltas, and incident Ledger without person-level records.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "Inspect Live Occupancy",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 1048576
    },
    "exampleInput": {},
    "outputSchema": {
      "type": "object",
      "required": [
        "monitor",
        "projection"
      ],
      "properties": {
        "monitor": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/live-occupancy-monitor.schema.json",
          "title": "VenueMind Live Occupancy Monitor",
          "type": "object",
          "required": [
            "schemaVersion",
            "id",
            "projectId",
            "runbookVersionId",
            "source",
            "baseline",
            "policy",
            "feeds",
            "observations",
            "activeAlerts",
            "receipts",
            "ledger",
            "revision",
            "createdAt",
            "updatedAt"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "id": {
              "type": "string"
            },
            "projectId": {
              "type": "string"
            },
            "runbookVersionId": {
              "type": "string"
            },
            "source": {
              "type": "object"
            },
            "baseline": {
              "type": "object"
            },
            "policy": {
              "type": "object"
            },
            "feeds": {
              "type": "array",
              "items": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "$id": "https://venuemind.dev/schemas/aggregate-occupancy-signal.schema.json",
                "title": "VenueMind Aggregate Occupancy Signal",
                "type": "object",
                "required": [
                  "sourceId",
                  "sourceType",
                  "sourceVersion",
                  "kind",
                  "observedAt",
                  "confidence",
                  "readings"
                ],
                "properties": {
                  "sourceId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "sourceType": {
                    "enum": [
                      "registration",
                      "sensor",
                      "manual-counter"
                    ]
                  },
                  "sourceVersion": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "kind": {
                    "enum": [
                      "check-in",
                      "zone-occupancy"
                    ]
                  },
                  "observedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "confidence": {
                    "enum": [
                      "low",
                      "medium",
                      "high"
                    ]
                  },
                  "readings": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "required": [
                        "scopeId",
                        "count"
                      ],
                      "properties": {
                        "scopeId": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 160
                        },
                        "count": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 1000000
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "observations": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "activeAlerts": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "key",
                  "code",
                  "severity",
                  "status",
                  "sourceIds",
                  "actual",
                  "threshold",
                  "unit",
                  "openedAt"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "key": {
                    "type": "string"
                  },
                  "code": {
                    "enum": [
                      "STALE_SOURCE",
                      "CONFLICTING_FEEDS",
                      "THRESHOLD_WARNING",
                      "CAPACITY_EXCEEDED"
                    ]
                  },
                  "severity": {
                    "enum": [
                      "warning",
                      "critical"
                    ]
                  },
                  "status": {
                    "enum": [
                      "open",
                      "acknowledged"
                    ]
                  },
                  "scopeId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "sourceIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "uniqueItems": true
                  },
                  "actual": {
                    "type": "number"
                  },
                  "threshold": {
                    "type": "number"
                  },
                  "unit": {
                    "enum": [
                      "seconds",
                      "persons"
                    ]
                  },
                  "openedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "acknowledgedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "acknowledgedBy": {
                    "type": "string"
                  },
                  "reasonCode": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "receipts": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "ledger": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "revision": {
              "type": "integer",
              "minimum": 0
            },
            "createdAt": {
              "type": "string",
              "format": "date-time"
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "projection": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/live-occupancy-projection.schema.json",
          "title": "VenueMind Live Occupancy Projection",
          "type": "object",
          "required": [
            "monitorId",
            "runbookVersionId",
            "evaluatedAt",
            "overallStatus",
            "sources",
            "scopes",
            "alerts",
            "privacy"
          ],
          "properties": {
            "monitorId": {
              "type": "string"
            },
            "runbookVersionId": {
              "type": "string"
            },
            "evaluatedAt": {
              "type": "string",
              "format": "date-time"
            },
            "overallStatus": {
              "enum": [
                "unavailable",
                "nominal",
                "warning",
                "exceeded",
                "conflicting",
                "stale"
              ]
            },
            "sources": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "sourceId",
                  "sourceType",
                  "sourceVersion",
                  "kind",
                  "observedAt",
                  "confidence",
                  "ageSeconds",
                  "status"
                ],
                "properties": {
                  "sourceId": {
                    "type": "string"
                  },
                  "sourceType": {
                    "enum": [
                      "registration",
                      "sensor",
                      "manual-counter"
                    ]
                  },
                  "sourceVersion": {
                    "type": "string"
                  },
                  "kind": {
                    "enum": [
                      "check-in",
                      "zone-occupancy"
                    ]
                  },
                  "observedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "confidence": {
                    "enum": [
                      "low",
                      "medium",
                      "high"
                    ]
                  },
                  "ageSeconds": {
                    "type": "number",
                    "minimum": 0
                  },
                  "status": {
                    "enum": [
                      "fresh",
                      "aging",
                      "stale"
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "scopes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "scopeId",
                  "kind",
                  "label",
                  "target",
                  "capacity",
                  "status",
                  "count",
                  "utilization",
                  "confidence",
                  "sourceIds",
                  "freshness",
                  "expectedPeak",
                  "simulationDelta"
                ],
                "properties": {
                  "scopeId": {
                    "type": "string"
                  },
                  "kind": {
                    "enum": [
                      "check-in",
                      "venue",
                      "zone"
                    ]
                  },
                  "label": {
                    "type": "string"
                  },
                  "target": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "capacity": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "status": {
                    "enum": [
                      "unavailable",
                      "nominal",
                      "warning",
                      "exceeded",
                      "conflicting",
                      "stale"
                    ]
                  },
                  "count": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "utilization": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "confidence": {
                    "enum": [
                      "low",
                      "medium",
                      "high"
                    ]
                  },
                  "sourceIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "uniqueItems": true
                  },
                  "freshness": {
                    "enum": [
                      "missing",
                      "fresh",
                      "aging",
                      "stale"
                    ]
                  },
                  "expectedPeak": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "simulationDelta": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "alerts": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "privacy": {
              "type": "object",
              "required": [
                "mode",
                "personRecordsStored",
                "individualEventsStored"
              ],
              "properties": {
                "mode": {
                  "const": "aggregate-only"
                },
                "personRecordsStored": {
                  "const": false
                },
                "individualEventsStored": {
                  "const": false
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        },
        "receipt": {
          "type": "object"
        },
        "duplicate": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "OCCUPANCY_MONITOR_NOT_FOUND",
      "OCCUPANCY_TOOL_UNAVAILABLE",
      "OCCUPANCY_REVISION_CONFLICT",
      "OCCUPANCY_SIGNAL_INVALID",
      "OCCUPANCY_PRIVACY_REJECTED"
    ]
  },
  {
    "name": "venue.ingest_occupancy_signal",
    "description": "Ingest one bounded aggregate Occupancy Signal from a registration total, sensor, or manual counter with stable source and scope IDs.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "sourceId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "sourceType": {
          "enum": [
            "registration",
            "sensor",
            "manual-counter"
          ]
        },
        "sourceVersion": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "kind": {
          "enum": [
            "check-in",
            "zone-occupancy"
          ]
        },
        "observedAt": {
          "type": "string",
          "format": "date-time"
        },
        "confidence": {
          "enum": [
            "low",
            "medium",
            "high"
          ]
        },
        "readings": {
          "type": "array",
          "minItems": 1,
          "maxItems": 100,
          "items": {
            "type": "object",
            "required": [
              "scopeId",
              "count"
            ],
            "properties": {
              "scopeId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              },
              "count": {
                "type": "integer",
                "minimum": 0,
                "maximum": 1000000
              }
            },
            "additionalProperties": false
          }
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "sourceId",
        "sourceType",
        "sourceVersion",
        "kind",
        "observedAt",
        "confidence",
        "readings",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Ingest Occupancy Signal",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:operate"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "sourceId": "door-a",
      "sourceType": "manual-counter",
      "sourceVersion": "counter-v12",
      "kind": "zone-occupancy",
      "observedAt": "2026-09-12T14:30:00.000Z",
      "confidence": "high",
      "readings": [
        {
          "scopeId": "venue",
          "count": 412
        }
      ],
      "idempotencyKey": "example-occupancy-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "monitor",
        "projection"
      ],
      "properties": {
        "monitor": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/live-occupancy-monitor.schema.json",
          "title": "VenueMind Live Occupancy Monitor",
          "type": "object",
          "required": [
            "schemaVersion",
            "id",
            "projectId",
            "runbookVersionId",
            "source",
            "baseline",
            "policy",
            "feeds",
            "observations",
            "activeAlerts",
            "receipts",
            "ledger",
            "revision",
            "createdAt",
            "updatedAt"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "id": {
              "type": "string"
            },
            "projectId": {
              "type": "string"
            },
            "runbookVersionId": {
              "type": "string"
            },
            "source": {
              "type": "object"
            },
            "baseline": {
              "type": "object"
            },
            "policy": {
              "type": "object"
            },
            "feeds": {
              "type": "array",
              "items": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "$id": "https://venuemind.dev/schemas/aggregate-occupancy-signal.schema.json",
                "title": "VenueMind Aggregate Occupancy Signal",
                "type": "object",
                "required": [
                  "sourceId",
                  "sourceType",
                  "sourceVersion",
                  "kind",
                  "observedAt",
                  "confidence",
                  "readings"
                ],
                "properties": {
                  "sourceId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "sourceType": {
                    "enum": [
                      "registration",
                      "sensor",
                      "manual-counter"
                    ]
                  },
                  "sourceVersion": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "kind": {
                    "enum": [
                      "check-in",
                      "zone-occupancy"
                    ]
                  },
                  "observedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "confidence": {
                    "enum": [
                      "low",
                      "medium",
                      "high"
                    ]
                  },
                  "readings": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "required": [
                        "scopeId",
                        "count"
                      ],
                      "properties": {
                        "scopeId": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 160
                        },
                        "count": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 1000000
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "observations": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "activeAlerts": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "key",
                  "code",
                  "severity",
                  "status",
                  "sourceIds",
                  "actual",
                  "threshold",
                  "unit",
                  "openedAt"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "key": {
                    "type": "string"
                  },
                  "code": {
                    "enum": [
                      "STALE_SOURCE",
                      "CONFLICTING_FEEDS",
                      "THRESHOLD_WARNING",
                      "CAPACITY_EXCEEDED"
                    ]
                  },
                  "severity": {
                    "enum": [
                      "warning",
                      "critical"
                    ]
                  },
                  "status": {
                    "enum": [
                      "open",
                      "acknowledged"
                    ]
                  },
                  "scopeId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "sourceIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "uniqueItems": true
                  },
                  "actual": {
                    "type": "number"
                  },
                  "threshold": {
                    "type": "number"
                  },
                  "unit": {
                    "enum": [
                      "seconds",
                      "persons"
                    ]
                  },
                  "openedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "acknowledgedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "acknowledgedBy": {
                    "type": "string"
                  },
                  "reasonCode": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "receipts": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "ledger": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "revision": {
              "type": "integer",
              "minimum": 0
            },
            "createdAt": {
              "type": "string",
              "format": "date-time"
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "projection": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/live-occupancy-projection.schema.json",
          "title": "VenueMind Live Occupancy Projection",
          "type": "object",
          "required": [
            "monitorId",
            "runbookVersionId",
            "evaluatedAt",
            "overallStatus",
            "sources",
            "scopes",
            "alerts",
            "privacy"
          ],
          "properties": {
            "monitorId": {
              "type": "string"
            },
            "runbookVersionId": {
              "type": "string"
            },
            "evaluatedAt": {
              "type": "string",
              "format": "date-time"
            },
            "overallStatus": {
              "enum": [
                "unavailable",
                "nominal",
                "warning",
                "exceeded",
                "conflicting",
                "stale"
              ]
            },
            "sources": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "sourceId",
                  "sourceType",
                  "sourceVersion",
                  "kind",
                  "observedAt",
                  "confidence",
                  "ageSeconds",
                  "status"
                ],
                "properties": {
                  "sourceId": {
                    "type": "string"
                  },
                  "sourceType": {
                    "enum": [
                      "registration",
                      "sensor",
                      "manual-counter"
                    ]
                  },
                  "sourceVersion": {
                    "type": "string"
                  },
                  "kind": {
                    "enum": [
                      "check-in",
                      "zone-occupancy"
                    ]
                  },
                  "observedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "confidence": {
                    "enum": [
                      "low",
                      "medium",
                      "high"
                    ]
                  },
                  "ageSeconds": {
                    "type": "number",
                    "minimum": 0
                  },
                  "status": {
                    "enum": [
                      "fresh",
                      "aging",
                      "stale"
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "scopes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "scopeId",
                  "kind",
                  "label",
                  "target",
                  "capacity",
                  "status",
                  "count",
                  "utilization",
                  "confidence",
                  "sourceIds",
                  "freshness",
                  "expectedPeak",
                  "simulationDelta"
                ],
                "properties": {
                  "scopeId": {
                    "type": "string"
                  },
                  "kind": {
                    "enum": [
                      "check-in",
                      "venue",
                      "zone"
                    ]
                  },
                  "label": {
                    "type": "string"
                  },
                  "target": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "capacity": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "status": {
                    "enum": [
                      "unavailable",
                      "nominal",
                      "warning",
                      "exceeded",
                      "conflicting",
                      "stale"
                    ]
                  },
                  "count": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "utilization": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "confidence": {
                    "enum": [
                      "low",
                      "medium",
                      "high"
                    ]
                  },
                  "sourceIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "uniqueItems": true
                  },
                  "freshness": {
                    "enum": [
                      "missing",
                      "fresh",
                      "aging",
                      "stale"
                    ]
                  },
                  "expectedPeak": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "simulationDelta": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "alerts": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "privacy": {
              "type": "object",
              "required": [
                "mode",
                "personRecordsStored",
                "individualEventsStored"
              ],
              "properties": {
                "mode": {
                  "const": "aggregate-only"
                },
                "personRecordsStored": {
                  "const": false
                },
                "individualEventsStored": {
                  "const": false
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        },
        "receipt": {
          "type": "object"
        },
        "duplicate": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT",
      "OCCUPANCY_MONITOR_NOT_FOUND",
      "OCCUPANCY_TOOL_UNAVAILABLE",
      "OCCUPANCY_REVISION_CONFLICT",
      "OCCUPANCY_SIGNAL_INVALID",
      "OCCUPANCY_PRIVACY_REJECTED"
    ]
  },
  {
    "name": "venue.refresh_live_occupancy",
    "description": "Refresh Live Occupancy freshness and derived Alerts at the server-accepted instant without changing any aggregate count.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Refresh Live Occupancy",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:operate"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "idempotencyKey": "example-occupancy-refresh-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "monitor",
        "projection"
      ],
      "properties": {
        "monitor": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/live-occupancy-monitor.schema.json",
          "title": "VenueMind Live Occupancy Monitor",
          "type": "object",
          "required": [
            "schemaVersion",
            "id",
            "projectId",
            "runbookVersionId",
            "source",
            "baseline",
            "policy",
            "feeds",
            "observations",
            "activeAlerts",
            "receipts",
            "ledger",
            "revision",
            "createdAt",
            "updatedAt"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "id": {
              "type": "string"
            },
            "projectId": {
              "type": "string"
            },
            "runbookVersionId": {
              "type": "string"
            },
            "source": {
              "type": "object"
            },
            "baseline": {
              "type": "object"
            },
            "policy": {
              "type": "object"
            },
            "feeds": {
              "type": "array",
              "items": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "$id": "https://venuemind.dev/schemas/aggregate-occupancy-signal.schema.json",
                "title": "VenueMind Aggregate Occupancy Signal",
                "type": "object",
                "required": [
                  "sourceId",
                  "sourceType",
                  "sourceVersion",
                  "kind",
                  "observedAt",
                  "confidence",
                  "readings"
                ],
                "properties": {
                  "sourceId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "sourceType": {
                    "enum": [
                      "registration",
                      "sensor",
                      "manual-counter"
                    ]
                  },
                  "sourceVersion": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 160
                  },
                  "kind": {
                    "enum": [
                      "check-in",
                      "zone-occupancy"
                    ]
                  },
                  "observedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "confidence": {
                    "enum": [
                      "low",
                      "medium",
                      "high"
                    ]
                  },
                  "readings": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "required": [
                        "scopeId",
                        "count"
                      ],
                      "properties": {
                        "scopeId": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 160
                        },
                        "count": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 1000000
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              }
            },
            "observations": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "activeAlerts": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "key",
                  "code",
                  "severity",
                  "status",
                  "sourceIds",
                  "actual",
                  "threshold",
                  "unit",
                  "openedAt"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "key": {
                    "type": "string"
                  },
                  "code": {
                    "enum": [
                      "STALE_SOURCE",
                      "CONFLICTING_FEEDS",
                      "THRESHOLD_WARNING",
                      "CAPACITY_EXCEEDED"
                    ]
                  },
                  "severity": {
                    "enum": [
                      "warning",
                      "critical"
                    ]
                  },
                  "status": {
                    "enum": [
                      "open",
                      "acknowledged"
                    ]
                  },
                  "scopeId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "sourceIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "uniqueItems": true
                  },
                  "actual": {
                    "type": "number"
                  },
                  "threshold": {
                    "type": "number"
                  },
                  "unit": {
                    "enum": [
                      "seconds",
                      "persons"
                    ]
                  },
                  "openedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "acknowledgedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "acknowledgedBy": {
                    "type": "string"
                  },
                  "reasonCode": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              }
            },
            "receipts": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "ledger": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "revision": {
              "type": "integer",
              "minimum": 0
            },
            "createdAt": {
              "type": "string",
              "format": "date-time"
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "projection": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/live-occupancy-projection.schema.json",
          "title": "VenueMind Live Occupancy Projection",
          "type": "object",
          "required": [
            "monitorId",
            "runbookVersionId",
            "evaluatedAt",
            "overallStatus",
            "sources",
            "scopes",
            "alerts",
            "privacy"
          ],
          "properties": {
            "monitorId": {
              "type": "string"
            },
            "runbookVersionId": {
              "type": "string"
            },
            "evaluatedAt": {
              "type": "string",
              "format": "date-time"
            },
            "overallStatus": {
              "enum": [
                "unavailable",
                "nominal",
                "warning",
                "exceeded",
                "conflicting",
                "stale"
              ]
            },
            "sources": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "sourceId",
                  "sourceType",
                  "sourceVersion",
                  "kind",
                  "observedAt",
                  "confidence",
                  "ageSeconds",
                  "status"
                ],
                "properties": {
                  "sourceId": {
                    "type": "string"
                  },
                  "sourceType": {
                    "enum": [
                      "registration",
                      "sensor",
                      "manual-counter"
                    ]
                  },
                  "sourceVersion": {
                    "type": "string"
                  },
                  "kind": {
                    "enum": [
                      "check-in",
                      "zone-occupancy"
                    ]
                  },
                  "observedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "confidence": {
                    "enum": [
                      "low",
                      "medium",
                      "high"
                    ]
                  },
                  "ageSeconds": {
                    "type": "number",
                    "minimum": 0
                  },
                  "status": {
                    "enum": [
                      "fresh",
                      "aging",
                      "stale"
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "scopes": {
              "type": "array",
              "items": {
                "type": "object",
                "required": [
                  "scopeId",
                  "kind",
                  "label",
                  "target",
                  "capacity",
                  "status",
                  "count",
                  "utilization",
                  "confidence",
                  "sourceIds",
                  "freshness",
                  "expectedPeak",
                  "simulationDelta"
                ],
                "properties": {
                  "scopeId": {
                    "type": "string"
                  },
                  "kind": {
                    "enum": [
                      "check-in",
                      "venue",
                      "zone"
                    ]
                  },
                  "label": {
                    "type": "string"
                  },
                  "target": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "capacity": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "status": {
                    "enum": [
                      "unavailable",
                      "nominal",
                      "warning",
                      "exceeded",
                      "conflicting",
                      "stale"
                    ]
                  },
                  "count": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "utilization": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "confidence": {
                    "enum": [
                      "low",
                      "medium",
                      "high"
                    ]
                  },
                  "sourceIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "uniqueItems": true
                  },
                  "freshness": {
                    "enum": [
                      "missing",
                      "fresh",
                      "aging",
                      "stale"
                    ]
                  },
                  "expectedPeak": {
                    "type": [
                      "integer",
                      "null"
                    ],
                    "minimum": 0
                  },
                  "simulationDelta": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "alerts": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "privacy": {
              "type": "object",
              "required": [
                "mode",
                "personRecordsStored",
                "individualEventsStored"
              ],
              "properties": {
                "mode": {
                  "const": "aggregate-only"
                },
                "personRecordsStored": {
                  "const": false
                },
                "individualEventsStored": {
                  "const": false
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        },
        "receipt": {
          "type": "object"
        },
        "duplicate": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT",
      "OCCUPANCY_MONITOR_NOT_FOUND",
      "OCCUPANCY_TOOL_UNAVAILABLE",
      "OCCUPANCY_REVISION_CONFLICT",
      "OCCUPANCY_SIGNAL_INVALID",
      "OCCUPANCY_PRIVACY_REJECTED"
    ]
  },
  {
    "name": "venue.export_live_occupancy",
    "description": "Export the verified aggregate-only Live Occupancy audit artifact with baseline, observations, Alerts, receipts, and hash-chained incident Ledger.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "Export Live Occupancy",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:export"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 2000000
    },
    "exampleInput": {},
    "outputSchema": {
      "type": "object",
      "required": [
        "filename",
        "mimeType",
        "content"
      ],
      "properties": {
        "filename": {
          "type": "string",
          "minLength": 1
        },
        "mimeType": {
          "const": "application/json"
        },
        "content": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "OCCUPANCY_MONITOR_NOT_FOUND",
      "OCCUPANCY_TOOL_UNAVAILABLE",
      "OCCUPANCY_REVISION_CONFLICT",
      "OCCUPANCY_SIGNAL_INVALID",
      "OCCUPANCY_PRIVACY_REJECTED"
    ]
  },
  {
    "name": "venue.inspect_incidents",
    "description": "Inspect the Runbook-bound Incident Register or one stable Operational Incident with structured severity, category, owner, location, acknowledgement, escalation, evidence, and ordered ledger state.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "incidentId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "status": {
          "enum": [
            "open",
            "mitigating",
            "resolved",
            "closed"
          ]
        },
        "severity": {
          "enum": [
            "low",
            "medium",
            "high",
            "critical"
          ]
        },
        "category": {
          "enum": [
            "accessibility",
            "crowd-capacity",
            "medical",
            "security",
            "fire-life-safety",
            "facilities",
            "production-av",
            "catering",
            "staffing",
            "transport",
            "weather",
            "other"
          ]
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 50
        }
      },
      "additionalProperties": false
    },
    "title": "Inspect Incidents",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 1048576
    },
    "exampleInput": {
      "status": "open",
      "limit": 25
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "register"
      ],
      "properties": {
        "register": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/incident-register.schema.json",
          "title": "VenueMind Incident Register",
          "type": "object",
          "required": [
            "schemaVersion",
            "id",
            "projectId",
            "runbookVersionId",
            "source",
            "baseline",
            "incidents",
            "transitions",
            "receipts",
            "ledger",
            "revision",
            "createdAt",
            "createdBy",
            "updatedAt"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "id": {
              "type": "string"
            },
            "projectId": {
              "type": "string"
            },
            "runbookVersionId": {
              "type": "string"
            },
            "source": {
              "type": "object"
            },
            "baseline": {
              "type": "object",
              "required": [
                "fingerprint"
              ],
              "properties": {
                "fingerprint": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": true
            },
            "incidents": {
              "type": "array",
              "items": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "$id": "https://venuemind.dev/schemas/operational-incident.schema.json",
                "title": "VenueMind Operational Incident",
                "type": "object",
                "required": [
                  "schemaVersion",
                  "id",
                  "revision",
                  "severity",
                  "category",
                  "summaryCode",
                  "status",
                  "acknowledgement",
                  "escalation",
                  "location",
                  "owner",
                  "relatedRefs",
                  "handoffs",
                  "emergencyActions",
                  "timestamps"
                ],
                "properties": {
                  "schemaVersion": {
                    "const": 1
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "revision": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "severity": {
                    "enum": [
                      "low",
                      "medium",
                      "high",
                      "critical"
                    ]
                  },
                  "category": {
                    "enum": [
                      "accessibility",
                      "crowd-capacity",
                      "medical",
                      "security",
                      "fire-life-safety",
                      "facilities",
                      "production-av",
                      "catering",
                      "staffing",
                      "transport",
                      "weather",
                      "other"
                    ]
                  },
                  "summaryCode": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 64,
                    "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
                  },
                  "status": {
                    "enum": [
                      "open",
                      "mitigating",
                      "resolved",
                      "closed"
                    ]
                  },
                  "acknowledgement": {
                    "type": "object"
                  },
                  "escalation": {
                    "type": "object"
                  },
                  "location": {
                    "$schema": "https://json-schema.org/draft/2020-12/schema",
                    "$id": "https://venuemind.dev/schemas/incident-location-context.schema.json",
                    "title": "VenueMind Incident Location Context",
                    "type": "object",
                    "required": [
                      "kind",
                      "planId",
                      "planVersion",
                      "planFingerprint"
                    ],
                    "properties": {
                      "kind": {
                        "enum": [
                          "plan-object",
                          "coordinate"
                        ]
                      },
                      "planId": {
                        "type": "string",
                        "minLength": 1
                      },
                      "planVersion": {
                        "type": "string",
                        "minLength": 1
                      },
                      "planFingerprint": {
                        "type": "string",
                        "minLength": 1
                      },
                      "planObjectId": {
                        "type": "string",
                        "minLength": 1
                      },
                      "point": {
                        "type": "object",
                        "required": [
                          "x",
                          "y"
                        ],
                        "properties": {
                          "x": {
                            "type": "number"
                          },
                          "y": {
                            "type": "number"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "additionalProperties": false
                  },
                  "owner": {
                    "type": [
                      "object",
                      "null"
                    ]
                  },
                  "relatedRefs": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "maxItems": 50
                  },
                  "handoffs": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "emergencyActions": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "timestamps": {
                    "type": "object"
                  }
                },
                "additionalProperties": false
              }
            },
            "transitions": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "receipts": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "ledger": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "revision": {
              "type": "integer",
              "minimum": 0
            },
            "createdAt": {
              "type": "string",
              "format": "date-time"
            },
            "createdBy": {
              "type": "string",
              "minLength": 1
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "incidents": {
          "type": "array",
          "items": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "$id": "https://venuemind.dev/schemas/operational-incident.schema.json",
            "title": "VenueMind Operational Incident",
            "type": "object",
            "required": [
              "schemaVersion",
              "id",
              "revision",
              "severity",
              "category",
              "summaryCode",
              "status",
              "acknowledgement",
              "escalation",
              "location",
              "owner",
              "relatedRefs",
              "handoffs",
              "emergencyActions",
              "timestamps"
            ],
            "properties": {
              "schemaVersion": {
                "const": 1
              },
              "id": {
                "type": "string",
                "minLength": 1
              },
              "revision": {
                "type": "integer",
                "minimum": 1
              },
              "severity": {
                "enum": [
                  "low",
                  "medium",
                  "high",
                  "critical"
                ]
              },
              "category": {
                "enum": [
                  "accessibility",
                  "crowd-capacity",
                  "medical",
                  "security",
                  "fire-life-safety",
                  "facilities",
                  "production-av",
                  "catering",
                  "staffing",
                  "transport",
                  "weather",
                  "other"
                ]
              },
              "summaryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 64,
                "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
              },
              "status": {
                "enum": [
                  "open",
                  "mitigating",
                  "resolved",
                  "closed"
                ]
              },
              "acknowledgement": {
                "type": "object"
              },
              "escalation": {
                "type": "object"
              },
              "location": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "$id": "https://venuemind.dev/schemas/incident-location-context.schema.json",
                "title": "VenueMind Incident Location Context",
                "type": "object",
                "required": [
                  "kind",
                  "planId",
                  "planVersion",
                  "planFingerprint"
                ],
                "properties": {
                  "kind": {
                    "enum": [
                      "plan-object",
                      "coordinate"
                    ]
                  },
                  "planId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "planVersion": {
                    "type": "string",
                    "minLength": 1
                  },
                  "planFingerprint": {
                    "type": "string",
                    "minLength": 1
                  },
                  "planObjectId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "point": {
                    "type": "object",
                    "required": [
                      "x",
                      "y"
                    ],
                    "properties": {
                      "x": {
                        "type": "number"
                      },
                      "y": {
                        "type": "number"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              },
              "owner": {
                "type": [
                  "object",
                  "null"
                ]
              },
              "relatedRefs": {
                "type": "array",
                "items": {
                  "type": "object"
                },
                "maxItems": 50
              },
              "handoffs": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              },
              "emergencyActions": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              },
              "timestamps": {
                "type": "object"
              }
            },
            "additionalProperties": false
          }
        },
        "incident": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/operational-incident.schema.json",
          "title": "VenueMind Operational Incident",
          "type": "object",
          "required": [
            "schemaVersion",
            "id",
            "revision",
            "severity",
            "category",
            "summaryCode",
            "status",
            "acknowledgement",
            "escalation",
            "location",
            "owner",
            "relatedRefs",
            "handoffs",
            "emergencyActions",
            "timestamps"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "id": {
              "type": "string",
              "minLength": 1
            },
            "revision": {
              "type": "integer",
              "minimum": 1
            },
            "severity": {
              "enum": [
                "low",
                "medium",
                "high",
                "critical"
              ]
            },
            "category": {
              "enum": [
                "accessibility",
                "crowd-capacity",
                "medical",
                "security",
                "fire-life-safety",
                "facilities",
                "production-av",
                "catering",
                "staffing",
                "transport",
                "weather",
                "other"
              ]
            },
            "summaryCode": {
              "type": "string",
              "minLength": 2,
              "maxLength": 64,
              "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
            },
            "status": {
              "enum": [
                "open",
                "mitigating",
                "resolved",
                "closed"
              ]
            },
            "acknowledgement": {
              "type": "object"
            },
            "escalation": {
              "type": "object"
            },
            "location": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "$id": "https://venuemind.dev/schemas/incident-location-context.schema.json",
              "title": "VenueMind Incident Location Context",
              "type": "object",
              "required": [
                "kind",
                "planId",
                "planVersion",
                "planFingerprint"
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "plan-object",
                    "coordinate"
                  ]
                },
                "planId": {
                  "type": "string",
                  "minLength": 1
                },
                "planVersion": {
                  "type": "string",
                  "minLength": 1
                },
                "planFingerprint": {
                  "type": "string",
                  "minLength": 1
                },
                "planObjectId": {
                  "type": "string",
                  "minLength": 1
                },
                "point": {
                  "type": "object",
                  "required": [
                    "x",
                    "y"
                  ],
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "owner": {
              "type": [
                "object",
                "null"
              ]
            },
            "relatedRefs": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "maxItems": 50
            },
            "handoffs": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "emergencyActions": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "timestamps": {
              "type": "object"
            }
          },
          "additionalProperties": false
        },
        "receipt": {
          "type": "object"
        },
        "duplicate": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "INCIDENT_REGISTER_NOT_FOUND",
      "INCIDENT_NOT_FOUND",
      "INCIDENT_TOOL_UNAVAILABLE",
      "INCIDENT_REVISION_CONFLICT",
      "INCIDENT_INVALID",
      "INCIDENT_PRIVACY_REJECTED",
      "INCIDENT_LOCATION_INVALID",
      "INCIDENT_LEDGER_INTEGRITY_FAILED"
    ]
  },
  {
    "name": "venue.report_incident",
    "description": "Report one structured Operational Incident against an object or coordinate in the frozen accepted Plan without claiming acknowledgement, escalation, ownership, resolution, or emergency authority.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "severity": {
          "enum": [
            "low",
            "medium",
            "high",
            "critical"
          ]
        },
        "category": {
          "enum": [
            "accessibility",
            "crowd-capacity",
            "medical",
            "security",
            "fire-life-safety",
            "facilities",
            "production-av",
            "catering",
            "staffing",
            "transport",
            "weather",
            "other"
          ]
        },
        "summaryCode": {
          "type": "string",
          "minLength": 2,
          "maxLength": 64,
          "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
        },
        "location": {
          "oneOf": [
            {
              "type": "object",
              "required": [
                "kind",
                "planObjectId"
              ],
              "properties": {
                "kind": {
                  "const": "plan-object"
                },
                "planObjectId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 160
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "kind",
                "point"
              ],
              "properties": {
                "kind": {
                  "const": "coordinate"
                },
                "point": {
                  "type": "object",
                  "required": [
                    "x",
                    "y"
                  ],
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          ]
        },
        "relatedRefs": {
          "type": "array",
          "maxItems": 20,
          "items": {
            "type": "object",
            "required": [
              "kind",
              "id"
            ],
            "properties": {
              "kind": {
                "enum": [
                  "occupancy-alert",
                  "runbook-task",
                  "plan-object"
                ]
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              }
            },
            "additionalProperties": false
          }
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "severity",
        "category",
        "summaryCode",
        "location",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Report Incident",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:operate"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "severity": "high",
      "category": "crowd-capacity",
      "summaryCode": "EAST_ENTRY_CONGESTION",
      "location": {
        "kind": "plan-object",
        "planObjectId": "obj-entry-east"
      },
      "relatedRefs": [
        {
          "kind": "occupancy-alert",
          "id": "occupancy-alert-east-entry"
        }
      ],
      "idempotencyKey": "example-incident-report-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "register"
      ],
      "properties": {
        "register": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/incident-register.schema.json",
          "title": "VenueMind Incident Register",
          "type": "object",
          "required": [
            "schemaVersion",
            "id",
            "projectId",
            "runbookVersionId",
            "source",
            "baseline",
            "incidents",
            "transitions",
            "receipts",
            "ledger",
            "revision",
            "createdAt",
            "createdBy",
            "updatedAt"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "id": {
              "type": "string"
            },
            "projectId": {
              "type": "string"
            },
            "runbookVersionId": {
              "type": "string"
            },
            "source": {
              "type": "object"
            },
            "baseline": {
              "type": "object",
              "required": [
                "fingerprint"
              ],
              "properties": {
                "fingerprint": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": true
            },
            "incidents": {
              "type": "array",
              "items": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "$id": "https://venuemind.dev/schemas/operational-incident.schema.json",
                "title": "VenueMind Operational Incident",
                "type": "object",
                "required": [
                  "schemaVersion",
                  "id",
                  "revision",
                  "severity",
                  "category",
                  "summaryCode",
                  "status",
                  "acknowledgement",
                  "escalation",
                  "location",
                  "owner",
                  "relatedRefs",
                  "handoffs",
                  "emergencyActions",
                  "timestamps"
                ],
                "properties": {
                  "schemaVersion": {
                    "const": 1
                  },
                  "id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "revision": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "severity": {
                    "enum": [
                      "low",
                      "medium",
                      "high",
                      "critical"
                    ]
                  },
                  "category": {
                    "enum": [
                      "accessibility",
                      "crowd-capacity",
                      "medical",
                      "security",
                      "fire-life-safety",
                      "facilities",
                      "production-av",
                      "catering",
                      "staffing",
                      "transport",
                      "weather",
                      "other"
                    ]
                  },
                  "summaryCode": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 64,
                    "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
                  },
                  "status": {
                    "enum": [
                      "open",
                      "mitigating",
                      "resolved",
                      "closed"
                    ]
                  },
                  "acknowledgement": {
                    "type": "object"
                  },
                  "escalation": {
                    "type": "object"
                  },
                  "location": {
                    "$schema": "https://json-schema.org/draft/2020-12/schema",
                    "$id": "https://venuemind.dev/schemas/incident-location-context.schema.json",
                    "title": "VenueMind Incident Location Context",
                    "type": "object",
                    "required": [
                      "kind",
                      "planId",
                      "planVersion",
                      "planFingerprint"
                    ],
                    "properties": {
                      "kind": {
                        "enum": [
                          "plan-object",
                          "coordinate"
                        ]
                      },
                      "planId": {
                        "type": "string",
                        "minLength": 1
                      },
                      "planVersion": {
                        "type": "string",
                        "minLength": 1
                      },
                      "planFingerprint": {
                        "type": "string",
                        "minLength": 1
                      },
                      "planObjectId": {
                        "type": "string",
                        "minLength": 1
                      },
                      "point": {
                        "type": "object",
                        "required": [
                          "x",
                          "y"
                        ],
                        "properties": {
                          "x": {
                            "type": "number"
                          },
                          "y": {
                            "type": "number"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "additionalProperties": false
                  },
                  "owner": {
                    "type": [
                      "object",
                      "null"
                    ]
                  },
                  "relatedRefs": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    },
                    "maxItems": 50
                  },
                  "handoffs": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "emergencyActions": {
                    "type": "array",
                    "items": {
                      "type": "object"
                    }
                  },
                  "timestamps": {
                    "type": "object"
                  }
                },
                "additionalProperties": false
              }
            },
            "transitions": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "receipts": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "ledger": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "revision": {
              "type": "integer",
              "minimum": 0
            },
            "createdAt": {
              "type": "string",
              "format": "date-time"
            },
            "createdBy": {
              "type": "string",
              "minLength": 1
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "incidents": {
          "type": "array",
          "items": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "$id": "https://venuemind.dev/schemas/operational-incident.schema.json",
            "title": "VenueMind Operational Incident",
            "type": "object",
            "required": [
              "schemaVersion",
              "id",
              "revision",
              "severity",
              "category",
              "summaryCode",
              "status",
              "acknowledgement",
              "escalation",
              "location",
              "owner",
              "relatedRefs",
              "handoffs",
              "emergencyActions",
              "timestamps"
            ],
            "properties": {
              "schemaVersion": {
                "const": 1
              },
              "id": {
                "type": "string",
                "minLength": 1
              },
              "revision": {
                "type": "integer",
                "minimum": 1
              },
              "severity": {
                "enum": [
                  "low",
                  "medium",
                  "high",
                  "critical"
                ]
              },
              "category": {
                "enum": [
                  "accessibility",
                  "crowd-capacity",
                  "medical",
                  "security",
                  "fire-life-safety",
                  "facilities",
                  "production-av",
                  "catering",
                  "staffing",
                  "transport",
                  "weather",
                  "other"
                ]
              },
              "summaryCode": {
                "type": "string",
                "minLength": 2,
                "maxLength": 64,
                "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
              },
              "status": {
                "enum": [
                  "open",
                  "mitigating",
                  "resolved",
                  "closed"
                ]
              },
              "acknowledgement": {
                "type": "object"
              },
              "escalation": {
                "type": "object"
              },
              "location": {
                "$schema": "https://json-schema.org/draft/2020-12/schema",
                "$id": "https://venuemind.dev/schemas/incident-location-context.schema.json",
                "title": "VenueMind Incident Location Context",
                "type": "object",
                "required": [
                  "kind",
                  "planId",
                  "planVersion",
                  "planFingerprint"
                ],
                "properties": {
                  "kind": {
                    "enum": [
                      "plan-object",
                      "coordinate"
                    ]
                  },
                  "planId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "planVersion": {
                    "type": "string",
                    "minLength": 1
                  },
                  "planFingerprint": {
                    "type": "string",
                    "minLength": 1
                  },
                  "planObjectId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "point": {
                    "type": "object",
                    "required": [
                      "x",
                      "y"
                    ],
                    "properties": {
                      "x": {
                        "type": "number"
                      },
                      "y": {
                        "type": "number"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "additionalProperties": false
              },
              "owner": {
                "type": [
                  "object",
                  "null"
                ]
              },
              "relatedRefs": {
                "type": "array",
                "items": {
                  "type": "object"
                },
                "maxItems": 50
              },
              "handoffs": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              },
              "emergencyActions": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              },
              "timestamps": {
                "type": "object"
              }
            },
            "additionalProperties": false
          }
        },
        "incident": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/operational-incident.schema.json",
          "title": "VenueMind Operational Incident",
          "type": "object",
          "required": [
            "schemaVersion",
            "id",
            "revision",
            "severity",
            "category",
            "summaryCode",
            "status",
            "acknowledgement",
            "escalation",
            "location",
            "owner",
            "relatedRefs",
            "handoffs",
            "emergencyActions",
            "timestamps"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "id": {
              "type": "string",
              "minLength": 1
            },
            "revision": {
              "type": "integer",
              "minimum": 1
            },
            "severity": {
              "enum": [
                "low",
                "medium",
                "high",
                "critical"
              ]
            },
            "category": {
              "enum": [
                "accessibility",
                "crowd-capacity",
                "medical",
                "security",
                "fire-life-safety",
                "facilities",
                "production-av",
                "catering",
                "staffing",
                "transport",
                "weather",
                "other"
              ]
            },
            "summaryCode": {
              "type": "string",
              "minLength": 2,
              "maxLength": 64,
              "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
            },
            "status": {
              "enum": [
                "open",
                "mitigating",
                "resolved",
                "closed"
              ]
            },
            "acknowledgement": {
              "type": "object"
            },
            "escalation": {
              "type": "object"
            },
            "location": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "$id": "https://venuemind.dev/schemas/incident-location-context.schema.json",
              "title": "VenueMind Incident Location Context",
              "type": "object",
              "required": [
                "kind",
                "planId",
                "planVersion",
                "planFingerprint"
              ],
              "properties": {
                "kind": {
                  "enum": [
                    "plan-object",
                    "coordinate"
                  ]
                },
                "planId": {
                  "type": "string",
                  "minLength": 1
                },
                "planVersion": {
                  "type": "string",
                  "minLength": 1
                },
                "planFingerprint": {
                  "type": "string",
                  "minLength": 1
                },
                "planObjectId": {
                  "type": "string",
                  "minLength": 1
                },
                "point": {
                  "type": "object",
                  "required": [
                    "x",
                    "y"
                  ],
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            "owner": {
              "type": [
                "object",
                "null"
              ]
            },
            "relatedRefs": {
              "type": "array",
              "items": {
                "type": "object"
              },
              "maxItems": 50
            },
            "handoffs": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "emergencyActions": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "timestamps": {
              "type": "object"
            }
          },
          "additionalProperties": false
        },
        "receipt": {
          "type": "object"
        },
        "duplicate": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT",
      "INCIDENT_REGISTER_NOT_FOUND",
      "INCIDENT_NOT_FOUND",
      "INCIDENT_TOOL_UNAVAILABLE",
      "INCIDENT_REVISION_CONFLICT",
      "INCIDENT_INVALID",
      "INCIDENT_PRIVACY_REJECTED",
      "INCIDENT_LOCATION_INVALID",
      "INCIDENT_LEDGER_INTEGRITY_FAILED"
    ]
  },
  {
    "name": "venue.export_incident_record",
    "description": "Export one verified post-event Operational Incident record with frozen Plan and Emergency Plan provenance, transitions, structured handoffs, receipts, and hash-chained ledger evidence.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "incidentId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        }
      },
      "required": [
        "incidentId"
      ],
      "additionalProperties": false
    },
    "title": "Export Incident Record",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:export"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 2000000
    },
    "exampleInput": {
      "incidentId": "incident-example-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "filename",
        "mimeType",
        "content"
      ],
      "properties": {
        "filename": {
          "type": "string",
          "minLength": 1
        },
        "mimeType": {
          "const": "application/json"
        },
        "content": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "INCIDENT_REGISTER_NOT_FOUND",
      "INCIDENT_NOT_FOUND",
      "INCIDENT_TOOL_UNAVAILABLE",
      "INCIDENT_REVISION_CONFLICT",
      "INCIDENT_INVALID",
      "INCIDENT_PRIVACY_REJECTED",
      "INCIDENT_LOCATION_INVALID",
      "INCIDENT_LEDGER_INTEGRITY_FAILED"
    ]
  },
  {
    "name": "venue.inspect_live_plan_deviations",
    "description": "Inspect the Runbook-bound Live Plan Deviation Register, deterministic active overlay, and filtered temporary or revision-candidate deviation records without changing accepted Plan truth.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "deviationId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "status": {
          "enum": [
            "active",
            "ended"
          ]
        },
        "disposition": {
          "enum": [
            "temporary",
            "revision-candidate"
          ]
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100,
          "default": 50
        }
      },
      "additionalProperties": false
    },
    "title": "Inspect Live Plan Deviations",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 1048576
    },
    "exampleInput": {
      "status": "active",
      "limit": 25
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "register",
        "deviations",
        "overlay"
      ],
      "properties": {
        "register": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/live-plan-deviation-register.schema.json",
          "title": "VenueMind Live Plan Deviation Register",
          "type": "object",
          "required": [
            "schemaVersion",
            "id",
            "projectId",
            "runbookVersionId",
            "source",
            "baseline",
            "deviations",
            "recommendations",
            "transitions",
            "receipts",
            "ledger",
            "revision",
            "createdAt",
            "createdBy",
            "updatedAt"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "id": {
              "type": "string",
              "minLength": 1
            },
            "projectId": {
              "type": "string",
              "minLength": 1
            },
            "runbookVersionId": {
              "type": "string",
              "minLength": 1
            },
            "source": {
              "type": "object"
            },
            "baseline": {
              "type": "object"
            },
            "deviations": {
              "type": "array",
              "items": {
                "$ref": "https://venuemind.dev/schemas/live-plan-deviation.schema.json"
              }
            },
            "recommendations": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "transitions": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "receipts": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "ledger": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "revision": {
              "type": "integer",
              "minimum": 0
            },
            "createdAt": {
              "type": "string",
              "format": "date-time"
            },
            "createdBy": {
              "type": "string",
              "minLength": 1
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "deviations": {
          "type": "array",
          "items": {
            "$ref": "https://venuemind.dev/schemas/live-plan-deviation.schema.json"
          }
        },
        "overlay": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/live-plan-deviation-overlay.schema.json",
          "title": "VenueMind Live Plan Deviation Overlay",
          "type": "object",
          "required": [
            "registerId",
            "registerRevision",
            "runbookVersionId",
            "acceptedPlanId",
            "acceptedPlanVersion",
            "acceptedPlanFingerprint",
            "activeDeviationIds",
            "overlayPlan",
            "overlayFingerprint",
            "validation"
          ],
          "properties": {
            "registerId": {
              "type": "string",
              "minLength": 1
            },
            "registerRevision": {
              "type": "integer",
              "minimum": 0
            },
            "runbookVersionId": {
              "type": "string",
              "minLength": 1
            },
            "acceptedPlanId": {
              "type": "string",
              "minLength": 1
            },
            "acceptedPlanVersion": {
              "type": [
                "string",
                "number"
              ]
            },
            "acceptedPlanFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "activeDeviationIds": {
              "type": "array",
              "uniqueItems": true,
              "items": {
                "type": "string",
                "minLength": 1
              }
            },
            "overlayPlan": {
              "type": "object"
            },
            "overlayFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "validation": {
              "type": "object"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "DEVIATION_REGISTER_NOT_FOUND",
      "DEVIATION_NOT_FOUND",
      "DEVIATION_TOOL_UNAVAILABLE",
      "DEVIATION_INVALID",
      "DEVIATION_LOCATION_INVALID",
      "DEVIATION_REVISION_CONFLICT",
      "DEVIATION_REGISTER_REVISION_CONFLICT",
      "DEVIATION_LEDGER_INTEGRITY_FAILED"
    ]
  },
  {
    "name": "venue.record_live_plan_deviation",
    "description": "Record one validated event-day Change against the frozen accepted Plan with stable object IDs, available live Constraints, reason, author evidence, and exact retry identity.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "deviationId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "disposition": {
          "enum": [
            "temporary",
            "revision-candidate"
          ]
        },
        "reasonCode": {
          "type": "string",
          "minLength": 2,
          "maxLength": 64,
          "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
        },
        "location": {
          "oneOf": [
            {
              "type": "object",
              "required": [
                "kind",
                "planObjectId"
              ],
              "properties": {
                "kind": {
                  "const": "plan-object"
                },
                "planObjectId": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 160
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "kind",
                "point"
              ],
              "properties": {
                "kind": {
                  "const": "coordinate"
                },
                "point": {
                  "type": "object",
                  "required": [
                    "x",
                    "y"
                  ],
                  "properties": {
                    "x": {
                      "type": "number"
                    },
                    "y": {
                      "type": "number"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            }
          ]
        },
        "affectedObjectIds": {
          "type": "array",
          "minItems": 1,
          "maxItems": 100,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160
          }
        },
        "availableConstraintIds": {
          "type": "array",
          "minItems": 1,
          "maxItems": 100,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160
          }
        },
        "change": {
          "type": "object",
          "required": [
            "id",
            "targetObjectIds",
            "spatialEffects"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1,
              "maxLength": 160
            },
            "number": {
              "type": "integer",
              "minimum": 1
            },
            "title": {
              "type": "string",
              "minLength": 1,
              "maxLength": 240
            },
            "shortTitle": {
              "type": "string",
              "minLength": 1,
              "maxLength": 120
            },
            "label": {
              "type": "string",
              "minLength": 1,
              "maxLength": 240
            },
            "editor": {
              "type": "object"
            },
            "metrics": {
              "type": "array",
              "items": {
                "type": "array",
                "minItems": 2,
                "maxItems": 2,
                "items": {
                  "type": "string"
                }
              }
            },
            "targetObjectIds": {
              "type": "array",
              "minItems": 1,
              "maxItems": 100,
              "uniqueItems": true,
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              }
            },
            "targetRequirementIds": {
              "type": "array",
              "maxItems": 100,
              "uniqueItems": true,
              "items": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              }
            },
            "effects": {
              "type": "object"
            },
            "planningEffects": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "spatialEffects": {
              "type": "array",
              "minItems": 1,
              "maxItems": 100,
              "items": {
                "type": "object"
              }
            },
            "semantic": {
              "type": "object"
            },
            "lineage": {
              "type": "object"
            },
            "templateUpdate": {
              "type": "object"
            }
          },
          "additionalProperties": false
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "deviationId",
        "disposition",
        "reasonCode",
        "location",
        "affectedObjectIds",
        "availableConstraintIds",
        "change",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Record Live Plan Deviation",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:operate"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "deviationId": "deviation-east-exit-control",
      "disposition": "temporary",
      "reasonCode": "LIVE_EGRESS_CONTROL",
      "location": {
        "kind": "plan-object",
        "planObjectId": "obj-fire-exit-east"
      },
      "affectedObjectIds": [
        "obj-fire-exit-east"
      ],
      "availableConstraintIds": [
        "constraint-emergency-readiness",
        "constraint-peak-congestion"
      ],
      "change": {
        "id": "change-live-egress-control",
        "targetObjectIds": [
          "obj-fire-exit-east"
        ],
        "spatialEffects": [
          {
            "operation": "update_metadata",
            "objectId": "obj-fire-exit-east",
            "values": {
              "label": "East exit — controlled"
            }
          }
        ]
      },
      "idempotencyKey": "example-deviation-record-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "register",
        "deviation",
        "proposal",
        "receipt",
        "duplicate"
      ],
      "properties": {
        "register": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/live-plan-deviation-register.schema.json",
          "title": "VenueMind Live Plan Deviation Register",
          "type": "object",
          "required": [
            "schemaVersion",
            "id",
            "projectId",
            "runbookVersionId",
            "source",
            "baseline",
            "deviations",
            "recommendations",
            "transitions",
            "receipts",
            "ledger",
            "revision",
            "createdAt",
            "createdBy",
            "updatedAt"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "id": {
              "type": "string",
              "minLength": 1
            },
            "projectId": {
              "type": "string",
              "minLength": 1
            },
            "runbookVersionId": {
              "type": "string",
              "minLength": 1
            },
            "source": {
              "type": "object"
            },
            "baseline": {
              "type": "object"
            },
            "deviations": {
              "type": "array",
              "items": {
                "$ref": "https://venuemind.dev/schemas/live-plan-deviation.schema.json"
              }
            },
            "recommendations": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "transitions": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "receipts": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "ledger": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "revision": {
              "type": "integer",
              "minimum": 0
            },
            "createdAt": {
              "type": "string",
              "format": "date-time"
            },
            "createdBy": {
              "type": "string",
              "minLength": 1
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "deviation": {
          "anyOf": [
            {
              "$ref": "https://venuemind.dev/schemas/live-plan-deviation.schema.json"
            },
            {
              "type": "null"
            }
          ]
        },
        "proposal": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            }
          ]
        },
        "receipt": {
          "type": "object"
        },
        "duplicate": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT",
      "DEVIATION_REGISTER_NOT_FOUND",
      "DEVIATION_NOT_FOUND",
      "DEVIATION_TOOL_UNAVAILABLE",
      "DEVIATION_INVALID",
      "DEVIATION_LOCATION_INVALID",
      "DEVIATION_REVISION_CONFLICT",
      "DEVIATION_REGISTER_REVISION_CONFLICT",
      "DEVIATION_LEDGER_INTEGRITY_FAILED"
    ]
  },
  {
    "name": "venue.end_live_plan_deviation",
    "description": "End one active temporary or revision-candidate deviation with optimistic Deviation revision control and an immutable reasoned transition.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "deviationId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "expectedDeviationRevision": {
          "type": "integer",
          "minimum": 1
        },
        "reasonCode": {
          "type": "string",
          "minLength": 2,
          "maxLength": 64,
          "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "deviationId",
        "expectedDeviationRevision",
        "reasonCode",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "End Live Plan Deviation",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:operate"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "deviationId": "deviation-east-exit-control",
      "expectedDeviationRevision": 1,
      "reasonCode": "CONTROL_RELEASED",
      "idempotencyKey": "example-deviation-end-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "register",
        "deviation",
        "proposal",
        "receipt",
        "duplicate"
      ],
      "properties": {
        "register": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/live-plan-deviation-register.schema.json",
          "title": "VenueMind Live Plan Deviation Register",
          "type": "object",
          "required": [
            "schemaVersion",
            "id",
            "projectId",
            "runbookVersionId",
            "source",
            "baseline",
            "deviations",
            "recommendations",
            "transitions",
            "receipts",
            "ledger",
            "revision",
            "createdAt",
            "createdBy",
            "updatedAt"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "id": {
              "type": "string",
              "minLength": 1
            },
            "projectId": {
              "type": "string",
              "minLength": 1
            },
            "runbookVersionId": {
              "type": "string",
              "minLength": 1
            },
            "source": {
              "type": "object"
            },
            "baseline": {
              "type": "object"
            },
            "deviations": {
              "type": "array",
              "items": {
                "$ref": "https://venuemind.dev/schemas/live-plan-deviation.schema.json"
              }
            },
            "recommendations": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "transitions": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "receipts": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "ledger": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "revision": {
              "type": "integer",
              "minimum": 0
            },
            "createdAt": {
              "type": "string",
              "format": "date-time"
            },
            "createdBy": {
              "type": "string",
              "minLength": 1
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "deviation": {
          "anyOf": [
            {
              "$ref": "https://venuemind.dev/schemas/live-plan-deviation.schema.json"
            },
            {
              "type": "null"
            }
          ]
        },
        "proposal": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            }
          ]
        },
        "receipt": {
          "type": "object"
        },
        "duplicate": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT",
      "DEVIATION_REGISTER_NOT_FOUND",
      "DEVIATION_NOT_FOUND",
      "DEVIATION_TOOL_UNAVAILABLE",
      "DEVIATION_INVALID",
      "DEVIATION_LOCATION_INVALID",
      "DEVIATION_REVISION_CONFLICT",
      "DEVIATION_REGISTER_REVISION_CONFLICT",
      "DEVIATION_LEDGER_INTEGRITY_FAILED"
    ]
  },
  {
    "name": "venue.create_post_event_deviation_proposal",
    "description": "Create a normal review-state Proposal from ended revision-candidate deviations. The accepted Plan remains unchanged and Approval remains human-only in VenueMind Studio.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "proposalId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "goal": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        "deviationIds": {
          "type": "array",
          "minItems": 1,
          "maxItems": 100,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160
          }
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "proposalId",
        "goal",
        "deviationIds",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Create Post Event Deviation Proposal",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:propose"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "proposalId": "proposal-post-event-egress",
      "goal": "Retain the validated event-day egress control",
      "deviationIds": [
        "deviation-east-exit-control"
      ],
      "idempotencyKey": "example-deviation-proposal-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "register",
        "deviation",
        "proposal",
        "receipt",
        "duplicate"
      ],
      "properties": {
        "register": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "$id": "https://venuemind.dev/schemas/live-plan-deviation-register.schema.json",
          "title": "VenueMind Live Plan Deviation Register",
          "type": "object",
          "required": [
            "schemaVersion",
            "id",
            "projectId",
            "runbookVersionId",
            "source",
            "baseline",
            "deviations",
            "recommendations",
            "transitions",
            "receipts",
            "ledger",
            "revision",
            "createdAt",
            "createdBy",
            "updatedAt"
          ],
          "properties": {
            "schemaVersion": {
              "const": 1
            },
            "id": {
              "type": "string",
              "minLength": 1
            },
            "projectId": {
              "type": "string",
              "minLength": 1
            },
            "runbookVersionId": {
              "type": "string",
              "minLength": 1
            },
            "source": {
              "type": "object"
            },
            "baseline": {
              "type": "object"
            },
            "deviations": {
              "type": "array",
              "items": {
                "$ref": "https://venuemind.dev/schemas/live-plan-deviation.schema.json"
              }
            },
            "recommendations": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "transitions": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "receipts": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "ledger": {
              "type": "array",
              "items": {
                "type": "object"
              }
            },
            "revision": {
              "type": "integer",
              "minimum": 0
            },
            "createdAt": {
              "type": "string",
              "format": "date-time"
            },
            "createdBy": {
              "type": "string",
              "minLength": 1
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "deviation": {
          "anyOf": [
            {
              "$ref": "https://venuemind.dev/schemas/live-plan-deviation.schema.json"
            },
            {
              "type": "null"
            }
          ]
        },
        "proposal": {
          "anyOf": [
            {
              "type": "object"
            },
            {
              "type": "null"
            }
          ]
        },
        "receipt": {
          "type": "object"
        },
        "duplicate": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT",
      "DEVIATION_REGISTER_NOT_FOUND",
      "DEVIATION_NOT_FOUND",
      "DEVIATION_TOOL_UNAVAILABLE",
      "DEVIATION_INVALID",
      "DEVIATION_LOCATION_INVALID",
      "DEVIATION_REVISION_CONFLICT",
      "DEVIATION_REGISTER_REVISION_CONFLICT",
      "DEVIATION_LEDGER_INTEGRITY_FAILED",
      "POST_EVENT_REVIEW_NOT_FOUND",
      "POST_EVENT_TOOL_UNAVAILABLE",
      "POST_EVENT_INVALID",
      "POST_EVENT_REVISION_CONFLICT",
      "POST_EVENT_EVIDENCE_INVALID",
      "POST_EVENT_OBSERVATION_CONFLICT",
      "POST_EVENT_COMPARISON_NOT_FOUND",
      "POST_EVENT_LESSON_NOT_FOUND",
      "POST_EVENT_TEMPLATE_PROPOSAL_NOT_FOUND",
      "POST_EVENT_TEMPLATE_PROPOSAL_INVALID",
      "POST_EVENT_LEDGER_INTEGRITY_FAILED"
    ]
  },
  {
    "name": "venue.export_live_plan_deviations",
    "description": "Export a verified record that keeps the approved Plan, live deviation overlay, and post-event recommended revisions explicitly separate.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "Export Live Plan Deviations",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:export"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 2000000
    },
    "exampleInput": {},
    "outputSchema": {
      "type": "object",
      "required": [
        "filename",
        "mediaType",
        "content",
        "fingerprint"
      ],
      "properties": {
        "filename": {
          "type": "string",
          "minLength": 1
        },
        "mediaType": {
          "const": "application/json"
        },
        "content": {
          "type": "string"
        },
        "fingerprint": {
          "type": "string",
          "minLength": 1
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "DEVIATION_REGISTER_NOT_FOUND",
      "DEVIATION_NOT_FOUND",
      "DEVIATION_TOOL_UNAVAILABLE",
      "DEVIATION_INVALID",
      "DEVIATION_LOCATION_INVALID",
      "DEVIATION_REVISION_CONFLICT",
      "DEVIATION_REGISTER_REVISION_CONFLICT",
      "DEVIATION_LEDGER_INTEGRITY_FAILED"
    ]
  },
  {
    "name": "venue.inspect_post_event_review",
    "description": "Inspect a Runbook-bound Post-event Review, outcome comparisons, Lessons, proposals, and ledger integrity.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "Inspect Post Event Review",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:read"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 1048576
    },
    "exampleInput": {},
    "outputSchema": {
      "type": "object",
      "required": [
        "review",
        "comparisons",
        "integrity"
      ],
      "properties": {
        "review": {
          "$ref": "https://venuemind.dev/schemas/post-event-review.schema.json"
        },
        "comparisons": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "key",
              "prediction",
              "observation",
              "status",
              "delta",
              "tolerance",
              "comparisonFingerprint"
            ],
            "properties": {
              "key": {
                "type": "string",
                "minLength": 1
              },
              "prediction": {
                "type": "object",
                "required": [
                  "key",
                  "family",
                  "metric",
                  "scope",
                  "value",
                  "unit",
                  "betterWhen",
                  "tolerance",
                  "evidenceRefs"
                ],
                "properties": {
                  "key": {
                    "type": "string",
                    "minLength": 1
                  },
                  "family": {
                    "enum": [
                      "occupancy",
                      "queue",
                      "flow",
                      "incidents"
                    ]
                  },
                  "metric": {
                    "enum": [
                      "peak-persons",
                      "utilization-ratio",
                      "average-wait-seconds",
                      "p95-wait-seconds",
                      "maximum-queue-persons",
                      "abandonment-ratio",
                      "clearance-seconds",
                      "peak-congestion-index",
                      "backlog-persons",
                      "incident-count",
                      "resolution-seconds"
                    ]
                  },
                  "scope": {
                    "type": "object",
                    "required": [
                      "kind",
                      "id"
                    ],
                    "properties": {
                      "kind": {
                        "enum": [
                          "venue",
                          "occupancy-zone",
                          "queue",
                          "route",
                          "incident-category"
                        ]
                      },
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      }
                    },
                    "additionalProperties": false
                  },
                  "value": {
                    "type": "number"
                  },
                  "unit": {
                    "enum": [
                      "persons",
                      "ratio",
                      "seconds",
                      "index",
                      "incidents"
                    ]
                  },
                  "betterWhen": {
                    "enum": [
                      "lower",
                      "higher",
                      "target"
                    ]
                  },
                  "tolerance": {
                    "type": "object",
                    "required": [
                      "absolute",
                      "relative"
                    ],
                    "properties": {
                      "absolute": {
                        "type": "number",
                        "minimum": 0
                      },
                      "relative": {
                        "type": "number",
                        "minimum": 0
                      }
                    },
                    "additionalProperties": false
                  },
                  "evidenceRefs": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 50,
                    "items": {
                      "type": "object",
                      "required": [
                        "kind",
                        "id",
                        "fingerprint"
                      ],
                      "properties": {
                        "kind": {
                          "enum": [
                            "accepted-plan",
                            "runbook",
                            "occupancy-monitor",
                            "occupancy-projection",
                            "incident-register",
                            "deviation-register",
                            "scenario-run"
                          ]
                        },
                        "id": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 160
                        },
                        "fingerprint": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "additionalProperties": false
              },
              "observation": {
                "anyOf": [
                  {
                    "type": "object",
                    "required": [
                      "schemaVersion",
                      "id",
                      "predictionKey",
                      "family",
                      "metric",
                      "scope",
                      "value",
                      "unit",
                      "confidence",
                      "evidenceRefs",
                      "recorded"
                    ],
                    "properties": {
                      "schemaVersion": {
                        "const": 1
                      },
                      "id": {
                        "type": "string",
                        "minLength": 1
                      },
                      "predictionKey": {
                        "type": "string",
                        "minLength": 1
                      },
                      "family": {
                        "enum": [
                          "occupancy",
                          "queue",
                          "flow",
                          "incidents"
                        ]
                      },
                      "metric": {
                        "enum": [
                          "peak-persons",
                          "utilization-ratio",
                          "average-wait-seconds",
                          "p95-wait-seconds",
                          "maximum-queue-persons",
                          "abandonment-ratio",
                          "clearance-seconds",
                          "peak-congestion-index",
                          "backlog-persons",
                          "incident-count",
                          "resolution-seconds"
                        ]
                      },
                      "scope": {
                        "type": "object",
                        "required": [
                          "kind",
                          "id"
                        ],
                        "properties": {
                          "kind": {
                            "enum": [
                              "venue",
                              "occupancy-zone",
                              "queue",
                              "route",
                              "incident-category"
                            ]
                          },
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 160
                          }
                        },
                        "additionalProperties": false
                      },
                      "value": {
                        "type": [
                          "number",
                          "null"
                        ]
                      },
                      "unit": {
                        "enum": [
                          "persons",
                          "ratio",
                          "seconds",
                          "index",
                          "incidents"
                        ]
                      },
                      "confidence": {
                        "enum": [
                          "measured",
                          "estimated",
                          "unavailable"
                        ]
                      },
                      "evidenceRefs": {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 50,
                        "items": {
                          "type": "object",
                          "required": [
                            "kind",
                            "id",
                            "fingerprint"
                          ],
                          "properties": {
                            "kind": {
                              "enum": [
                                "accepted-plan",
                                "runbook",
                                "occupancy-monitor",
                                "occupancy-projection",
                                "incident-register",
                                "deviation-register",
                                "scenario-run"
                              ]
                            },
                            "id": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 160
                            },
                            "fingerprint": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "recorded": {
                        "type": "object",
                        "required": [
                          "actorType",
                          "actorId",
                          "source",
                          "sessionId",
                          "occurredAt"
                        ],
                        "properties": {
                          "actorType": {
                            "enum": [
                              "human",
                              "agent",
                              "system"
                            ]
                          },
                          "actorId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "source": {
                            "enum": [
                              "studio",
                              "webmcp",
                              "mcp",
                              "system",
                              "agent-tool"
                            ]
                          },
                          "sessionId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "occurredAt": {
                            "type": "string",
                            "format": "date-time"
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "enum": [
                  "matched",
                  "better",
                  "worse",
                  "insufficient-evidence"
                ]
              },
              "delta": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "tolerance": {
                "type": "number",
                "minimum": 0
              },
              "comparisonFingerprint": {
                "type": "string",
                "minLength": 1
              }
            },
            "additionalProperties": false
          }
        },
        "integrity": {
          "type": "object",
          "required": [
            "status",
            "entries",
            "headHash",
            "sequence"
          ],
          "properties": {
            "status": {
              "enum": [
                "pass",
                "fail"
              ]
            },
            "entries": {
              "type": "integer",
              "minimum": 0
            },
            "headHash": {
              "type": [
                "string",
                "null"
              ]
            },
            "sequence": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 1
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "POST_EVENT_REVIEW_NOT_FOUND",
      "POST_EVENT_TOOL_UNAVAILABLE",
      "POST_EVENT_INVALID",
      "POST_EVENT_REVISION_CONFLICT",
      "POST_EVENT_EVIDENCE_INVALID",
      "POST_EVENT_OBSERVATION_CONFLICT",
      "POST_EVENT_COMPARISON_NOT_FOUND",
      "POST_EVENT_LESSON_NOT_FOUND",
      "POST_EVENT_TEMPLATE_PROPOSAL_NOT_FOUND",
      "POST_EVENT_TEMPLATE_PROPOSAL_INVALID",
      "POST_EVENT_LEDGER_INTEGRITY_FAILED"
    ]
  },
  {
    "name": "venue.record_post_event_observation",
    "description": "Record one evidence-bound outcome against a frozen Prediction.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "observationId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "predictionKey": {
          "type": "string",
          "minLength": 1,
          "maxLength": 240
        },
        "value": {
          "type": [
            "number",
            "null"
          ]
        },
        "confidence": {
          "enum": [
            "measured",
            "estimated",
            "unavailable"
          ]
        },
        "evidenceRefs": {
          "type": "array",
          "minItems": 1,
          "maxItems": 50,
          "items": {
            "type": "object",
            "required": [
              "kind",
              "id",
              "fingerprint"
            ],
            "properties": {
              "kind": {
                "enum": [
                  "accepted-plan",
                  "runbook",
                  "occupancy-monitor",
                  "occupancy-projection",
                  "incident-register",
                  "deviation-register",
                  "scenario-run"
                ]
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              },
              "fingerprint": {
                "type": "string",
                "minLength": 1
              }
            },
            "additionalProperties": false
          }
        },
        "expectedRevision": {
          "type": "integer",
          "minimum": 0
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "observationId",
        "predictionKey",
        "value",
        "confidence",
        "evidenceRefs",
        "expectedRevision",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Record Post Event Observation",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:operate"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "observationId": "observation-peak-occupancy",
      "predictionKey": "occupancy:peak-persons:venue:venue",
      "value": 438,
      "confidence": "measured",
      "evidenceRefs": [
        {
          "kind": "occupancy-projection",
          "id": "occupancy-runbook-example",
          "fingerprint": "sha256:projection"
        }
      ],
      "expectedRevision": 0,
      "idempotencyKey": "example-post-event-observation-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "review",
        "subject",
        "receipt",
        "duplicate"
      ],
      "properties": {
        "review": {
          "$ref": "https://venuemind.dev/schemas/post-event-review.schema.json"
        },
        "subject": {
          "oneOf": [
            {
              "type": "object",
              "required": [
                "schemaVersion",
                "id",
                "predictionKey",
                "family",
                "metric",
                "scope",
                "value",
                "unit",
                "confidence",
                "evidenceRefs",
                "recorded"
              ],
              "properties": {
                "schemaVersion": {
                  "const": 1
                },
                "id": {
                  "type": "string",
                  "minLength": 1
                },
                "predictionKey": {
                  "type": "string",
                  "minLength": 1
                },
                "family": {
                  "enum": [
                    "occupancy",
                    "queue",
                    "flow",
                    "incidents"
                  ]
                },
                "metric": {
                  "enum": [
                    "peak-persons",
                    "utilization-ratio",
                    "average-wait-seconds",
                    "p95-wait-seconds",
                    "maximum-queue-persons",
                    "abandonment-ratio",
                    "clearance-seconds",
                    "peak-congestion-index",
                    "backlog-persons",
                    "incident-count",
                    "resolution-seconds"
                  ]
                },
                "scope": {
                  "type": "object",
                  "required": [
                    "kind",
                    "id"
                  ],
                  "properties": {
                    "kind": {
                      "enum": [
                        "venue",
                        "occupancy-zone",
                        "queue",
                        "route",
                        "incident-category"
                      ]
                    },
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 160
                    }
                  },
                  "additionalProperties": false
                },
                "value": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "unit": {
                  "enum": [
                    "persons",
                    "ratio",
                    "seconds",
                    "index",
                    "incidents"
                  ]
                },
                "confidence": {
                  "enum": [
                    "measured",
                    "estimated",
                    "unavailable"
                  ]
                },
                "evidenceRefs": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 50,
                  "items": {
                    "type": "object",
                    "required": [
                      "kind",
                      "id",
                      "fingerprint"
                    ],
                    "properties": {
                      "kind": {
                        "enum": [
                          "accepted-plan",
                          "runbook",
                          "occupancy-monitor",
                          "occupancy-projection",
                          "incident-register",
                          "deviation-register",
                          "scenario-run"
                        ]
                      },
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      },
                      "fingerprint": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "recorded": {
                  "type": "object",
                  "required": [
                    "actorType",
                    "actorId",
                    "source",
                    "sessionId",
                    "occurredAt"
                  ],
                  "properties": {
                    "actorType": {
                      "enum": [
                        "human",
                        "agent",
                        "system"
                      ]
                    },
                    "actorId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "source": {
                      "enum": [
                        "studio",
                        "webmcp",
                        "mcp",
                        "system",
                        "agent-tool"
                      ]
                    },
                    "sessionId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "occurredAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "schemaVersion",
                "id",
                "comparisonKey",
                "family",
                "lessonCode",
                "findingCode",
                "recommendedActionCode",
                "requirementIds",
                "constraintIds",
                "recorded"
              ],
              "properties": {
                "schemaVersion": {
                  "const": 1
                },
                "id": {
                  "type": "string",
                  "minLength": 1
                },
                "comparisonKey": {
                  "type": "string",
                  "minLength": 1
                },
                "family": {
                  "enum": [
                    "occupancy",
                    "queue",
                    "flow",
                    "incidents"
                  ]
                },
                "lessonCode": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 64,
                  "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
                },
                "findingCode": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 64,
                  "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
                },
                "recommendedActionCode": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 64,
                  "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
                },
                "requirementIds": {
                  "type": "array",
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "constraintIds": {
                  "type": "array",
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "recorded": {
                  "type": "object",
                  "required": [
                    "actorType",
                    "actorId",
                    "source",
                    "sessionId",
                    "occurredAt"
                  ],
                  "properties": {
                    "actorType": {
                      "enum": [
                        "human",
                        "agent",
                        "system"
                      ]
                    },
                    "actorId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "source": {
                      "enum": [
                        "studio",
                        "webmcp",
                        "mcp",
                        "system",
                        "agent-tool"
                      ]
                    },
                    "sessionId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "occurredAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "schemaVersion",
                "id",
                "revision",
                "status",
                "target",
                "proposal",
                "traces",
                "created",
                "review",
                "publicationStatus"
              ],
              "properties": {
                "schemaVersion": {
                  "const": 1
                },
                "id": {
                  "type": "string",
                  "minLength": 1
                },
                "revision": {
                  "type": "integer",
                  "minimum": 1
                },
                "status": {
                  "enum": [
                    "pending-human-review",
                    "approved-recommendation",
                    "rejected"
                  ]
                },
                "target": {
                  "type": "object",
                  "required": [
                    "kind",
                    "templateId",
                    "version"
                  ],
                  "properties": {
                    "kind": {
                      "enum": [
                        "venue",
                        "room"
                      ]
                    },
                    "templateId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "version": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                "proposal": {
                  "type": "object",
                  "required": [
                    "id",
                    "baseVersion",
                    "revision",
                    "status",
                    "goal",
                    "changes",
                    "waivers",
                    "validation",
                    "lineage"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "baseVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "revision": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "status": {
                      "const": "review"
                    },
                    "goal": {
                      "type": "string",
                      "minLength": 1
                    },
                    "changes": {
                      "type": "array",
                      "minItems": 1,
                      "maxItems": 100,
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "effects"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 160
                          },
                          "title": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 240
                          },
                          "shortTitle": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 120
                          },
                          "label": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 240
                          },
                          "targetObjectIds": {
                            "type": "array",
                            "maxItems": 100,
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "targetRequirementIds": {
                            "type": "array",
                            "maxItems": 100,
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "effects": {
                            "type": "object",
                            "minProperties": 1,
                            "additionalProperties": {
                              "oneOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "number"
                                },
                                {
                                  "type": "boolean"
                                },
                                {
                                  "type": "object",
                                  "required": [
                                    "kind",
                                    "sourceId",
                                    "sourceChecksum"
                                  ],
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "sourceId": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "sourceChecksum": {
                                      "type": "string",
                                      "minLength": 1
                                    }
                                  },
                                  "additionalProperties": false
                                }
                              ]
                            }
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "waivers": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "validation": {
                      "anyOf": [
                        {
                          "type": "object"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "lineage": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "traces": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "changeId",
                      "lessonIds",
                      "comparisonKeys",
                      "observationIds"
                    ],
                    "properties": {
                      "changeId": {
                        "type": "string",
                        "minLength": 1
                      },
                      "lessonIds": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "comparisonKeys": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "observationIds": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "created": {
                  "type": "object",
                  "required": [
                    "actorType",
                    "actorId",
                    "source",
                    "sessionId",
                    "occurredAt"
                  ],
                  "properties": {
                    "actorType": {
                      "enum": [
                        "human",
                        "agent",
                        "system"
                      ]
                    },
                    "actorId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "source": {
                      "enum": [
                        "studio",
                        "webmcp",
                        "mcp",
                        "system",
                        "agent-tool"
                      ]
                    },
                    "sessionId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "occurredAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "additionalProperties": false
                },
                "review": {
                  "anyOf": [
                    {
                      "type": "object",
                      "required": [
                        "actorType",
                        "actorId",
                        "source",
                        "sessionId",
                        "occurredAt",
                        "decision",
                        "reasonCode"
                      ],
                      "properties": {
                        "actorType": {
                          "enum": [
                            "human",
                            "agent",
                            "system"
                          ]
                        },
                        "actorId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "source": {
                          "enum": [
                            "studio",
                            "webmcp",
                            "mcp",
                            "system",
                            "agent-tool"
                          ]
                        },
                        "sessionId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "occurredAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "decision": {
                          "enum": [
                            "approved",
                            "rejected"
                          ]
                        },
                        "reasonCode": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "publicationStatus": {
                  "const": "not-published"
                }
              },
              "additionalProperties": false
            }
          ]
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "inputFingerprint",
            "operation",
            "subjectId",
            "aggregateRevision",
            "ledgerSequence",
            "acceptedAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "operation": {
              "enum": [
                "record-observation",
                "record-lesson",
                "create-template-proposal",
                "review-template-proposal"
              ]
            },
            "subjectId": {
              "type": "string",
              "minLength": 1
            },
            "aggregateRevision": {
              "type": "integer",
              "minimum": 1
            },
            "ledgerSequence": {
              "type": "integer",
              "minimum": 1
            },
            "acceptedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "duplicate": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT",
      "POST_EVENT_REVIEW_NOT_FOUND",
      "POST_EVENT_TOOL_UNAVAILABLE",
      "POST_EVENT_INVALID",
      "POST_EVENT_REVISION_CONFLICT",
      "POST_EVENT_EVIDENCE_INVALID",
      "POST_EVENT_OBSERVATION_CONFLICT",
      "POST_EVENT_COMPARISON_NOT_FOUND",
      "POST_EVENT_LESSON_NOT_FOUND",
      "POST_EVENT_TEMPLATE_PROPOSAL_NOT_FOUND",
      "POST_EVENT_TEMPLATE_PROPOSAL_INVALID",
      "POST_EVENT_LEDGER_INTEGRITY_FAILED"
    ]
  },
  {
    "name": "venue.record_post_event_lesson",
    "description": "Record one Lesson linked to a Comparison and frozen Requirement or Constraint IDs.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "lessonId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "comparisonKey": {
          "type": "string",
          "minLength": 1,
          "maxLength": 240
        },
        "lessonCode": {
          "type": "string",
          "minLength": 2,
          "maxLength": 64,
          "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
        },
        "findingCode": {
          "type": "string",
          "minLength": 2,
          "maxLength": 64,
          "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
        },
        "recommendedActionCode": {
          "type": "string",
          "minLength": 2,
          "maxLength": 64,
          "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
        },
        "requirementIds": {
          "type": "array",
          "maxItems": 100,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "constraintIds": {
          "type": "array",
          "maxItems": 100,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "expectedRevision": {
          "type": "integer",
          "minimum": 0
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "lessonId",
        "comparisonKey",
        "lessonCode",
        "findingCode",
        "recommendedActionCode",
        "requirementIds",
        "constraintIds",
        "expectedRevision",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Record Post Event Lesson",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:operate"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "lessonId": "lesson-capacity-buffer",
      "comparisonKey": "occupancy:peak-persons:venue:venue",
      "lessonCode": "CAPACITY_BUFFER",
      "findingCode": "PEAK_ABOVE_MODEL",
      "recommendedActionCode": "INCREASE_BUFFER",
      "requirementIds": [
        "req-theater-seating"
      ],
      "constraintIds": [
        "constraint-capacity"
      ],
      "expectedRevision": 1,
      "idempotencyKey": "example-post-event-lesson-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "review",
        "subject",
        "receipt",
        "duplicate"
      ],
      "properties": {
        "review": {
          "$ref": "https://venuemind.dev/schemas/post-event-review.schema.json"
        },
        "subject": {
          "oneOf": [
            {
              "type": "object",
              "required": [
                "schemaVersion",
                "id",
                "predictionKey",
                "family",
                "metric",
                "scope",
                "value",
                "unit",
                "confidence",
                "evidenceRefs",
                "recorded"
              ],
              "properties": {
                "schemaVersion": {
                  "const": 1
                },
                "id": {
                  "type": "string",
                  "minLength": 1
                },
                "predictionKey": {
                  "type": "string",
                  "minLength": 1
                },
                "family": {
                  "enum": [
                    "occupancy",
                    "queue",
                    "flow",
                    "incidents"
                  ]
                },
                "metric": {
                  "enum": [
                    "peak-persons",
                    "utilization-ratio",
                    "average-wait-seconds",
                    "p95-wait-seconds",
                    "maximum-queue-persons",
                    "abandonment-ratio",
                    "clearance-seconds",
                    "peak-congestion-index",
                    "backlog-persons",
                    "incident-count",
                    "resolution-seconds"
                  ]
                },
                "scope": {
                  "type": "object",
                  "required": [
                    "kind",
                    "id"
                  ],
                  "properties": {
                    "kind": {
                      "enum": [
                        "venue",
                        "occupancy-zone",
                        "queue",
                        "route",
                        "incident-category"
                      ]
                    },
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 160
                    }
                  },
                  "additionalProperties": false
                },
                "value": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "unit": {
                  "enum": [
                    "persons",
                    "ratio",
                    "seconds",
                    "index",
                    "incidents"
                  ]
                },
                "confidence": {
                  "enum": [
                    "measured",
                    "estimated",
                    "unavailable"
                  ]
                },
                "evidenceRefs": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 50,
                  "items": {
                    "type": "object",
                    "required": [
                      "kind",
                      "id",
                      "fingerprint"
                    ],
                    "properties": {
                      "kind": {
                        "enum": [
                          "accepted-plan",
                          "runbook",
                          "occupancy-monitor",
                          "occupancy-projection",
                          "incident-register",
                          "deviation-register",
                          "scenario-run"
                        ]
                      },
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      },
                      "fingerprint": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "recorded": {
                  "type": "object",
                  "required": [
                    "actorType",
                    "actorId",
                    "source",
                    "sessionId",
                    "occurredAt"
                  ],
                  "properties": {
                    "actorType": {
                      "enum": [
                        "human",
                        "agent",
                        "system"
                      ]
                    },
                    "actorId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "source": {
                      "enum": [
                        "studio",
                        "webmcp",
                        "mcp",
                        "system",
                        "agent-tool"
                      ]
                    },
                    "sessionId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "occurredAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "schemaVersion",
                "id",
                "comparisonKey",
                "family",
                "lessonCode",
                "findingCode",
                "recommendedActionCode",
                "requirementIds",
                "constraintIds",
                "recorded"
              ],
              "properties": {
                "schemaVersion": {
                  "const": 1
                },
                "id": {
                  "type": "string",
                  "minLength": 1
                },
                "comparisonKey": {
                  "type": "string",
                  "minLength": 1
                },
                "family": {
                  "enum": [
                    "occupancy",
                    "queue",
                    "flow",
                    "incidents"
                  ]
                },
                "lessonCode": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 64,
                  "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
                },
                "findingCode": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 64,
                  "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
                },
                "recommendedActionCode": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 64,
                  "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
                },
                "requirementIds": {
                  "type": "array",
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "constraintIds": {
                  "type": "array",
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "recorded": {
                  "type": "object",
                  "required": [
                    "actorType",
                    "actorId",
                    "source",
                    "sessionId",
                    "occurredAt"
                  ],
                  "properties": {
                    "actorType": {
                      "enum": [
                        "human",
                        "agent",
                        "system"
                      ]
                    },
                    "actorId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "source": {
                      "enum": [
                        "studio",
                        "webmcp",
                        "mcp",
                        "system",
                        "agent-tool"
                      ]
                    },
                    "sessionId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "occurredAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "schemaVersion",
                "id",
                "revision",
                "status",
                "target",
                "proposal",
                "traces",
                "created",
                "review",
                "publicationStatus"
              ],
              "properties": {
                "schemaVersion": {
                  "const": 1
                },
                "id": {
                  "type": "string",
                  "minLength": 1
                },
                "revision": {
                  "type": "integer",
                  "minimum": 1
                },
                "status": {
                  "enum": [
                    "pending-human-review",
                    "approved-recommendation",
                    "rejected"
                  ]
                },
                "target": {
                  "type": "object",
                  "required": [
                    "kind",
                    "templateId",
                    "version"
                  ],
                  "properties": {
                    "kind": {
                      "enum": [
                        "venue",
                        "room"
                      ]
                    },
                    "templateId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "version": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                "proposal": {
                  "type": "object",
                  "required": [
                    "id",
                    "baseVersion",
                    "revision",
                    "status",
                    "goal",
                    "changes",
                    "waivers",
                    "validation",
                    "lineage"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "baseVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "revision": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "status": {
                      "const": "review"
                    },
                    "goal": {
                      "type": "string",
                      "minLength": 1
                    },
                    "changes": {
                      "type": "array",
                      "minItems": 1,
                      "maxItems": 100,
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "effects"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 160
                          },
                          "title": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 240
                          },
                          "shortTitle": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 120
                          },
                          "label": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 240
                          },
                          "targetObjectIds": {
                            "type": "array",
                            "maxItems": 100,
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "targetRequirementIds": {
                            "type": "array",
                            "maxItems": 100,
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "effects": {
                            "type": "object",
                            "minProperties": 1,
                            "additionalProperties": {
                              "oneOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "number"
                                },
                                {
                                  "type": "boolean"
                                },
                                {
                                  "type": "object",
                                  "required": [
                                    "kind",
                                    "sourceId",
                                    "sourceChecksum"
                                  ],
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "sourceId": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "sourceChecksum": {
                                      "type": "string",
                                      "minLength": 1
                                    }
                                  },
                                  "additionalProperties": false
                                }
                              ]
                            }
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "waivers": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "validation": {
                      "anyOf": [
                        {
                          "type": "object"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "lineage": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "traces": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "changeId",
                      "lessonIds",
                      "comparisonKeys",
                      "observationIds"
                    ],
                    "properties": {
                      "changeId": {
                        "type": "string",
                        "minLength": 1
                      },
                      "lessonIds": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "comparisonKeys": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "observationIds": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "created": {
                  "type": "object",
                  "required": [
                    "actorType",
                    "actorId",
                    "source",
                    "sessionId",
                    "occurredAt"
                  ],
                  "properties": {
                    "actorType": {
                      "enum": [
                        "human",
                        "agent",
                        "system"
                      ]
                    },
                    "actorId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "source": {
                      "enum": [
                        "studio",
                        "webmcp",
                        "mcp",
                        "system",
                        "agent-tool"
                      ]
                    },
                    "sessionId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "occurredAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "additionalProperties": false
                },
                "review": {
                  "anyOf": [
                    {
                      "type": "object",
                      "required": [
                        "actorType",
                        "actorId",
                        "source",
                        "sessionId",
                        "occurredAt",
                        "decision",
                        "reasonCode"
                      ],
                      "properties": {
                        "actorType": {
                          "enum": [
                            "human",
                            "agent",
                            "system"
                          ]
                        },
                        "actorId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "source": {
                          "enum": [
                            "studio",
                            "webmcp",
                            "mcp",
                            "system",
                            "agent-tool"
                          ]
                        },
                        "sessionId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "occurredAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "decision": {
                          "enum": [
                            "approved",
                            "rejected"
                          ]
                        },
                        "reasonCode": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "publicationStatus": {
                  "const": "not-published"
                }
              },
              "additionalProperties": false
            }
          ]
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "inputFingerprint",
            "operation",
            "subjectId",
            "aggregateRevision",
            "ledgerSequence",
            "acceptedAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "operation": {
              "enum": [
                "record-observation",
                "record-lesson",
                "create-template-proposal",
                "review-template-proposal"
              ]
            },
            "subjectId": {
              "type": "string",
              "minLength": 1
            },
            "aggregateRevision": {
              "type": "integer",
              "minimum": 1
            },
            "ledgerSequence": {
              "type": "integer",
              "minimum": 1
            },
            "acceptedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "duplicate": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT",
      "POST_EVENT_REVIEW_NOT_FOUND",
      "POST_EVENT_TOOL_UNAVAILABLE",
      "POST_EVENT_INVALID",
      "POST_EVENT_REVISION_CONFLICT",
      "POST_EVENT_EVIDENCE_INVALID",
      "POST_EVENT_OBSERVATION_CONFLICT",
      "POST_EVENT_COMPARISON_NOT_FOUND",
      "POST_EVENT_LESSON_NOT_FOUND",
      "POST_EVENT_TEMPLATE_PROPOSAL_NOT_FOUND",
      "POST_EVENT_TEMPLATE_PROPOSAL_INVALID",
      "POST_EVENT_LEDGER_INTEGRITY_FAILED"
    ]
  },
  {
    "name": "venue.create_template_improvement_proposal",
    "description": "Create an evidence-traced Template Improvement Proposal pending human review.",
    "inputSchema": {
      "type": "object",
      "properties": {
        "proposalId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 160
        },
        "goal": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2000
        },
        "target": {
          "type": "object",
          "required": [
            "kind",
            "templateId",
            "version"
          ],
          "properties": {
            "kind": {
              "enum": [
                "venue",
                "room"
              ]
            },
            "templateId": {
              "type": "string",
              "minLength": 1
            },
            "version": {
              "type": "string",
              "minLength": 1
            }
          },
          "additionalProperties": false
        },
        "changes": {
          "type": "array",
          "minItems": 1,
          "maxItems": 100,
          "items": {
            "type": "object",
            "required": [
              "id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              },
              "number": {
                "type": "integer",
                "minimum": 1
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 240
              },
              "shortTitle": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "label": {
                "type": "string",
                "minLength": 1,
                "maxLength": 240
              },
              "editor": {
                "type": "object"
              },
              "metrics": {
                "type": "array",
                "items": {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "items": {
                    "type": "string"
                  }
                }
              },
              "targetObjectIds": {
                "type": "array",
                "maxItems": 100,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "targetRequirementIds": {
                "type": "array",
                "maxItems": 100,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "effects": {
                "type": "object"
              },
              "planningEffects": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              },
              "spatialEffects": {
                "type": "array",
                "maxItems": 100,
                "items": {
                  "type": "object"
                }
              },
              "semantic": {
                "type": "object"
              },
              "lineage": {
                "type": "object"
              },
              "templateUpdate": {
                "type": "object"
              }
            },
            "additionalProperties": false
          }
        },
        "changeLessonLinks": {
          "type": "array",
          "minItems": 1,
          "maxItems": 100,
          "items": {
            "type": "object",
            "required": [
              "changeId",
              "lessonIds"
            ],
            "properties": {
              "changeId": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              },
              "lessonIds": {
                "type": "array",
                "minItems": 1,
                "maxItems": 100,
                "uniqueItems": true,
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              }
            },
            "additionalProperties": false
          }
        },
        "expectedRevision": {
          "type": "integer",
          "minimum": 0
        },
        "idempotencyKey": {
          "type": "string",
          "minLength": 1,
          "description": "Unique retry key for this semantic command."
        },
        "correlationId": {
          "type": "string",
          "minLength": 1,
          "description": "Optional caller correlation identifier."
        }
      },
      "required": [
        "proposalId",
        "goal",
        "target",
        "changes",
        "changeLessonLinks",
        "expectedRevision",
        "idempotencyKey"
      ],
      "additionalProperties": false
    },
    "title": "Create Template Improvement Proposal",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:propose"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 262144
    },
    "exampleInput": {
      "proposalId": "template-proposal-capacity",
      "goal": "Increase the standard capacity buffer",
      "target": {
        "kind": "room",
        "templateId": "room-template-harborview-main-hall",
        "version": "1.0.0"
      },
      "changes": [
        {
          "id": "change-capacity-buffer",
          "effects": {
            "capacityBuffer": 20
          }
        }
      ],
      "changeLessonLinks": [
        {
          "changeId": "change-capacity-buffer",
          "lessonIds": [
            "lesson-capacity-buffer"
          ]
        }
      ],
      "expectedRevision": 2,
      "idempotencyKey": "example-template-improvement-001"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "review",
        "subject",
        "receipt",
        "duplicate"
      ],
      "properties": {
        "review": {
          "$ref": "https://venuemind.dev/schemas/post-event-review.schema.json"
        },
        "subject": {
          "oneOf": [
            {
              "type": "object",
              "required": [
                "schemaVersion",
                "id",
                "predictionKey",
                "family",
                "metric",
                "scope",
                "value",
                "unit",
                "confidence",
                "evidenceRefs",
                "recorded"
              ],
              "properties": {
                "schemaVersion": {
                  "const": 1
                },
                "id": {
                  "type": "string",
                  "minLength": 1
                },
                "predictionKey": {
                  "type": "string",
                  "minLength": 1
                },
                "family": {
                  "enum": [
                    "occupancy",
                    "queue",
                    "flow",
                    "incidents"
                  ]
                },
                "metric": {
                  "enum": [
                    "peak-persons",
                    "utilization-ratio",
                    "average-wait-seconds",
                    "p95-wait-seconds",
                    "maximum-queue-persons",
                    "abandonment-ratio",
                    "clearance-seconds",
                    "peak-congestion-index",
                    "backlog-persons",
                    "incident-count",
                    "resolution-seconds"
                  ]
                },
                "scope": {
                  "type": "object",
                  "required": [
                    "kind",
                    "id"
                  ],
                  "properties": {
                    "kind": {
                      "enum": [
                        "venue",
                        "occupancy-zone",
                        "queue",
                        "route",
                        "incident-category"
                      ]
                    },
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 160
                    }
                  },
                  "additionalProperties": false
                },
                "value": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "unit": {
                  "enum": [
                    "persons",
                    "ratio",
                    "seconds",
                    "index",
                    "incidents"
                  ]
                },
                "confidence": {
                  "enum": [
                    "measured",
                    "estimated",
                    "unavailable"
                  ]
                },
                "evidenceRefs": {
                  "type": "array",
                  "minItems": 1,
                  "maxItems": 50,
                  "items": {
                    "type": "object",
                    "required": [
                      "kind",
                      "id",
                      "fingerprint"
                    ],
                    "properties": {
                      "kind": {
                        "enum": [
                          "accepted-plan",
                          "runbook",
                          "occupancy-monitor",
                          "occupancy-projection",
                          "incident-register",
                          "deviation-register",
                          "scenario-run"
                        ]
                      },
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 160
                      },
                      "fingerprint": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "recorded": {
                  "type": "object",
                  "required": [
                    "actorType",
                    "actorId",
                    "source",
                    "sessionId",
                    "occurredAt"
                  ],
                  "properties": {
                    "actorType": {
                      "enum": [
                        "human",
                        "agent",
                        "system"
                      ]
                    },
                    "actorId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "source": {
                      "enum": [
                        "studio",
                        "webmcp",
                        "mcp",
                        "system",
                        "agent-tool"
                      ]
                    },
                    "sessionId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "occurredAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "schemaVersion",
                "id",
                "comparisonKey",
                "family",
                "lessonCode",
                "findingCode",
                "recommendedActionCode",
                "requirementIds",
                "constraintIds",
                "recorded"
              ],
              "properties": {
                "schemaVersion": {
                  "const": 1
                },
                "id": {
                  "type": "string",
                  "minLength": 1
                },
                "comparisonKey": {
                  "type": "string",
                  "minLength": 1
                },
                "family": {
                  "enum": [
                    "occupancy",
                    "queue",
                    "flow",
                    "incidents"
                  ]
                },
                "lessonCode": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 64,
                  "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
                },
                "findingCode": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 64,
                  "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
                },
                "recommendedActionCode": {
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 64,
                  "pattern": "^[A-Z][A-Z0-9_]{1,63}$"
                },
                "requirementIds": {
                  "type": "array",
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "constraintIds": {
                  "type": "array",
                  "maxItems": 100,
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "recorded": {
                  "type": "object",
                  "required": [
                    "actorType",
                    "actorId",
                    "source",
                    "sessionId",
                    "occurredAt"
                  ],
                  "properties": {
                    "actorType": {
                      "enum": [
                        "human",
                        "agent",
                        "system"
                      ]
                    },
                    "actorId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "source": {
                      "enum": [
                        "studio",
                        "webmcp",
                        "mcp",
                        "system",
                        "agent-tool"
                      ]
                    },
                    "sessionId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "occurredAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "additionalProperties": false
            },
            {
              "type": "object",
              "required": [
                "schemaVersion",
                "id",
                "revision",
                "status",
                "target",
                "proposal",
                "traces",
                "created",
                "review",
                "publicationStatus"
              ],
              "properties": {
                "schemaVersion": {
                  "const": 1
                },
                "id": {
                  "type": "string",
                  "minLength": 1
                },
                "revision": {
                  "type": "integer",
                  "minimum": 1
                },
                "status": {
                  "enum": [
                    "pending-human-review",
                    "approved-recommendation",
                    "rejected"
                  ]
                },
                "target": {
                  "type": "object",
                  "required": [
                    "kind",
                    "templateId",
                    "version"
                  ],
                  "properties": {
                    "kind": {
                      "enum": [
                        "venue",
                        "room"
                      ]
                    },
                    "templateId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "version": {
                      "type": "string",
                      "minLength": 1
                    }
                  },
                  "additionalProperties": false
                },
                "proposal": {
                  "type": "object",
                  "required": [
                    "id",
                    "baseVersion",
                    "revision",
                    "status",
                    "goal",
                    "changes",
                    "waivers",
                    "validation",
                    "lineage"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "baseVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "revision": {
                      "type": "integer",
                      "minimum": 1
                    },
                    "status": {
                      "const": "review"
                    },
                    "goal": {
                      "type": "string",
                      "minLength": 1
                    },
                    "changes": {
                      "type": "array",
                      "minItems": 1,
                      "maxItems": 100,
                      "items": {
                        "type": "object",
                        "required": [
                          "id",
                          "effects"
                        ],
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 160
                          },
                          "title": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 240
                          },
                          "shortTitle": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 120
                          },
                          "label": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 240
                          },
                          "targetObjectIds": {
                            "type": "array",
                            "maxItems": 100,
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "targetRequirementIds": {
                            "type": "array",
                            "maxItems": 100,
                            "uniqueItems": true,
                            "items": {
                              "type": "string",
                              "minLength": 1
                            }
                          },
                          "effects": {
                            "type": "object",
                            "minProperties": 1,
                            "additionalProperties": {
                              "oneOf": [
                                {
                                  "type": "string"
                                },
                                {
                                  "type": "number"
                                },
                                {
                                  "type": "boolean"
                                },
                                {
                                  "type": "object",
                                  "required": [
                                    "kind",
                                    "sourceId",
                                    "sourceChecksum"
                                  ],
                                  "properties": {
                                    "kind": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "sourceId": {
                                      "type": "string",
                                      "minLength": 1
                                    },
                                    "sourceChecksum": {
                                      "type": "string",
                                      "minLength": 1
                                    }
                                  },
                                  "additionalProperties": false
                                }
                              ]
                            }
                          }
                        },
                        "additionalProperties": false
                      }
                    },
                    "waivers": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "validation": {
                      "anyOf": [
                        {
                          "type": "object"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "lineage": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "traces": {
                  "type": "array",
                  "minItems": 1,
                  "items": {
                    "type": "object",
                    "required": [
                      "changeId",
                      "lessonIds",
                      "comparisonKeys",
                      "observationIds"
                    ],
                    "properties": {
                      "changeId": {
                        "type": "string",
                        "minLength": 1
                      },
                      "lessonIds": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "comparisonKeys": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "observationIds": {
                        "type": "array",
                        "minItems": 1,
                        "uniqueItems": true,
                        "items": {
                          "type": "string",
                          "minLength": 1
                        }
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "created": {
                  "type": "object",
                  "required": [
                    "actorType",
                    "actorId",
                    "source",
                    "sessionId",
                    "occurredAt"
                  ],
                  "properties": {
                    "actorType": {
                      "enum": [
                        "human",
                        "agent",
                        "system"
                      ]
                    },
                    "actorId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "source": {
                      "enum": [
                        "studio",
                        "webmcp",
                        "mcp",
                        "system",
                        "agent-tool"
                      ]
                    },
                    "sessionId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "occurredAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "additionalProperties": false
                },
                "review": {
                  "anyOf": [
                    {
                      "type": "object",
                      "required": [
                        "actorType",
                        "actorId",
                        "source",
                        "sessionId",
                        "occurredAt",
                        "decision",
                        "reasonCode"
                      ],
                      "properties": {
                        "actorType": {
                          "enum": [
                            "human",
                            "agent",
                            "system"
                          ]
                        },
                        "actorId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "source": {
                          "enum": [
                            "studio",
                            "webmcp",
                            "mcp",
                            "system",
                            "agent-tool"
                          ]
                        },
                        "sessionId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "occurredAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "decision": {
                          "enum": [
                            "approved",
                            "rejected"
                          ]
                        },
                        "reasonCode": {
                          "type": "string",
                          "minLength": 1
                        }
                      },
                      "additionalProperties": false
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "publicationStatus": {
                  "const": "not-published"
                }
              },
              "additionalProperties": false
            }
          ]
        },
        "receipt": {
          "type": "object",
          "required": [
            "id",
            "idempotencyKey",
            "inputFingerprint",
            "operation",
            "subjectId",
            "aggregateRevision",
            "ledgerSequence",
            "acceptedAt"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1
            },
            "idempotencyKey": {
              "type": "string",
              "minLength": 1
            },
            "inputFingerprint": {
              "type": "string",
              "minLength": 1
            },
            "operation": {
              "enum": [
                "record-observation",
                "record-lesson",
                "create-template-proposal",
                "review-template-proposal"
              ]
            },
            "subjectId": {
              "type": "string",
              "minLength": 1
            },
            "aggregateRevision": {
              "type": "integer",
              "minimum": 1
            },
            "ledgerSequence": {
              "type": "integer",
              "minimum": 1
            },
            "acceptedAt": {
              "type": "string",
              "format": "date-time"
            }
          },
          "additionalProperties": false
        },
        "duplicate": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "IDEMPOTENCY_KEY_REQUIRED",
      "IDEMPOTENCY_KEY_CONFLICT",
      "POST_EVENT_REVIEW_NOT_FOUND",
      "POST_EVENT_TOOL_UNAVAILABLE",
      "POST_EVENT_INVALID",
      "POST_EVENT_REVISION_CONFLICT",
      "POST_EVENT_EVIDENCE_INVALID",
      "POST_EVENT_OBSERVATION_CONFLICT",
      "POST_EVENT_COMPARISON_NOT_FOUND",
      "POST_EVENT_LESSON_NOT_FOUND",
      "POST_EVENT_TEMPLATE_PROPOSAL_NOT_FOUND",
      "POST_EVENT_TEMPLATE_PROPOSAL_INVALID",
      "POST_EVENT_LEDGER_INTEGRITY_FAILED"
    ]
  },
  {
    "name": "venue.export_post_event_report",
    "description": "Export an integrity-verified Post-event Report with provenance and ledger evidence.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "format": {
          "enum": [
            "json",
            "text"
          ],
          "default": "json"
        }
      },
      "additionalProperties": false
    },
    "title": "Export Post Event Report",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:export"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 2000000
    },
    "exampleInput": {
      "format": "json"
    },
    "outputSchema": {
      "type": "object",
      "required": [
        "filename",
        "mimeType",
        "content"
      ],
      "properties": {
        "filename": {
          "type": "string",
          "minLength": 1
        },
        "mimeType": {
          "enum": [
            "application/json",
            "text/plain"
          ]
        },
        "content": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR",
      "POST_EVENT_REVIEW_NOT_FOUND",
      "POST_EVENT_TOOL_UNAVAILABLE",
      "POST_EVENT_INVALID",
      "POST_EVENT_REVISION_CONFLICT",
      "POST_EVENT_EVIDENCE_INVALID",
      "POST_EVENT_OBSERVATION_CONFLICT",
      "POST_EVENT_COMPARISON_NOT_FOUND",
      "POST_EVENT_LESSON_NOT_FOUND",
      "POST_EVENT_TEMPLATE_PROPOSAL_NOT_FOUND",
      "POST_EVENT_TEMPLATE_PROPOSAL_INVALID",
      "POST_EVENT_LEDGER_INTEGRITY_FAILED"
    ]
  },
  {
    "name": "venue.export_audit_package",
    "description": "Export the portable audit package with Plan, Proposal, Validation, receipts, Comments, replay, and hash-chained Activity Ledger evidence.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    },
    "title": "Export Audit Package",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:export"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 2000000
    },
    "exampleInput": {},
    "outputSchema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "https://venuemind.dev/schemas/plan-export.schema.json",
      "title": "VenueMind Plan Export",
      "type": "object",
      "required": [
        "format",
        "filename",
        "mimeType",
        "encoding",
        "content"
      ],
      "properties": {
        "format": {
          "enum": [
            "json",
            "text",
            "svg",
            "pdf",
            "pdf-emergency",
            "csv",
            "csv-objects",
            "csv-inventory",
            "csv-staffing",
            "svg-post-map",
            "csv-production",
            "svg-production",
            "csv-catering-stations",
            "csv-replenishment",
            "audit"
          ]
        },
        "filename": {
          "type": "string",
          "minLength": 1
        },
        "mimeType": {
          "type": "string",
          "minLength": 1
        },
        "encoding": {
          "enum": [
            "utf8",
            "base64"
          ]
        },
        "content": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  },
  {
    "name": "venue.export_plan",
    "description": "Export the validated Plan as JSON, compact text, layered SVG, print-ready plan or emergency PDF, object, inventory, staffing, production, catering, or replenishment CSV, staffing or production SVG, or a portable audit package.",
    "annotations": {
      "readOnlyHint": true
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "format": {
          "type": "string",
          "enum": [
            "json",
            "text",
            "svg",
            "pdf",
            "pdf-emergency",
            "csv",
            "csv-objects",
            "csv-inventory",
            "csv-staffing",
            "svg-post-map",
            "csv-production",
            "svg-production",
            "csv-catering-stations",
            "csv-replenishment",
            "audit"
          ],
          "default": "json"
        }
      },
      "additionalProperties": false
    },
    "title": "Export Plan",
    "contractVersion": "1.6.0",
    "authorization": {
      "requiredScope": "venue:export"
    },
    "limits": {
      "maximumInputBytes": 65536,
      "maximumOutputBytes": 2000000
    },
    "exampleInput": {
      "format": "json"
    },
    "outputSchema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "$id": "https://venuemind.dev/schemas/plan-export.schema.json",
      "title": "VenueMind Plan Export",
      "type": "object",
      "required": [
        "format",
        "filename",
        "mimeType",
        "encoding",
        "content"
      ],
      "properties": {
        "format": {
          "enum": [
            "json",
            "text",
            "svg",
            "pdf",
            "pdf-emergency",
            "csv",
            "csv-objects",
            "csv-inventory",
            "csv-staffing",
            "svg-post-map",
            "csv-production",
            "svg-production",
            "csv-catering-stations",
            "csv-replenishment",
            "audit"
          ]
        },
        "filename": {
          "type": "string",
          "minLength": 1
        },
        "mimeType": {
          "type": "string",
          "minLength": 1
        },
        "encoding": {
          "enum": [
            "utf8",
            "base64"
          ]
        },
        "content": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "errors": [
      "TOOL_SCOPE_REQUIRED",
      "AUTHORIZATION_DENIED",
      "AGENT_GRANT_INVALID",
      "TOOL_PAYLOAD_TOO_LARGE",
      "TOOL_CALL_CANCELLED",
      "VENUE_INTERNAL_ERROR"
    ]
  }
]
