apiVersion: helm-expt.confighub.com/v1alpha1
kind: HookLifecycleRouteReceipt
metadata:
  name: argo-cd-argo-workflows-minimal-crds-route
spec:
  chart: argo-cd/argo-workflows
  version: 1.0.14
  base: minimal-crds
  result: observed
  selectedAt: "2026-06-13"
  observedAt: "2026-06-13T15:54:46Z"
  route:
    summary: The install-critical full-CRD Helm hook is avoided for this base by rendering minimal CRDs as ordinary desired objects with crds.full=false.
    phases:
      - hookTypes: [pre-install, pre-upgrade]
        action: self-contained-crd-base
        reason: Argo Workflows default full CRDs are installed through a Helm hook using server-side apply; this base chooses the self-contained minimal-CRD route instead.
  evidence:
    - path: data/hook-route-candidates/argo-cd-argo-workflows.yaml
      claim: Candidate route review records the full-CRD hook and the two safe routes.
    - path: recipes/argo-cd/argo-workflows/1.0.14/variants/minimal-crds/variant.yaml
      claim: The selected base records the minimal-CRD render boundary.
    - path: recipes/argo-cd/argo-workflows/1.0.14/revisions/minimal-crds/r001/receipts/install-gate.yaml
      claim: The minimal-CRDs revision is allowed by the install gate.
    - path: runs/next80-local-kind/argo-cd-argo-workflows-1.0.14-minimal-crds/observation-receipt.yaml
      claim: Local kind observation applied the rendered objects, established 8 CRDs, and converged the controller and server Deployments.
    - path: runs/argo-workflows-minimal-crds-confighub-proof/latest/confighub-proof-receipt.yaml
      claim: ConfigHub proof uploaded the minimal-CRDs base as visible Units and exercised the server-side variant clone path.
    - path: runs/live-helm-confighub-compare/argo-cd-argo-workflows-minimal-crds/receipt.yaml
      claim: ConfigHub OCI delivery through Argo CD reached Synced and Healthy with the eight CRDs stored and applied as ordinary objects.
    - path: runs/live-kind-parity/argo-cd-argo-workflows-minimal-crds/receipt.yaml
      claim: Separate vanilla kind clusters proved Helm and cub installer both converged, with no missing objects or semantic differences.
  execution:
    helmHooksExecutedByHarness: false
    runtimeObserved: true
    observedRoute:
      route: self-contained-crd-base
      result: pass
      receipts:
        - runs/next80-local-kind/argo-cd-argo-workflows-1.0.14-minimal-crds/observation-receipt.yaml
        - runs/live-helm-confighub-compare/argo-cd-argo-workflows-minimal-crds/receipt.yaml
        - runs/live-kind-parity/argo-cd-argo-workflows-minimal-crds/receipt.yaml
      renderedCRDs: 8
      convergedWorkloads: 2
      argoSync: Synced
      argoHealth: Healthy
      semanticParity: pass
    notes:
      - This receipt applies only to the minimal-crds base.
      - The upstream full-CRD pre-install hook is not executed by Helm in this route.
      - Argo CD and kubectl applied the rendered CRDs as ordinary objects before the dependent workloads; no replacement hook is needed for this base.
      - The default and controller-default-reviewed bases still require full CRDs as target prerequisites.
      - Minimal CRDs are not a proof of full CRD upgrade safety.
  remainingWork:
    - Prove a full-CRD target-prerequisite route if a user needs the upstream full OpenAPI CRD schemas.
    - Refresh these receipts when the chart, preset config, package, or supported target changes.
