{;; orgbrain org ontology — the kyber organizational-operating layer.
 ;; Entities, responsibilities, authorities, and delegations for a corporation.
 ;; EAVT-datom-shaped EDN; consumed by lg.lg-kyber.graphs.org-risk.
 ;; See docs/orgbrain/DESIGN.md for the charter gates.
 :orgbrain/schema-version "0.1.0"

 ;; authority vocabulary — closed set; a delegation names one of these
 :orgbrain/authorities [:approve-spend :sign-contract :hire :fire :compliance :it-admin]

 ;; role levels — closed set
 :orgbrain/levels [:board :exec :manager :staff]

 ;; roles. :orgbrain/min-headcount 1 = a single point of failure unless staffed wider.
 :orgbrain/roles
 [{:orgbrain/role-id :ceo            :orgbrain/name "CEO"            :orgbrain/level :board   :orgbrain/min-headcount 1}
  {:orgbrain/role-id :cfo            :orgbrain/name "CFO"            :orgbrain/level :exec    :orgbrain/min-headcount 1}
  {:orgbrain/role-id :coo            :orgbrain/name "COO"            :orgbrain/level :exec    :orgbrain/min-headcount 1}
  {:orgbrain/role-id :cto            :orgbrain/name "CTO"            :orgbrain/level :exec    :orgbrain/min-headcount 1}
  {:orgbrain/role-id :hr-manager     :orgbrain/name "HR Manager"     :orgbrain/level :manager :orgbrain/min-headcount 1}
  {:orgbrain/role-id :finance-staff  :orgbrain/name "Finance Staff"  :orgbrain/level :staff   :orgbrain/min-headcount 2}
  {:orgbrain/role-id :it-admin       :orgbrain/name "IT Admin"       :orgbrain/level :staff   :orgbrain/min-headcount 2}]

 ;; delegations: from-role grants authority to to-role (delegation chain = depth risk)
 :orgbrain/delegations
 [{:orgbrain/from-role :board :orgbrain/to-role :ceo           :orgbrain/authority :approve-spend}
  {:orgbrain/from-role :board :orgbrain/to-role :ceo           :orgbrain/authority :sign-contract}
  {:orgbrain/from-role :board :orgbrain/to-role :ceo           :orgbrain/authority :hire}
  {:orgbrain/from-role :ceo   :orgbrain/to-role :cfo           :orgbrain/authority :approve-spend}
  {:orgbrain/from-role :ceo   :orgbrain/to-role :coo           :orgbrain/authority :hire}
  {:orgbrain/from-role :cfo   :orgbrain/to-role :finance-staff :orgbrain/authority :approve-spend}
  {:orgbrain/from-role :cto   :orgbrain/to-role :it-admin      :orgbrain/authority :it-admin}
  {:orgbrain/from-role :board :orgbrain/to-role :board         :orgbrain/authority :sign-contract}
  {:orgbrain/from-role :board :orgbrain/to-role :board         :orgbrain/authority :hire}
  {:orgbrain/from-role :ceo   :orgbrain/to-role :coo           :orgbrain/authority :sign-contract}
  {:orgbrain/from-role :ceo   :orgbrain/to-role :cfo           :orgbrain/authority :sign-contract}]

 ;; RACI matrix: task × roles. Every critical task MUST have exactly one :accountable
 ;; (raci-coverage-risk flags the gap).
 :orgbrain/tasks
 [{:orgbrain/task-id :annual-budget    :orgbrain/name "年度予算承認"       :orgbrain/critical? true  :orgbrain/sla-days 30
   :orgbrain/raci {:responsible [:cfo] :accountable [:board] :consulted [:coo] :informed [:finance-staff]}}
  {:orgbrain/task-id :contract-signing :orgbrain/name "契約締結"           :orgbrain/critical? true  :orgbrain/sla-days 14
   :orgbrain/raci {:responsible [:cfo] :accountable [:ceo] :consulted [] :informed [:board]}}
  {:orgbrain/task-id :payroll-run      :orgbrain/name "給与計算・支払"     :orgbrain/critical? true  :orgbrain/sla-days 1
   :orgbrain/raci {:responsible [:finance-staff] :accountable [:cfo] :consulted [:hr-manager] :informed []}}
  {:orgbrain/task-id :hiring-approval  :orgbrain/name "採用承認"           :orgbrain/critical? false :orgbrain/sla-days 21
   :orgbrain/raci {:responsible [:hr-manager] :accountable [:coo] :consulted [:ceo] :informed []}}
  {:orgbrain/task-id :it-change-mgmt   :orgbrain/name "IT 変更管理"        :orgbrain/critical? true  :orgbrain/sla-days 5
   :orgbrain/raci {:responsible [:it-admin] :accountable [:cto] :consulted [] :informed []}}
  {:orgbrain/task-id :compliance-audit :orgbrain/name "コンプライアンス監査" :orgbrain/critical? true :orgbrain/sla-days 90
   :orgbrain/raci {:responsible [:coo] :accountable [:board] :consulted [:cfo] :informed []}}
 ;; 人事 (onboarding/offboarding) — added per SOUL extension order (HR first)
  {:orgbrain/task-id :onboarding       :orgbrain/name "入社手続き"         :orgbrain/critical? false :orgbrain/sla-days 14
   :orgbrain/raci {:responsible [:hr-manager] :accountable [:coo] :consulted [:it-admin] :informed [:finance-staff]}}
  {:orgbrain/task-id :offboarding      :orgbrain/name "退職手続き"         :orgbrain/critical? true  :orgbrain/sla-days 5
   :orgbrain/raci {:responsible [:hr-manager] :accountable [:coo] :consulted [:it-admin] :informed [:cfo]}}]}
