{
  "$defs": {
    "CommitteeKind": {
      "description": "Committee kind.",
      "oneOf": [
        {
          "const": "audit",
          "description": "Audit (financial-reporting + internal controls).",
          "type": "string"
        },
        {
          "const": "compensation",
          "description": "Compensation (officer pay, equity).",
          "type": "string"
        },
        {
          "const": "nominating_governance",
          "description": "Nominating + corporate governance.",
          "type": "string"
        },
        {
          "const": "risk_and_compliance",
          "description": "Risk + compliance.",
          "type": "string"
        },
        {
          "const": "esg",
          "description": "ESG / sustainability (CSRD compliance oversight).",
          "type": "string"
        },
        {
          "const": "technology",
          "description": "Technology / cybersecurity.",
          "type": "string"
        },
        {
          "const": "investment",
          "description": "Investment / strategy.",
          "type": "string"
        },
        {
          "const": "people",
          "description": "People / culture.",
          "type": "string"
        },
        {
          "const": "special",
          "description": "Independent special-purpose (M&A, conflict-of-interest).",
          "type": "string"
        },
        {
          "const": "disclosure",
          "description": "Disclosure (10-Q / 10-K + 6-K controls).",
          "type": "string"
        }
      ]
    },
    "CommitteeMember": {
      "description": "One committee member.",
      "properties": {
        "departed_on": {
          "anyOf": [
            {
              "$ref": "#/$defs/IsoDate"
            },
            {
              "type": "null"
            }
          ]
        },
        "independent": {
          "description": "Whether the member is independent (per NYSE / DGCL § 141\nindependence definitions).",
          "type": "boolean"
        },
        "joined_on": {
          "$ref": "#/$defs/IsoDate"
        },
        "person": {
          "$ref": "#/$defs/PathRef"
        },
        "role": {
          "$ref": "#/$defs/CommitteeRole"
        }
      },
      "required": [
        "person",
        "role",
        "independent",
        "joined_on"
      ],
      "type": "object"
    },
    "CommitteeRole": {
      "description": "Member role in the committee.",
      "oneOf": [
        {
          "enum": [
            "chair",
            "member",
            "observer",
            "secretary"
          ],
          "type": "string"
        },
        {
          "const": "advisor",
          "description": "Non-voting advisor.",
          "type": "string"
        }
      ]
    },
    "CommitteeStatus": {
      "description": "Committee status.",
      "oneOf": [
        {
          "enum": [
            "active",
            "paused"
          ],
          "type": "string"
        },
        {
          "const": "forming",
          "description": "Forming (yet to ratify charter).",
          "type": "string"
        },
        {
          "const": "dissolved",
          "description": "Dissolved (folded back into board).",
          "type": "string"
        }
      ]
    },
    "Confidentiality": {
      "description": "Cross-cutting confidentiality classification used across privacy,\nsecurity, knowledge, IR pillars. Default rendering rule: `corpospec-report`\nexcludes `Restricted | BoardOnly | InvestorOnly` records from public output\nunless an explicit audience parameter overrides. See BDR 0076 §1.",
      "oneOf": [
        {
          "const": "public",
          "description": "Safe to publish anywhere.",
          "type": "string"
        },
        {
          "const": "customer",
          "description": "Visible to customers under standard ToS.",
          "type": "string"
        },
        {
          "const": "internal",
          "description": "Employees and contractors only.",
          "type": "string"
        },
        {
          "const": "restricted",
          "description": "Need-to-know subset of internal.",
          "type": "string"
        },
        {
          "const": "board_only",
          "description": "Board members and direct staff.",
          "type": "string"
        },
        {
          "const": "investor_only",
          "description": "Existing investors + prospective with NDA.",
          "type": "string"
        }
      ]
    },
    "IsoDate": {
      "description": "ISO 8601 date (YYYY-MM-DD).",
      "format": "date",
      "type": "string"
    },
    "PathRef": {
      "description": "Path-based cross-reference relative to .corpospec/ root.\nPattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`",
      "pattern": "^[a-z0-9_-]+(/[a-z0-9_.-]+)+$",
      "type": "string"
    }
  },
  "$id": "https://corpospec.com/schemas/v0.16.0/board-committee.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "Board / governance committee.",
  "properties": {
    "approved_by": {
      "$ref": "#/$defs/PathRef",
      "description": "Approved by which body."
    },
    "bdr_refs": {
      "description": "PathRefs to BDRs the committee has authority over.",
      "items": {
        "$ref": "#/$defs/PathRef"
      },
      "type": "array"
    },
    "chair": {
      "$ref": "#/$defs/PathRef"
    },
    "charter_next_review": {
      "$ref": "#/$defs/IsoDate",
      "description": "Next charter-review due date."
    },
    "charter_ratified_on": {
      "$ref": "#/$defs/IsoDate",
      "description": "Date the charter was last ratified."
    },
    "charter_ref": {
      "$ref": "#/$defs/PathRef",
      "description": "PathRef to the committee charter."
    },
    "confidentiality": {
      "$ref": "#/$defs/Confidentiality"
    },
    "entity": {
      "$ref": "#/$defs/PathRef"
    },
    "id": {
      "$ref": "#/$defs/PathRef"
    },
    "kind": {
      "$ref": "#/$defs/CommitteeKind"
    },
    "meeting_cadence": {
      "description": "Meeting cadence (ISO duration).",
      "type": "string"
    },
    "members": {
      "items": {
        "$ref": "#/$defs/CommitteeMember"
      },
      "type": "array"
    },
    "name": {
      "type": "string"
    },
    "next_meeting_date": {
      "$ref": "#/$defs/IsoDate",
      "description": "Next planned meeting."
    },
    "quorum": {
      "description": "Quorum required (number of voting members).",
      "format": "int32",
      "type": "integer"
    },
    "recent_meetings": {
      "description": "PathRefs to recent meeting records.",
      "items": {
        "$ref": "#/$defs/PathRef"
      },
      "type": "array"
    },
    "status": {
      "$ref": "#/$defs/CommitteeStatus"
    }
  },
  "required": [
    "id",
    "entity",
    "kind",
    "name",
    "status",
    "charter_ref",
    "approved_by",
    "charter_ratified_on",
    "charter_next_review",
    "chair",
    "members",
    "meeting_cadence",
    "next_meeting_date",
    "quorum",
    "confidentiality"
  ],
  "title": "Committee",
  "type": "object",
  "x-corpospec-pillar": "governance"
}