{
  "COMMAND_INVALID": {
    "code": "COMMAND_INVALID",
    "message": "Venue command requires a type.",
    "remediation": "Send one published Venue command with its required fields."
  },
  "COMMAND_UNSUPPORTED": {
    "code": "COMMAND_UNSUPPORTED",
    "message": "Venue command is not supported.",
    "remediation": "Refresh the command contract and use a published command type."
  },
  "IDEMPOTENCY_KEY_REQUIRED": {
    "code": "IDEMPOTENCY_KEY_REQUIRED",
    "message": "Idempotency key is required for mutating commands.",
    "remediation": "Retry with one stable idempotency key for this semantic action."
  },
  "IDEMPOTENCY_KEY_CONFLICT": {
    "code": "IDEMPOTENCY_KEY_CONFLICT",
    "message": "Idempotency key conflict.",
    "remediation": "Use the original command input or generate a new idempotency key."
  },
  "SNAPSHOT_INVALID": {
    "code": "SNAPSHOT_INVALID",
    "message": "Invalid VenueMind snapshot.",
    "remediation": "Restore a canonical Project schema 10 snapshot containing a Plan, Proposal, and Activity Ledger."
  },
  "PROJECT_SCHEMA_UNSUPPORTED": {
    "code": "PROJECT_SCHEMA_UNSUPPORTED",
    "message": "Project schema is unsupported.",
    "remediation": "Use a Project schema 10 record."
  },
  "ADJUSTMENT_REQUIRED": {
    "code": "ADJUSTMENT_REQUIRED",
    "message": "Adjustment instruction is required.",
    "remediation": "Provide a concise operational adjustment."
  },
  "PROPOSAL_NOT_REVIEWABLE": {
    "code": "PROPOSAL_NOT_REVIEWABLE",
    "message": "Only a Proposal under review can be changed.",
    "remediation": "Create or activate a Proposal with review status before changing it."
  },
  "PROPOSAL_MISMATCH": {
    "code": "PROPOSAL_MISMATCH",
    "message": "Proposal ID does not match the active Proposal.",
    "remediation": "Inspect the active Proposal and retry with its stable ID."
  },
  "PROPOSAL_EMPTY": {
    "code": "PROPOSAL_EMPTY",
    "message": "Proposal contains no executable Changes.",
    "remediation": "Keep accepted truth unchanged; create a Proposal only after at least one planning Change exists."
  },
  "PLANNING_EFFECT_INVALID": {
    "code": "PLANNING_EFFECT_INVALID",
    "message": "Persisted Planning Effect is invalid.",
    "remediation": "Restore a snapshot whose active and historical Proposal Changes conform to the published Planning Effect schema."
  },
  "BRANCH_NAME_REQUIRED": {
    "code": "BRANCH_NAME_REQUIRED",
    "message": "Proposal Branch name is required.",
    "remediation": "Provide a non-empty Branch name."
  },
  "BRANCH_NOT_FOUND": {
    "code": "BRANCH_NOT_FOUND",
    "message": "Proposal Branch not found.",
    "remediation": "List Proposal Branches and retry with an existing stable Branch ID."
  },
  "REBASE_CONFLICT": {
    "code": "REBASE_CONFLICT",
    "message": "Unresolved Proposal conflicts block rebase.",
    "remediation": "Resolve blocking conflicts, then retry the rebase."
  },
  "CONFLICT_NOT_FOUND": {
    "code": "CONFLICT_NOT_FOUND",
    "message": "Proposal conflict not found.",
    "remediation": "Detect current Proposal conflicts and retry with a stable conflict ID."
  },
  "CONFLICT_RESOLUTION_INVALID": {
    "code": "CONFLICT_RESOLUTION_INVALID",
    "message": "Conflict resolution is not valid for this conflict.",
    "remediation": "Choose one of the conflict's published resolution options."
  },
  "CONFLICT_HUMAN_REQUIRED": {
    "code": "CONFLICT_HUMAN_REQUIRED",
    "message": "Only a human can resolve a Proposal conflict.",
    "remediation": "Ask an authorized human operator to choose a conflict outcome in VenueMind Studio."
  },
  "LOCK_CONFLICT": {
    "code": "LOCK_CONFLICT",
    "message": "Proposal Change conflicts with an active Lock.",
    "remediation": "Remove the locked property mutation or have a human release the applicable Project Lock."
  },
  "LOCK_HUMAN_REQUIRED": {
    "code": "LOCK_HUMAN_REQUIRED",
    "message": "Only a human can manage Project Locks.",
    "remediation": "Ask an authorized human operator to add or release the Project Lock."
  },
  "LOCK_OBJECT_NOT_FOUND": {
    "code": "LOCK_OBJECT_NOT_FOUND",
    "message": "Lock target object not found.",
    "remediation": "Inspect stable object IDs and retry with an object in the active Plan."
  },
  "LOCK_TYPE_INVALID": {
    "code": "LOCK_TYPE_INVALID",
    "message": "Lock type is invalid.",
    "remediation": "Use position, rotation, dimension, deletion, or role."
  },
  "LOCK_NOT_FOUND": {
    "code": "LOCK_NOT_FOUND",
    "message": "Project Lock not found.",
    "remediation": "Inspect Project Locks and retry with an active stable Lock ID."
  },
  "PLAN_VERSION_CONFLICT": {
    "code": "PLAN_VERSION_CONFLICT",
    "message": "Plan version conflict.",
    "remediation": "Inspect the latest Plan Version and create or rebase the Proposal before retrying."
  },
  "OPERATIONAL_RESOURCE_FRESHNESS_REQUIRED": {
    "code": "OPERATIONAL_RESOURCE_FRESHNESS_REQUIRED",
    "message": "Operational resource freshness proof is required.",
    "remediation": "Resolve the latest trusted operational-resource snapshot for this Project before approving the Proposal."
  },
  "OPERATIONAL_RESOURCE_STALE": {
    "code": "OPERATIONAL_RESOURCE_STALE",
    "message": "Operational resource evidence is stale.",
    "remediation": "Refresh operational resources, rebuild the substitution Proposal, and validate it again."
  },
  "VALIDATION_FAILED": {
    "code": "VALIDATION_FAILED",
    "message": "Proposal validation failed.",
    "remediation": "Resolve every hard Constraint failure and validate again."
  },
  "WARNING_WAIVER_REQUIRED": {
    "code": "WARNING_WAIVER_REQUIRED",
    "message": "Proposal has warnings that require a human Warning Waiver.",
    "remediation": "Have a human record a reason-coded waiver for every open warning."
  },
  "EMERGENCY_REVIEW_REQUIRED": {
    "code": "EMERGENCY_REVIEW_REQUIRED",
    "message": "Emergency Plan Change requires an authorized human Emergency Review.",
    "remediation": "Supply a reviewer ID, authorized reviewer role, and explicit assumption acceptance in VenueMind Studio."
  },
  "EMERGENCY_REVIEW_UNAUTHORIZED": {
    "code": "EMERGENCY_REVIEW_UNAUTHORIZED",
    "message": "Emergency reviewer role is not authorized.",
    "remediation": "Use a reviewer assigned to one of the Emergency Plan's authorized reviewer roles."
  },
  "WAIVER_HUMAN_REQUIRED": {
    "code": "WAIVER_HUMAN_REQUIRED",
    "message": "Only a human can create a Warning Waiver.",
    "remediation": "Ask an authorized human operator to record the disposition in VenueMind Studio."
  },
  "WAIVER_AUTHOR_REQUIRED": {
    "code": "WAIVER_AUTHOR_REQUIRED",
    "message": "Warning Waiver requires an author ID.",
    "remediation": "Supply the authenticated or local operator identity."
  },
  "WAIVER_REASON_INVALID": {
    "code": "WAIVER_REASON_INVALID",
    "message": "Warning Waiver requires a supported reason code.",
    "remediation": "Choose one reason code from the Warning Waiver contract."
  },
  "WARNING_NOT_WAIVABLE": {
    "code": "WARNING_NOT_WAIVABLE",
    "message": "Constraint does not have a waivable warning.",
    "remediation": "Validate again and select an open warning Constraint."
  },
  "WARNING_ALREADY_WAIVED": {
    "code": "WARNING_ALREADY_WAIVED",
    "message": "Warning is already waived.",
    "remediation": "Use the existing Warning Waiver or revise the Proposal before recording another disposition."
  },
  "CONSTRAINT_NOT_FOUND": {
    "code": "CONSTRAINT_NOT_FOUND",
    "message": "Constraint not found.",
    "remediation": "Inspect the Plan and retry with an existing stable Constraint ID."
  },
  "CONSTRAINT_INVALID": {
    "code": "CONSTRAINT_INVALID",
    "message": "Constraint metadata is invalid.",
    "remediation": "Conform the Constraint to the published schema and retry."
  },
  "CONSTRAINT_DUPLICATE": {
    "code": "CONSTRAINT_DUPLICATE",
    "message": "Constraint ID is duplicated.",
    "remediation": "Assign a unique stable ID to every Constraint."
  },
  "CONSTRAINT_EVIDENCE_INVALID": {
    "code": "CONSTRAINT_EVIDENCE_INVALID",
    "message": "Constraint evidence is invalid.",
    "remediation": "Provide numeric evidence and threshold values required by the evaluator."
  },
  "CONSTRAINT_EVALUATOR_UNSUPPORTED": {
    "code": "CONSTRAINT_EVALUATOR_UNSUPPORTED",
    "message": "Constraint evaluator is not supported.",
    "remediation": "Use an evaluator published in the Venue Constraint schema."
  },
  "GEOMETRY_INVALID": {
    "code": "GEOMETRY_INVALID",
    "message": "Spatial geometry is invalid.",
    "remediation": "Correct the reported boundary, Footprint, unit, or operational metadata and validate again."
  },
  "SPATIAL_CHANGE_TARGET_MISSING": {
    "code": "SPATIAL_CHANGE_TARGET_MISSING",
    "message": "Spatial Change targets a missing object.",
    "remediation": "Inspect stable object IDs and rebuild the Change against the active Plan."
  },
  "SPATIAL_CHANGE_TARGET_EXISTS": {
    "code": "SPATIAL_CHANGE_TARGET_EXISTS",
    "message": "Spatial Change would reuse an existing object ID.",
    "remediation": "Create a new Project-scoped stable object ID and retry the placement."
  },
  "SPATIAL_CHANGE_UNSUPPORTED": {
    "code": "SPATIAL_CHANGE_UNSUPPORTED",
    "message": "Spatial Change operation is not supported.",
    "remediation": "Use a published spatial Change operation."
  },
  "TEMPLATE_VERSION_NOT_FOUND": {
    "code": "TEMPLATE_VERSION_NOT_FOUND",
    "message": "Template version not found.",
    "remediation": "List the template catalog and select a published template ID and version."
  },
  "TEMPLATE_SCHEMA_UNSUPPORTED": {
    "code": "TEMPLATE_SCHEMA_UNSUPPORTED",
    "message": "Template schema version is not supported.",
    "remediation": "Migrate the template document with a published migration path."
  },
  "TEMPLATE_BINDING_NOT_FOUND": {
    "code": "TEMPLATE_BINDING_NOT_FOUND",
    "message": "Project is not bound to this template.",
    "remediation": "Inspect the Project Template Binding and retry with its Room Template ID."
  },
  "TEMPLATE_VERSION_CURRENT": {
    "code": "TEMPLATE_VERSION_CURRENT",
    "message": "Project already uses this template version.",
    "remediation": "Select a newer published Room Template version."
  },
  "COMMENT_INVALID": {
    "code": "COMMENT_INVALID",
    "message": "Comment metadata is invalid.",
    "remediation": "Provide a non-empty comment body, supported status, and published fields."
  },
  "COMMENT_ANCHOR_INVALID": {
    "code": "COMMENT_ANCHOR_INVALID",
    "message": "Comment anchor does not resolve to an immutable VenueMind subject.",
    "remediation": "Inspect stable Project, Plan Version, Proposal, Change, Constraint, or coordinate identifiers and retry."
  },
  "COMMENT_AUTHOR_REQUIRED": {
    "code": "COMMENT_AUTHOR_REQUIRED",
    "message": "Comment action requires an author ID.",
    "remediation": "Supply the authenticated or local author identity."
  },
  "COMMENT_NOT_FOUND": {
    "code": "COMMENT_NOT_FOUND",
    "message": "Comment not found.",
    "remediation": "List comments and retry with an existing stable Comment ID."
  },
  "PROJECT_NOT_FOUND": {
    "code": "PROJECT_NOT_FOUND",
    "message": "Project not found.",
    "remediation": "List Projects and retry with an existing stable Project ID."
  },
  "PROJECT_TOOL_UNAVAILABLE": {
    "code": "PROJECT_TOOL_UNAVAILABLE",
    "message": "Project tools are unavailable in this session.",
    "remediation": "Open VenueMind from a Project-aware host and retry the Project operation."
  },
  "OBJECT_NOT_FOUND": {
    "code": "OBJECT_NOT_FOUND",
    "message": "Venue object not found.",
    "remediation": "Search objects and retry with an existing stable object ID."
  },
  "VALIDATION_NOT_FOUND": {
    "code": "VALIDATION_NOT_FOUND",
    "message": "Validation result not found.",
    "remediation": "Validate the current Proposal and retry with its Validation ID."
  },
  "SCENARIO_RUN_NOT_FOUND": {
    "code": "SCENARIO_RUN_NOT_FOUND",
    "message": "Scenario Run not found.",
    "remediation": "List Scenario Runs and retry with an existing stable Run ID."
  },
  "TOOL_SCOPE_REQUIRED": {
    "code": "TOOL_SCOPE_REQUIRED",
    "message": "Tool authorization scope is required.",
    "remediation": "Grant the published scope for this tool or use a read-only tool within the current session."
  },
  "AUTHORIZATION_DENIED": {
    "code": "AUTHORIZATION_DENIED",
    "message": "The current principal is not authorized for this VenueMind action.",
    "remediation": "Use an assigned Organization Membership Role or an active Organization- and Project-scoped Agent Grant containing the required permission."
  },
  "AGENT_GRANT_INVALID": {
    "code": "AGENT_GRANT_INVALID",
    "message": "Agent Grant is invalid.",
    "remediation": "Issue a complete Organization- and Project-scoped grant with published scopes and a lifetime of one hour or less."
  },
  "TOOL_PAYLOAD_TOO_LARGE": {
    "code": "TOOL_PAYLOAD_TOO_LARGE",
    "message": "Tool payload exceeds its published size limit.",
    "remediation": "Reduce the requested geometry or export payload and retry within the published byte limit."
  },
  "RESOURCE_LIMIT_EXCEEDED": {
    "code": "RESOURCE_LIMIT_EXCEEDED",
    "message": "Product resource limit exceeded.",
    "remediation": "Reduce the bounded collection, geometry complexity, nesting depth, or payload size and retry."
  },
  "TOOL_CALL_CANCELLED": {
    "code": "TOOL_CALL_CANCELLED",
    "message": "Tool call was cancelled.",
    "remediation": "Retry only if the caller still needs the operation, using the same idempotency key for an interrupted mutation."
  },
  "LEDGER_INTEGRITY_FAILED": {
    "code": "LEDGER_INTEGRITY_FAILED",
    "message": "Activity Ledger integrity failed.",
    "remediation": "Restore an untampered snapshot or recover the last verified Project record."
  },
  "RUNBOOK_SCHEDULE_REQUIRED": {
    "code": "RUNBOOK_SCHEDULE_REQUIRED",
    "message": "Event Day Runbook requires an accepted canonical schedule.",
    "remediation": "Set and approve an Event Brief schedule with canonical start, end, and timezone values."
  },
  "RUNBOOK_DEFINITION_INVALID": {
    "code": "RUNBOOK_DEFINITION_INVALID",
    "message": "Event Day Runbook definition is invalid.",
    "remediation": "Correct the reported phase, task, owner, dependency, or accepted-source reference."
  },
  "RUNBOOK_TASK_NOT_FOUND": {
    "code": "RUNBOOK_TASK_NOT_FOUND",
    "message": "Runbook task not found.",
    "remediation": "Inspect the active Runbook Version and retry with a stable task ID."
  },
  "RUNBOOK_TASK_REVISION_CONFLICT": {
    "code": "RUNBOOK_TASK_REVISION_CONFLICT",
    "message": "Runbook task revision conflict.",
    "remediation": "Refresh the task projection, review the accepted transition, and retry only if another transition is still required."
  },
  "RUNBOOK_TRANSITION_INVALID": {
    "code": "RUNBOOK_TRANSITION_INVALID",
    "message": "Runbook task transition is invalid.",
    "remediation": "Use a published task transition and supply a reason-coded human reopen for terminal work."
  },
  "RUNBOOK_DEPENDENCIES_INCOMPLETE": {
    "code": "RUNBOOK_DEPENDENCIES_INCOMPLETE",
    "message": "Runbook task dependencies are incomplete.",
    "remediation": "Complete every dependency before starting this task."
  },
  "RUNBOOK_EVIDENCE_REQUIRED": {
    "code": "RUNBOOK_EVIDENCE_REQUIRED",
    "message": "Runbook task evidence is incomplete.",
    "remediation": "Attach every required structured evidence code before completing the task."
  },
  "OCCUPANCY_BASELINE_INVALID": {
    "code": "OCCUPANCY_BASELINE_INVALID",
    "message": "Live Occupancy baseline is invalid.",
    "remediation": "Create the monitor from one active Event Day Runbook with canonical Plan capacity and event-target evidence."
  },
  "OCCUPANCY_SIGNAL_INVALID": {
    "code": "OCCUPANCY_SIGNAL_INVALID",
    "message": "Aggregate Occupancy Signal is invalid.",
    "remediation": "Send one bounded aggregate-only signal for the check-in total, venue, or a stable Occupancy Zone."
  },
  "OCCUPANCY_PRIVACY_REJECTED": {
    "code": "OCCUPANCY_PRIVACY_REJECTED",
    "message": "Occupancy input contains prohibited person-level data.",
    "remediation": "Remove identities, contacts, ticket tokens, device identifiers, and individual event records before ingestion."
  },
  "OCCUPANCY_SIGNAL_OUT_OF_ORDER": {
    "code": "OCCUPANCY_SIGNAL_OUT_OF_ORDER",
    "message": "Occupancy Signal is older than the accepted source state.",
    "remediation": "Refresh the source cursor and send a newer source version and observed instant."
  },
  "OCCUPANCY_REVISION_CONFLICT": {
    "code": "OCCUPANCY_REVISION_CONFLICT",
    "message": "Live Occupancy monitor revision conflict.",
    "remediation": "Refresh the monitor and retry only if the aggregate transition is still required."
  },
  "OCCUPANCY_ALERT_NOT_FOUND": {
    "code": "OCCUPANCY_ALERT_NOT_FOUND",
    "message": "Occupancy Alert is unavailable.",
    "remediation": "Refresh the Live Occupancy Monitor and select an active Alert ID."
  },
  "OCCUPANCY_ACKNOWLEDGEMENT_INVALID": {
    "code": "OCCUPANCY_ACKNOWLEDGEMENT_INVALID",
    "message": "Occupancy Alert acknowledgement is invalid.",
    "remediation": "Use an authenticated human operator, an active Alert ID, and one structured reason code."
  },
  "OCCUPANCY_LEDGER_INTEGRITY_FAILED": {
    "code": "OCCUPANCY_LEDGER_INTEGRITY_FAILED",
    "message": "Occupancy Monitor Ledger integrity failed.",
    "remediation": "Restore the last verified monitor state before inspection or export."
  },
  "OCCUPANCY_MONITOR_NOT_FOUND": {
    "code": "OCCUPANCY_MONITOR_NOT_FOUND",
    "message": "Live Occupancy Monitor is unavailable.",
    "remediation": "Create the monitor from the active Event Day Runbook before inspecting or changing occupancy."
  },
  "OCCUPANCY_TOOL_UNAVAILABLE": {
    "code": "OCCUPANCY_TOOL_UNAVAILABLE",
    "message": "Live Occupancy tool Adapter is unavailable.",
    "remediation": "Open VenueMind Studio or connect an MCP Project session with Live Occupancy operations enabled."
  },
  "INCIDENT_BASELINE_INVALID": {
    "code": "INCIDENT_BASELINE_INVALID",
    "message": "Incident Register baseline is invalid.",
    "remediation": "Create the register from one active Event Day Runbook with its frozen accepted Plan and Emergency Plan evidence."
  },
  "INCIDENT_REGISTER_NOT_FOUND": {
    "code": "INCIDENT_REGISTER_NOT_FOUND",
    "message": "Incident Register is unavailable.",
    "remediation": "Create the register from the active Event Day Runbook before inspecting or reporting incidents."
  },
  "INCIDENT_NOT_FOUND": {
    "code": "INCIDENT_NOT_FOUND",
    "message": "Operational Incident is unavailable.",
    "remediation": "Inspect the Incident Register and retry with an existing stable Incident ID."
  },
  "INCIDENT_ID_CONFLICT": {
    "code": "INCIDENT_ID_CONFLICT",
    "message": "Operational Incident ID conflicts with an existing record.",
    "remediation": "Use the original semantic report or generate a new stable Incident ID."
  },
  "INCIDENT_INVALID": {
    "code": "INCIDENT_INVALID",
    "message": "Operational Incident input is invalid.",
    "remediation": "Use the published severity, category, owner, reason, reference, and transition fields."
  },
  "INCIDENT_PRIVACY_REJECTED": {
    "code": "INCIDENT_PRIVACY_REJECTED",
    "message": "Incident input contains prohibited person-level data.",
    "remediation": "Remove identities, contacts, ticket, device, attendee, medical, and free-form person records."
  },
  "INCIDENT_LOCATION_INVALID": {
    "code": "INCIDENT_LOCATION_INVALID",
    "message": "Incident Location Context is invalid.",
    "remediation": "Anchor the incident to one object or in-room coordinate in the frozen accepted Plan."
  },
  "INCIDENT_REVISION_CONFLICT": {
    "code": "INCIDENT_REVISION_CONFLICT",
    "message": "Operational Incident revision conflict.",
    "remediation": "Refresh the incident and retry only if the transition is still required."
  },
  "INCIDENT_TRANSITION_INVALID": {
    "code": "INCIDENT_TRANSITION_INVALID",
    "message": "Operational Incident transition is invalid.",
    "remediation": "Use a published state transition and supply any required structured reason or resolution code."
  },
  "INCIDENT_OWNER_INVALID": {
    "code": "INCIDENT_OWNER_INVALID",
    "message": "Incident owner evidence is invalid.",
    "remediation": "Assign one structured Runbook role, shift, Staff Post, or assignment reference."
  },
  "INCIDENT_ACKNOWLEDGEMENT_INVALID": {
    "code": "INCIDENT_ACKNOWLEDGEMENT_INVALID",
    "message": "Incident acknowledgement is invalid.",
    "remediation": "Use an authenticated human operator and an unacknowledged open incident."
  },
  "INCIDENT_ESCALATION_INVALID": {
    "code": "INCIDENT_ESCALATION_INVALID",
    "message": "Incident escalation is invalid.",
    "remediation": "Increase the structured escalation level without skipping required authority."
  },
  "INCIDENT_HANDOFF_INVALID": {
    "code": "INCIDENT_HANDOFF_INVALID",
    "message": "Incident handoff is invalid.",
    "remediation": "Use the current owner, a different structured next owner, and bounded open action codes."
  },
  "INCIDENT_EMERGENCY_ACTION_INVALID": {
    "code": "INCIDENT_EMERGENCY_ACTION_INVALID",
    "message": "Emergency Action Invocation is invalid.",
    "remediation": "Use an approved action, scenario, and object reference from the frozen Emergency Plan."
  },
  "INCIDENT_HUMAN_REQUIRED": {
    "code": "INCIDENT_HUMAN_REQUIRED",
    "message": "This Incident transition requires a human operator.",
    "remediation": "Ask an authorized human operator to acknowledge, manage, hand off, or record an emergency action."
  },
  "INCIDENT_LEDGER_INTEGRITY_FAILED": {
    "code": "INCIDENT_LEDGER_INTEGRITY_FAILED",
    "message": "Incident Register ledger integrity failed.",
    "remediation": "Restore the last verified register state before inspection or export."
  },
  "INCIDENT_TOOL_UNAVAILABLE": {
    "code": "INCIDENT_TOOL_UNAVAILABLE",
    "message": "Incident tool Adapter is unavailable.",
    "remediation": "Open VenueMind Studio or connect an MCP Project session with Incident Register operations enabled."
  },
  "DEVIATION_BASELINE_INVALID": {
    "code": "DEVIATION_BASELINE_INVALID",
    "message": "Live Plan Deviation baseline is invalid.",
    "remediation": "Create the register from one active Event Day Runbook with its frozen accepted Plan and Validation evidence."
  },
  "DEVIATION_REGISTER_NOT_FOUND": {
    "code": "DEVIATION_REGISTER_NOT_FOUND",
    "message": "Live Plan Deviation Register is unavailable.",
    "remediation": "Create the register from the active Event Day Runbook before inspecting or recording deviations."
  },
  "DEVIATION_TOOL_UNAVAILABLE": {
    "code": "DEVIATION_TOOL_UNAVAILABLE",
    "message": "Live Plan Deviation tool Adapter is unavailable.",
    "remediation": "Open VenueMind Studio or connect an MCP Project session with Live Plan Deviation operations enabled."
  },
  "DEVIATION_NOT_FOUND": {
    "code": "DEVIATION_NOT_FOUND",
    "message": "Live Plan Deviation is unavailable.",
    "remediation": "Inspect the register and retry with an existing stable Deviation ID."
  },
  "DEVIATION_ID_CONFLICT": {
    "code": "DEVIATION_ID_CONFLICT",
    "message": "Live Plan Deviation ID conflicts with an existing record.",
    "remediation": "Use the original semantic command or generate a new stable Deviation ID."
  },
  "DEVIATION_INVALID": {
    "code": "DEVIATION_INVALID",
    "message": "Live Plan Deviation input is invalid.",
    "remediation": "Supply a reason code, disposition, exact affected objects, location, and executable spatial Change."
  },
  "DEVIATION_LOCATION_INVALID": {
    "code": "DEVIATION_LOCATION_INVALID",
    "message": "Live Plan Deviation Location Context is invalid.",
    "remediation": "Anchor the deviation to one object or in-room coordinate in the frozen accepted Plan."
  },
  "DEVIATION_REVISION_CONFLICT": {
    "code": "DEVIATION_REVISION_CONFLICT",
    "message": "Live Plan Deviation revision conflict.",
    "remediation": "Refresh the deviation projection and retry only if the transition is still required."
  },
  "DEVIATION_REGISTER_REVISION_CONFLICT": {
    "code": "DEVIATION_REGISTER_REVISION_CONFLICT",
    "message": "Live Plan Deviation Register revision conflict.",
    "remediation": "Refresh the active overlay and retry against its current revision."
  },
  "DEVIATION_TRANSITION_INVALID": {
    "code": "DEVIATION_TRANSITION_INVALID",
    "message": "Live Plan Deviation transition is invalid.",
    "remediation": "Use a published active-to-ended transition with one structured reason code."
  },
  "DEVIATION_CONSTRAINT_UNAVAILABLE": {
    "code": "DEVIATION_CONSTRAINT_UNAVAILABLE",
    "message": "Requested live Constraint is unavailable.",
    "remediation": "Inspect the frozen Plan Constraint registry and submit only available stable Constraint IDs."
  },
  "DEVIATION_POST_EVENT_PROPOSAL_EMPTY": {
    "code": "DEVIATION_POST_EVENT_PROPOSAL_EMPTY",
    "message": "Post-event Proposal has no revision-candidate deviations.",
    "remediation": "Select at least one revision-candidate Deviation that has not already been recommended."
  },
  "DEVIATION_LEDGER_INTEGRITY_FAILED": {
    "code": "DEVIATION_LEDGER_INTEGRITY_FAILED",
    "message": "Live Plan Deviation ledger integrity failed.",
    "remediation": "Restore the last verified register state before inspection, recommendation, or export."
  },
  "POST_EVENT_BASELINE_INVALID": {
    "code": "POST_EVENT_BASELINE_INVALID",
    "message": "Post-event Review baseline is invalid.",
    "remediation": "Bind the review to matching, integrity-verified Runbook, Plan, occupancy, incident, deviation, and Scenario evidence."
  },
  "POST_EVENT_REVIEW_NOT_FOUND": {
    "code": "POST_EVENT_REVIEW_NOT_FOUND",
    "message": "Post-event Review is unavailable.",
    "remediation": "Create or restore the Runbook-bound Post-event Review before issuing this command."
  },
  "POST_EVENT_TOOL_UNAVAILABLE": {
    "code": "POST_EVENT_TOOL_UNAVAILABLE",
    "message": "Post-event Review tooling is unavailable.",
    "remediation": "Connect a Post-event Review operation adapter before calling this tool."
  },
  "POST_EVENT_INVALID": {
    "code": "POST_EVENT_INVALID",
    "message": "Post-event Review input is invalid.",
    "remediation": "Supply published metric, scope, evidence, lesson, and Proposal fields with stable identifiers."
  },
  "POST_EVENT_REVISION_CONFLICT": {
    "code": "POST_EVENT_REVISION_CONFLICT",
    "message": "Post-event Review revision conflict.",
    "remediation": "Refresh the Post-event Review and retry only if the transition is still required."
  },
  "POST_EVENT_EVIDENCE_INVALID": {
    "code": "POST_EVENT_EVIDENCE_INVALID",
    "message": "Post-event evidence does not match the frozen baseline.",
    "remediation": "Reference an exact evidence ID and fingerprint frozen into this Post-event Review."
  },
  "POST_EVENT_OBSERVATION_CONFLICT": {
    "code": "POST_EVENT_OBSERVATION_CONFLICT",
    "message": "An Observation already exists for this predicted outcome.",
    "remediation": "Use the accepted Observation or create a distinct metric scope before recording another outcome."
  },
  "POST_EVENT_COMPARISON_NOT_FOUND": {
    "code": "POST_EVENT_COMPARISON_NOT_FOUND",
    "message": "Post-event Comparison is unavailable.",
    "remediation": "Inspect the frozen Predictions and retry with an existing comparison key."
  },
  "POST_EVENT_LESSON_NOT_FOUND": {
    "code": "POST_EVENT_LESSON_NOT_FOUND",
    "message": "Post-event Lesson is unavailable.",
    "remediation": "Inspect the Post-event Review and retry with an existing stable Lesson ID."
  },
  "POST_EVENT_TEMPLATE_PROPOSAL_NOT_FOUND": {
    "code": "POST_EVENT_TEMPLATE_PROPOSAL_NOT_FOUND",
    "message": "Template Improvement Proposal is unavailable.",
    "remediation": "Inspect the Post-event Review and retry with an existing stable Proposal ID."
  },
  "POST_EVENT_TEMPLATE_PROPOSAL_INVALID": {
    "code": "POST_EVENT_TEMPLATE_PROPOSAL_INVALID",
    "message": "Template Improvement Proposal is invalid.",
    "remediation": "Trace every Change through a structured Lesson to an observed event-day outcome and a frozen template binding."
  },
  "POST_EVENT_HUMAN_REQUIRED": {
    "code": "POST_EVENT_HUMAN_REQUIRED",
    "message": "This Post-event Review transition requires a human reviewer.",
    "remediation": "Ask an authorized human to approve or reject the Template Improvement Proposal."
  },
  "POST_EVENT_REVIEW_TRANSITION_INVALID": {
    "code": "POST_EVENT_REVIEW_TRANSITION_INVALID",
    "message": "Post-event Review transition is invalid.",
    "remediation": "Use a published pending-to-approved or pending-to-rejected recommendation transition."
  },
  "POST_EVENT_LEDGER_INTEGRITY_FAILED": {
    "code": "POST_EVENT_LEDGER_INTEGRITY_FAILED",
    "message": "Post-event Review ledger integrity failed.",
    "remediation": "Restore the last verified Post-event Review before inspection or export."
  },
  "VENUE_INTERNAL_ERROR": {
    "code": "VENUE_INTERNAL_ERROR",
    "message": "VenueMind could not complete the operation.",
    "remediation": "Retry once; if the error persists, inspect the server log with the correlation ID."
  }
}
