apiVersion: "helm-expt.confighub.com/v1alpha1"
kind: "Top100PromotionReviewPacket"
metadata:
  name: "elastic-logstash-8-5-1-promotion-review"
spec:
  chart: "elastic/logstash"
  version: "8.5.1"
  selectedBaseCandidate: "default"
  candidateVariants:
    - "default"
    - "ha"
  decisionState: "review-input-only"
  catalogSupportClaimAllowed: false
  whyThisChartIsInTheWave:
    - "The chart is proof-grade in the maintained top-100 corpus."
    - "The chart has multiple named variants, so there is a real selection question."
    - "The selected base has strict parity evidence."
    - "No named limitation currently blocks promotion review."
  currentEvidence:
    catalog: "recipes/elastic/logstash/8.5.1/CATALOG.md"
    helmPainReport: "recipes/elastic/logstash/8.5.1/helm-pain-report.yaml"
    controlPoints: "recipes/elastic/logstash/8.5.1/control-points.yaml"
    valueModel: "recipes/elastic/logstash/8.5.1/value-model.yaml"
    helmPlan: "recipes/elastic/logstash/8.5.1/helm-plan.yaml"
    variant: "recipes/elastic/logstash/8.5.1/variants/default/variant.yaml"
    variantRevision: "recipes/elastic/logstash/8.5.1/revisions/default/r001/variant-revision.yaml"
    helmEquivalence: "recipes/elastic/logstash/8.5.1/revisions/default/r001/receipts/helm-equivalence-receipt.yaml"
    scanReceipt: "recipes/elastic/logstash/8.5.1/revisions/default/r001/receipts/scan-receipt.yaml"
    installGate: "recipes/elastic/logstash/8.5.1/revisions/default/r001/receipts/install-gate.yaml"
    packageBase: "packages/elastic/logstash/8.5.1/bases/default/kustomization.yaml"
    twoClusterKindParity: "runs/live-kind-parity/elastic-logstash-default/receipt.yaml"
    liveHelmConfigHubParity: "runs/live-helm-confighub-compare/elastic-logstash-default/receipt.yaml"
  currentState:
    supportLevel: "machine-proof-only"
    productionReadiness: "not-reviewed-for-production"
    catalogStatus: "proof-grade"
    strongestEvidence: "live-helm-vs-confighub-parity"
    scanHigh: 0
    scanMedium: 0
    gateDecisions:
      - "allow"
    featureFocus:
      - "tpl"
      - "capabilities"
      - "stateful-storage"
  decisionsNeeded:
    -
      workType: "variant-selection"
      reviewer: "catalog reviewer"
      reason: "Confirm the promoted base is a real Helm-user path, not merely the first rendered baseline."
      doneWhen: "A selected variant is named from default;ha and the non-selected variants have a written promote/defer reason."
      evidence: "recipes/elastic/logstash/8.5.1/CATALOG.md"
    -
      workType: "scan-and-gate-disposition"
      reviewer: "security reviewer"
      reason: "Scan/gate state is high=0, medium=0, gates=allow."
      doneWhen: "Every warning is fixed, accepted with rationale, or routed to a narrower base before catalog support."
      evidence: "data/catalog-promotion-review/review.csv"
    -
      workType: "storage-and-rollback-policy"
      reviewer: "operator reviewer"
      reason: "The chart has persistent or stateful behavior."
      doneWhen: "Storage class assumptions, PVC behavior, backup/rollback boundary, and destructive-change policy are written for the selected base."
      evidence: "recipes/elastic/logstash/8.5.1/helm-pain-report.yaml"
    -
      workType: "template-and-capability-boundary"
      reviewer: "catalog reviewer"
      reason: "The chart has template-powered inputs or Kubernetes capability branches."
      doneWhen: "The supported values, capability profile, and extension-slot policy are catalog-readable for the selected base."
      evidence: "recipes/elastic/logstash/8.5.1/helm-plan.yaml"
    -
      workType: "selected-live-evidence"
      reviewer: "operator reviewer"
      reason: "Strict parity evidence exists (live-helm-vs-confighub-parity); catalog promotion needs the selected runtime evidence boundary."
      doneWhen: "The selected base has linked live evidence, GitOps/OCI evidence, live parity evidence, or a routed deferral with rationale."
      evidence: "data/live-kind-parity/summary.csv;data/live-helm-confighub-compare/summary.csv"
    -
      workType: "target-scoped-support-decision"
      reviewer: "catalog owner"
      reason: "Catalog support is not implied by machine proof."
      doneWhen: "A target-scoped support decision exists with supported, deferred, superseded, or blocked outcome."
      evidence: "data/production-support-decisions/summary.md"
  claimsNotMade:
    - "catalog support"
    - "production support"
    - "support for non-selected variants"
    - "support for private values overlays or wrapper charts"
    - "support outside the eventual target scope"
    - "backup, restore, storage-class fit, or data-retention behavior"
  nextAction: "Use this packet to choose the promoted base, close the listed review decisions, link selected live evidence or a routed deferral, then write a target-scoped support decision before changing catalog status."
