Schema: history

{
  "$id": "https://australis.systems/schemas/htmx-ui-template-scaffold/history.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "Verified revision metadata for one immutable target-state history directory.",
  "properties": {
    "created_at_utc": {
      "description": "RFC3339 timestamp at which the revision was created.",
      "format": "date-time",
      "type": "string"
    },
    "document_digests": {
      "additionalProperties": false,
      "properties": {
        "analysis": {
          "pattern": "^[a-f0-9]{64}$",
          "type": "string"
        },
        "approval": {
          "pattern": "^[a-f0-9]{64}$",
          "type": "string"
        },
        "ownership": {
          "pattern": "^[a-f0-9]{64}$",
          "type": "string"
        },
        "plan": {
          "pattern": "^[a-f0-9]{64}$",
          "type": "string"
        },
        "receipt": {
          "pattern": "^[a-f0-9]{64}$",
          "type": "string"
        }
      },
      "required": [
        "analysis",
        "plan",
        "approval",
        "ownership",
        "receipt"
      ],
      "type": "object"
    },
    "operation_id": {
      "minLength": 1,
      "type": "string"
    },
    "operation_kind": {
      "enum": [
        "ANALYZE",
        "PLAN",
        "RECONCILE",
        "ASSETS_SYNC",
        "REPLACE",
        "RESTORE",
        "BACKUP"
      ],
      "type": "string"
    },
    "parent_revision_id": {
      "description": "Parent revision identifier, or null when this revision starts a chain.",
      "pattern": "^[a-f0-9]{64}$",
      "type": [
        "string",
        "null"
      ]
    },
    "revision_id": {
      "description": "Content-derived revision identifier under state_root/history/.",
      "pattern": "^[a-f0-9]{64}$",
      "type": "string"
    },
    "schema_version": {
      "description": "Major-version-locked envelope. Documents with any value other than 1.0.0 MUST fail validation, which enforces the major-version-1 contract.",
      "enum": [
        "1.0.0"
      ],
      "type": "string"
    }
  },
  "required": [
    "schema_version",
    "revision_id",
    "parent_revision_id",
    "operation_id",
    "operation_kind",
    "created_at_utc",
    "document_digests"
  ],
  "title": "Immutable History Snapshot",
  "type": "object"
}