{
  "humanRoles": [
    "viewer",
    "planner",
    "reviewer",
    "approver",
    "safety-officer",
    "venue-administrator",
    "organization-administrator"
  ],
  "agentScopes": [
    "venue:read",
    "venue:propose",
    "venue:comment",
    "venue:simulate",
    "venue:operate",
    "venue:export"
  ],
  "permissions": [
    "project.read",
    "project.manage",
    "plan.read",
    "plan.update",
    "proposal.read",
    "proposal.create",
    "proposal.manage",
    "proposal.review",
    "comment.read",
    "comment.write",
    "simulation.read",
    "simulation.run",
    "occupancy.read",
    "occupancy.write",
    "incident.read",
    "incident.report",
    "incident.manage",
    "incident.emergency-act",
    "incident.export",
    "deviation.read",
    "deviation.record",
    "deviation.propose",
    "deviation.export",
    "post-event.read",
    "post-event.record",
    "post-event.propose",
    "post-event.review",
    "post-event.export",
    "export.plan",
    "export.audit",
    "audit.read",
    "approval.approve",
    "approval.waive",
    "lock.manage"
  ],
  "rolePermissions": {
    "viewer": [
      "project.read",
      "plan.read",
      "proposal.read",
      "comment.read",
      "simulation.read",
      "occupancy.read",
      "incident.read",
      "deviation.read",
      "post-event.read"
    ],
    "planner": [
      "project.read",
      "plan.read",
      "proposal.read",
      "comment.read",
      "simulation.read",
      "occupancy.read",
      "incident.read",
      "deviation.read",
      "post-event.read",
      "proposal.create",
      "proposal.manage",
      "comment.write",
      "simulation.run",
      "occupancy.write",
      "incident.report",
      "incident.manage",
      "deviation.record",
      "deviation.propose",
      "post-event.record",
      "post-event.propose",
      "export.plan"
    ],
    "reviewer": [
      "project.read",
      "plan.read",
      "proposal.read",
      "comment.read",
      "simulation.read",
      "occupancy.read",
      "incident.read",
      "deviation.read",
      "post-event.read",
      "proposal.review",
      "comment.write",
      "incident.export",
      "deviation.export",
      "post-event.review",
      "post-event.export",
      "export.audit",
      "audit.read"
    ],
    "approver": [
      "project.read",
      "plan.read",
      "proposal.read",
      "comment.read",
      "simulation.read",
      "occupancy.read",
      "incident.read",
      "deviation.read",
      "post-event.read",
      "proposal.review",
      "comment.write",
      "incident.export",
      "deviation.export",
      "post-event.review",
      "post-event.export",
      "export.audit",
      "audit.read",
      "approval.approve",
      "approval.waive"
    ],
    "safety-officer": [
      "project.read",
      "plan.read",
      "proposal.read",
      "comment.read",
      "simulation.read",
      "occupancy.read",
      "incident.read",
      "deviation.read",
      "post-event.read",
      "incident.report",
      "incident.manage",
      "incident.emergency-act",
      "incident.export",
      "deviation.record",
      "deviation.export",
      "post-event.record",
      "post-event.review",
      "post-event.export",
      "audit.read"
    ],
    "venue-administrator": [
      "project.read",
      "plan.read",
      "proposal.read",
      "comment.read",
      "simulation.read",
      "occupancy.read",
      "incident.read",
      "deviation.read",
      "post-event.read",
      "proposal.create",
      "proposal.manage",
      "comment.write",
      "simulation.run",
      "occupancy.write",
      "incident.report",
      "incident.manage",
      "deviation.record",
      "deviation.propose",
      "post-event.record",
      "post-event.propose",
      "export.plan",
      "proposal.review",
      "incident.export",
      "deviation.export",
      "post-event.review",
      "post-event.export",
      "export.audit",
      "audit.read",
      "approval.approve",
      "approval.waive",
      "incident.emergency-act",
      "project.manage",
      "plan.update",
      "lock.manage"
    ],
    "organization-administrator": [
      "project.read",
      "project.manage",
      "plan.read",
      "plan.update",
      "proposal.read",
      "proposal.create",
      "proposal.manage",
      "proposal.review",
      "comment.read",
      "comment.write",
      "simulation.read",
      "simulation.run",
      "occupancy.read",
      "occupancy.write",
      "incident.read",
      "incident.report",
      "incident.manage",
      "incident.emergency-act",
      "incident.export",
      "deviation.read",
      "deviation.record",
      "deviation.propose",
      "deviation.export",
      "post-event.read",
      "post-event.record",
      "post-event.propose",
      "post-event.review",
      "post-event.export",
      "export.plan",
      "export.audit",
      "audit.read",
      "approval.approve",
      "approval.waive",
      "lock.manage"
    ]
  },
  "agentScopePermissions": {
    "venue:read": [
      "project.read",
      "plan.read",
      "proposal.read",
      "comment.read",
      "simulation.read",
      "occupancy.read",
      "incident.read",
      "deviation.read",
      "post-event.read",
      "audit.read"
    ],
    "venue:propose": [
      "proposal.create",
      "proposal.manage",
      "deviation.propose",
      "post-event.record",
      "post-event.propose"
    ],
    "venue:comment": [
      "comment.read",
      "comment.write"
    ],
    "venue:simulate": [
      "simulation.read",
      "simulation.run"
    ],
    "venue:operate": [
      "occupancy.read",
      "occupancy.write",
      "incident.read",
      "incident.report",
      "deviation.read",
      "deviation.record",
      "post-event.read",
      "post-event.record"
    ],
    "venue:export": [
      "export.plan",
      "export.audit",
      "incident.export",
      "deviation.export",
      "post-event.export"
    ]
  },
  "approvalPolicy": {
    "requiredReviewerRoles": [
      "approver",
      "venue-administrator",
      "organization-administrator"
    ]
  }
}
