{
  "additionalProperties": false,
  "properties": {
    "command_id": {
      "maxLength": 100,
      "minLength": 8,
      "title": "Command Id",
      "type": "string"
    },
    "expected_revision": {
      "minimum": 0,
      "title": "Expected Revision",
      "type": "integer"
    },
    "operation": {
      "enum": [
        "assign",
        "note",
        "propose",
        "approve",
        "reject",
        "execute",
        "verify",
        "feedback",
        "dismiss",
        "resolve",
        "reopen"
      ],
      "title": "Operation",
      "type": "string"
    },
    "note": {
      "maxLength": 3000,
      "minLength": 3,
      "title": "Note",
      "type": "string"
    },
    "action": {
      "anyOf": [
        {
          "maxLength": 80,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Action"
    },
    "assignee": {
      "anyOf": [
        {
          "maxLength": 100,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Assignee"
    },
    "evidence_ref": {
      "anyOf": [
        {
          "maxLength": 300,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Evidence Ref"
    },
    "provider_target": {
      "additionalProperties": {
        "type": "string"
      },
      "maxProperties": 5,
      "title": "Provider Target",
      "type": "object"
    },
    "outcome": {
      "anyOf": [
        {
          "enum": [
            "confirmed",
            "not_resolved",
            "failed"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Outcome"
    },
    "feedback_type": {
      "anyOf": [
        {
          "enum": [
            "expected_variance",
            "false_positive",
            "known_delay",
            "accepted_exception",
            "contract_exception",
            "mapping_correction",
            "temporary_override"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Feedback Type"
    },
    "expires_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expires At"
    }
  },
  "required": [
    "command_id",
    "expected_revision",
    "operation",
    "note"
  ],
  "title": "Decision",
  "type": "object"
}
