{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://uqp.dev/spec/v0.1/schemas/lifecycle.json",
  "title": "LifecycleState",
  "type": "string",
  "enum": [
    "INITIATED",
    "MANIFEST_ISSUED",
    "PAYLOAD_SUBMITTED",
    "MUTATION_REQUIRED",
    "VALIDATED_PENDING_REVIEW",
    "QUOTED",
    "ACCEPTED",
    "DECLINED",
    "EXPIRED"
  ],
  "transitions": {
    "INITIATED": [
      "MANIFEST_ISSUED"
    ],
    "MANIFEST_ISSUED": [
      "PAYLOAD_SUBMITTED"
    ],
    "PAYLOAD_SUBMITTED": [
      "MUTATION_REQUIRED",
      "VALIDATED_PENDING_REVIEW"
    ],
    "MUTATION_REQUIRED": [
      "PAYLOAD_SUBMITTED"
    ],
    "VALIDATED_PENDING_REVIEW": [
      "QUOTED",
      "MUTATION_REQUIRED",
      "DECLINED"
    ],
    "QUOTED": [
      "ACCEPTED",
      "DECLINED",
      "EXPIRED"
    ],
    "ACCEPTED": [],
    "DECLINED": [],
    "EXPIRED": []
  }
}
