=== META ===
{
  "id": "GTPX-ENUMS",
  "title": "GTPX Enums",
  "version": "0.1.1",
  "status": "draft",
  "updated": "2026-04-26",
  "authority": "03_language/GTPX-ENUMS.gtpx",
  "type": "language_enums",
  "project": "GTPX",
  "depends_on": [
    "03_language/GTPX-DICTIONARY.gtpx"
  ]
}

=== DATA ===
{
  "purpose": "Defines all allowed enumerated values across the entire GTPX ecosystem. This is the single authoritative source for all enums.",

  "enum_policy": {
    "single_source_of_truth": true,
    "all_enums_must_be_defined_here": true,
    "external_enum_definitions_forbidden": true,
    "implicit_values_forbidden": true
  },

  "document_status": [
    "planned",
    "draft",
    "review",
    "accepted",
    "stable",
    "deprecated",
    "rejected"
  ],

  "plan_status": [
    "draft",
    "active",
    "archived"
  ],

  "change_request_status": [
    "open",
    "in_analysis",
    "approved",
    "rejected",
    "implemented"
  ],

  "analysis_status": [
    "created",
    "completed"
  ],

  "patch_status": [
    "proposed",
    "validated",
    "approved",
    "applied",
    "failed"
  ],

  "commit_status": [
    "created",
    "finalized"
  ],

  "validation_outcomes": [
    "valid",
    "invalid",
    "blocked"
  ],

  "completeness_outcomes": [
    "complete",
    "incomplete",
    "conditionally_complete"
  ],

  "response_mode": [
    "atomic",
    "streaming"
  ],

  "incomplete_response_policy": [
    "reject",
    "retry_atomic",
    "allow_preview_only"
  ],

  "response_delivery_status": [
    "complete",
    "incomplete",
    "interrupted",
    "invalid",
    "blocked"
  ],

  "execution_modes": [
    "analysis_mode",
    "dry_run_mode",
    "proposal_mode"
  ],

  "ack_values": [
    "READ_COMPLETE",
    "READ_REJECTED",
    "HASH_MISMATCH"
  ],

  "error_types": [
    "structure_error",
    "contract_error",
    "completeness_error",
    "source_error",
    "hash_error"
  ],

  "error_severity": [
    "critical",
    "non_critical"
  ],

  "source_types": [
    "PUBLIC",
    "INTERNAL",
    "SPECIALIZED_API",
    "USER_PROVIDED",
    "RUNTIME_PROVIDED"
  ],

  "authority_levels": [
    "low",
    "medium",
    "high",
    "authoritative"
  ],

  "allowed_usage": [
    "read_only",
    "validation_only",
    "analysis",
    "decision_support"
  ],

  "change_types": [
    "add",
    "modify",
    "remove"
  ],

  "fail_policies": [
    "fail_closed",
    "fail_open"
  ]
}

=== RULES ===
{
  "only_values_from_this_document_are_allowed": true,
  "enum_names_must_not_be_changed_without_patch": true,
  "enum_values_must_not_be_extended_without_patch": true,
  "all_documents_must_reference_this_enum_set": true,
  "duplicate_enum_values_are_forbidden": true
}

=== STATUS ===
{
  "state": "draft",
  "open_questions": [
    "Confirm whether numeric scoring is needed for authority_levels",
    "Confirm whether fail_open should be allowed in production",
    "Confirm if plan_status needs more lifecycle states"
  ],
  "next_step": "Align GTPX response delivery rules with this enum set."
}