{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://eliyahoren.com/agents/protocol/DECISION-LEDGER-SCHEMA.json",
  "title": "Project ETERNAL Constitutional Decision Ledger Schema",
  "description": "Defines the verifiable audit log entry format for constitutional decisions, approvals, dissents, and state transitions.",
  "type": "object",
  "required": [
    "schema_version",
    "decision_id",
    "proposal_id",
    "proposal_digest_sha256",
    "action",
    "resulting_status",
    "authority",
    "deliberation_summary",
    "recorded_dissents",
    "ratification_criteria_met",
    "timestamp"
  ],
  "properties": {
    "schema_version": {
      "type": "string",
      "enum": ["1.0.0"]
    },
    "decision_id": {
      "type": "string",
      "pattern": "^ETERNAL-DEC-[0-9]{3,}$"
    },
    "proposal_id": {
      "type": "string",
      "pattern": "^ETERNAL-PROP-[0-9]{3,}$"
    },
    "proposal_digest_sha256": {
      "type": "string",
      "pattern": "^[a-fA-F0-9]{64}$"
    },
    "action": {
      "type": "string",
      "enum": [
        "SUBMIT_PROPOSAL",
        "INITIATE_REVIEW",
        "APPROVE",
        "REJECT",
        "WITHDRAW",
        "SUSPEND",
        "SUPERSEDE"
      ]
    },
    "resulting_status": {
      "type": "string",
      "enum": [
        "DRAFT",
        "PROPOSED",
        "UNDER_REVIEW",
        "DECISION_PENDING",
        "APPROVED",
        "EFFECTIVE",
        "REJECTED",
        "WITHDRAWN",
        "SUPERSEDED",
        "SUSPENDED"
      ]
    },
    "authority": {
      "type": "object",
      "required": ["actor_id", "role", "name", "authorization_reference"],
      "properties": {
        "actor_id": { "type": "string" },
        "role": {
          "type": "string",
          "enum": [
            "HUMAN_FOUNDER",
            "HUMAN_TRUSTEE",
            "CONSTITUTIONAL_REVIEWER",
            "INDEPENDENT_AUDITOR",
            "INFRASTRUCTURE_OPERATOR"
          ]
        },
        "name": { "type": "string" },
        "authorization_reference": { "type": "string", "minLength": 5 }
      },
      "additionalProperties": false
    },
    "deliberation_summary": {
      "type": "string",
      "minLength": 10
    },
    "recorded_dissents": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["dissent_id", "actor_id", "actor_role", "statement", "evidence_ref"],
        "properties": {
          "dissent_id": { "type": "string" },
          "actor_id": { "type": "string" },
          "actor_role": { "type": "string" },
          "statement": { "type": "string" },
          "evidence_ref": { "type": "string" }
        },
        "additionalProperties": false
      }
    },
    "ratification_criteria_met": {
      "type": "boolean"
    },
    "effective_at": {
      "type": ["string", "null"],
      "format": "date-time"
    },
    "timestamp": {
      "type": "string",
      "format": "date-time"
    }
  },
  "additionalProperties": false
}
