{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:maknow:mkn031:decision:1",
  "title": "MKN-031 bounded regeneration decision",
  "type": "object",
  "required": [
    "content_id",
    "base_revision_id",
    "base_digest",
    "regeneration_request_id",
    "target_node_ids",
    "protected_node_ids",
    "affected_derived_artifacts",
    "precondition_state",
    "structural_validation_state",
    "claim_diff_state",
    "human_edit_preservation_state",
    "review_state",
    "promotion_state",
    "rollback_ref",
    "audit_event_id",
    "evidence_refs",
    "rationale",
    "minimal_repair"
  ],
  "properties": {
    "content_id": {
      "type": "string"
    },
    "base_revision_id": {
      "type": "string"
    },
    "base_digest": {
      "type": "string"
    },
    "regeneration_request_id": {
      "type": "string"
    },
    "target_node_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "uniqueItems": true
    },
    "protected_node_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "uniqueItems": true
    },
    "affected_derived_artifacts": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "uniqueItems": true
    },
    "precondition_state": {
      "enum": [
        "PASS",
        "STALE_BASE",
        "UNKNOWN"
      ]
    },
    "structural_validation_state": {
      "enum": [
        "PASS",
        "FAIL",
        "UNKNOWN"
      ]
    },
    "claim_diff_state": {
      "type": "string"
    },
    "human_edit_preservation_state": {
      "enum": [
        "PASS",
        "FAIL",
        "UNKNOWN"
      ]
    },
    "review_state": {
      "enum": [
        "REVIEW_REQUIRED",
        "APPROVED",
        "REJECTED",
        "UNKNOWN"
      ]
    },
    "promotion_state": {
      "enum": [
        "HOLD",
        "HOLD_PENDING_REVIEW",
        "PROMOTE_ELIGIBLE_AFTER_REVIEW",
        "REJECTED"
      ]
    },
    "rollback_ref": {
      "type": "string"
    },
    "audit_event_id": {
      "type": "string"
    },
    "evidence_refs": {
      "type": "array",
      "minItems": 3,
      "items": {
        "type": "string"
      }
    },
    "rationale": {
      "type": "string",
      "minLength": 20
    },
    "minimal_repair": {
      "type": "string",
      "minLength": 10
    }
  },
  "additionalProperties": true
}
