apiVersion: "catalog.confighub.com/v1alpha1"
kind: "BaseVariantRecord"
metadata:
  name: "policy-reporter-policy-reporter-3-10-0-default"
  labels:
    sourceType: "helm"
    component: "policy-reporter/policy-reporter"
    sourceVersion: "3.10.0"
    base: "default"
spec:
  source:
    type: "helm"
    name: "policy-reporter/policy-reporter"
    version: "3.10.0"
    record: "data/helm-render-intents/intents/policy-reporter-policy-reporter-3-10-0-default.yaml"
    packageOciRef: "oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/policy-reporter-policy-reporter:3.10.0@sha256:9e0c8f5e055f2f67bca6a0f8854fb89b0b92f2f7215671e05cf96b0d2a26641e"
    selection:
      name: "default"
      kind: "catalog-preset"
      provider: "Config Workshop"
      record: "data/helm-render-intents/intents/policy-reporter-policy-reporter-3-10-0-default.yaml"
  baseVariant:
    name: "default"
    revision: "r001"
    digest: "9d91ad95b5f42bd26267c90a6a34c86717c81ce65acae29f73b0c52e912c9b4e"
    digestRole: "helm-variant-revision"
    digestRecord: "recipes/policy-reporter/policy-reporter/3.10.0/revisions/default/r001/variant-revision.yaml"
  configuration:
    format: "kubernetes-yaml"
    objects: "recipes/policy-reporter/policy-reporter/3.10.0/revisions/default/r001/rendered/release-objects.yaml"
    inventory: "recipes/policy-reporter/policy-reporter/3.10.0/revisions/default/r001/rendered/object-inventory.yaml"
    objectCount: 8
    digest: "a7b6293916be3b1e6e7746a1fb2802f6e820ecd9fbb24aa122fc028a6f95de10"
    digestRole: "canonical-object-set"
    digestRecord: "recipes/policy-reporter/policy-reporter/3.10.0/revisions/default/r001/variant-revision.yaml"
  processing:
    sourceIntent:
      status: "recorded"
      record: "data/helm-render-intents/intents/policy-reporter-policy-reporter-3-10-0-default.yaml"
    materialization:
      method: "helm-render"
      status: "captured"
      outputDigest: "a7b6293916be3b1e6e7746a1fb2802f6e820ecd9fbb24aa122fc028a6f95de10"
      record: "recipes/policy-reporter/policy-reporter/3.10.0/revisions/default/r001/variant-revision.yaml"
    flattening:
      status: "decided"
      verdict: "safe-to-flatten"
      action: "retain-exact-objects"
      scope: "policy-reporter/policy-reporter@3.10.0/default; recheck after source, lifecycle-sensitive variant, destination, or delivery-runtime changes"
      record: "recipes/policy-reporter/policy-reporter/3.10.0/publication/flattening-safety-verdict.yaml"
    boundaries:
      - "Helm rendered the pinned chart and values into the exact objects retained by this base."
  assessment:
    stages:
      -
        id: "inspection"
        question: "What do I have?"
        answer: "Inspect the helm source, choices, locks, and any existing output before selecting a destination."
        requiredInputs:
          - "The chart and values, a rendered object set, or a package that contains them"
        catalogMatchRequired: false
        sourceIntentRequired: false
        destinationAccessRequired: false
        deploymentRequired: false
        evidenceState: "completed"
        resultState: "available"
        records:
          - "data/helm-render-intents/intents/policy-reporter-policy-reporter-3-10-0-default.yaml"
          - "recipes/policy-reporter/policy-reporter/3.10.0/revisions/default/r001/rendered/release-objects.yaml"
          - "recipes/policy-reporter/policy-reporter/3.10.0/revisions/default/r001/rendered/object-inventory.yaml"
        nextAction: "Inspect or compare the source and exact files before choosing a destination."
      -
        id: "materialization"
        question: "What will it produce?"
        answer: "Run the recorded Helm render step to produce the exact Kubernetes objects for this configuration."
        requiredInputs:
          - "The pinned chart, version, values, namespace, release name, and render capabilities"
        catalogMatchRequired: false
        sourceIntentRequired: true
        destinationAccessRequired: false
        deploymentRequired: false
        evidenceState: "completed"
        resultState: "pass"
        records:
          - "data/helm-render-intents/intents/policy-reporter-policy-reporter-3-10-0-default.yaml"
          - "recipes/policy-reporter/policy-reporter/3.10.0/revisions/default/r001/variant-revision.yaml"
        nextAction: "Review the exact object set and its digest."
      -
        id: "destination"
        question: "Can this destination accept it?"
        answer: "No destination answer is available yet because target facts or lifecycle handling are incomplete."
        requiredInputs:
          - "The exact candidate configuration"
          - "The selected destination and its current APIs, prerequisites, policies, credentials, controllers, and hardware facts"
        catalogMatchRequired: false
        sourceIntentRequired: true
        destinationAccessRequired: true
        deploymentRequired: false
        evidenceState: "pending"
        resultState: "pending"
        records:
          - "data/helm-render-intents/intents/policy-reporter-policy-reporter-3-10-0-default.yaml"
        nextAction: "Choose the destination, record its facts, and resolve the required lifecycle work before apply."
      -
        id: "post-deployment"
        question: "Did it work?"
        answer: "No post-deployment result is recorded for this exact configuration. Publication, upload, or rendering is not proof that it ran correctly."
        requiredInputs:
          - "The exact delivered revision and destination"
          - "Live controller, resource, health, runtime, drift, and rollback observations required by the claim"
        catalogMatchRequired: false
        sourceIntentRequired: true
        destinationAccessRequired: true
        deploymentRequired: true
        evidenceState: "not-run"
        resultState: "not-run"
        records:
          []
        nextAction: "Deliver the exact revision, then record controller, resource, health, runtime, drift, and rollback results separately."
  inputs:
    fixedAtBuildTime:
      - "chart=policy-reporter/policy-reporter"
      - "version=3.10.0"
      - "base=default"
      - "valuesProfile=recipes/policy-reporter/policy-reporter/3.10.0/effective-values.yaml"
      - "namespace=policy-reporter"
      - "releaseName=policy-reporter"
      - "capabilityProfile={\"apiVersions\":[],\"kubeVersion\":\"1.30.0\"}"
    installTime:
      []
    installTimeStatus: "not-yet-declared"
  lifecycle:
    requirements:
      status: "gap"
      items:
        []
      records:
        - "data/helm-render-intents/intents/policy-reporter-policy-reporter-3-10-0-default.yaml"
    routeIntent:
      status: "gap"
      routes:
        []
      records:
        - "data/helm-render-intents/intents/policy-reporter-policy-reporter-3-10-0-default.yaml"
    targetFacts:
      status: "gap"
      declared:
        {}
      requirementRefs:
        []
      records:
        - "data/helm-render-intents/intents/policy-reporter-policy-reporter-3-10-0-default.yaml"
    resolution:
      status: "gap"
      rule: "Re-resolve after a lifecycle-sensitive variant change, destination assignment, or delivery-runtime change; bind the result to the exact configuration digest."
      records:
        []
  ownership:
    status: "partly-declared"
    sourceControlled:
      - "Fields produced from the recorded chart values and render context"
    variantControlled:
      - "Post-render object fields recorded in ConfigHub after upload"
    targetSupplied:
      []
    deliveryProtected:
      []
    records:
      - "data/helm-render-intents/intents/policy-reporter-policy-reporter-3-10-0-default.yaml"
    rule: "Re-evaluate ownership when the source, variant, destination, or delivery behavior changes; overlapping source and variant edits require review."
  delivery:
    literalConfigOci:
      status: "published-with-receipt"
      observedReference: "oci://europe-west1-docker.pkg.dev/nth-fort-499605-q5/helm-expt/bundles/catalog-policy-reporter-policy-reporter-3-10-0-default:latest@sha256:0020133672486656c7e22a428bd3555b6e8a0d764ea06af0e1bd9a1d4e761234"
      manifestDigest: "sha256:0020133672486656c7e22a428bd3555b6e8a0d764ea06af0e1bd9a1d4e761234"
      layerDigest: "sha256:128801390e55224f453163c84c29779ac7d3f9b0e3a483ed863797689d232ca3"
      objectSetSha256: "sha256:a7b6293916be3b1e6e7746a1fb2802f6e820ecd9fbb24aa122fc028a6f95de10"
      receipt: "data/certified-bundles/receipts/catalog/policy-reporter-3.10.0-default/receipt.yaml"
      receiptSha256: "sha256:21e543c04f443c32364b303ac4df5900bf4417f1ba5da02a02a6a6c2dfb4584a"
      publicationReceipt: "runs/certified-bundles/catalog-policy-reporter-policy-reporter-3-10-0-default/publication-receipt.yaml"
      publicationReceiptSha256: "sha256:0974b72d6a8be6a580bafa4653867ca410d31f236dd56bf99ad4415883c06df6"
      routes:
        []
      note: "The receipt and publication receipt declare these route files; this binding does not prove a remote pullback or route execution."
    configHubReleaseOci:
      status: "not-recorded-for-this-base"
      note: "No current ConfigHub Space release OCI receipt is recorded for this exact base."
    argoCd: "not-recorded-for-this-base"
    flux: "not-recorded-for-this-base"
    direct: "not-recorded-for-this-base"
    historicalGitopsOciStatus: "todo"
  policy:
    profile: "catalog-standard"
    productionAdds:
      - "workflow-approval"
  evidence:
    renderParity: "yes"
    confighubScanOps: "todo"
    localKind: "todo"
    lifecycleObserved: "n/a"
    gitopsOciLive: "todo"
    liveDualParity: "todo"
    twoClusterKind: "todo"
    variantPromotion: "missing-confighub-proof"
  operations:
    resourceClass: "not-yet-classified"
    ownerClass: "not-yet-classified"
    changeCadence: "not-yet-classified"
status:
  level: "available"
  claim: "The Helm source record, committed rendered objects, revision digest, routes, target facts, and proof-lane statuses are indexed here."
  limits:
    - "This record does not claim that the base has been uploaded to a live ConfigHub Space."
    - "The inputs still required at installation are not yet fully recorded for every Helm configuration."
    - "A multi-preset installer package OCI is not the same as a single literal configuration OCI."
