Current Handover

A repository document, rendered for the site. View source markdown.

What this command does. cub installer is a released, open-source plugin for the cub CLI. cub installer setup pulls a catalog package and writes its Kubernetes files locally. It does not apply those files to a cluster; use kubectl, Argo CD, or Flux for delivery. The generated scripts stop before doing any work when the plugin or kustomize is missing.

Generated at: 2026-07-30T12:38:02.000Z UTC · source: committed helm-expt evidence for this rendered repository document.

This is the current handover for the helm-expt repository. It is intended for another engineer or agent picking up the work from public main.

For current priorities, start with Roadmap. This file is a pickup snapshot and vocabulary note, not the canonical roadmap.

For the next Codex running on a machine that can perform live Kubernetes and GitOps testing, start with:

docs/planning/large-machine-handover.md
docs/planning/large-machine-roadmap.md

Those files are stricter than this rolling handover about what "verified", "live", "all charts", and "derived variant" mean.

Repository State

The repository is a public proof corpus for turning popular public Helm charts into reviewed cub installer packages, supported base variants, rendered objects, scans, receipts, and live-test evidence.

In this handover, base variant means a render-time installer/package variant. Derived ConfigHub variant means a downstream ConfigHub variant created after a reviewed base has been uploaded, using clone/link plus approved post-render refinements. The public catalog primarily proves base variants. Derived variants are still part of the product model, but they appear after upload when a deployment needs target, environment, region, customer, namespace field, fact binding, placeholder, TransformPaths, function, gate, link, check, or observation-policy changes without re-rendering Helm.

The current public path is:

New to cub? Install the cub CLI first. You can pull and render public catalog packages without an account. Commands that save or change ConfigHub data require you to sign in.

Helm chart
  -> analyzed chart facts and control points
  -> cub installer package
  -> supported base variants that change or select the Helm-rendered object set
  -> rendered Kubernetes objects
  -> ConfigHub upload receipts
  -> optional derived ConfigHub variants for approved post-render fields, facts, targets, gates, links, checks, or observation policy
  -> operation receipts
  -> local runtime evidence
  -> GitOps/OCI runtime evidence

If a reader sees "supported variants" in generated catalog evidence, read that as "supported base variants" unless the artifact explicitly says it is a derived ConfigHub variant.

The current proof surface is:

100 charts have recipe/package proof artifacts.
20 charts are catalog-supported for the declared local-test scope.
20/20 top-20 charts have local-kind runtime receipts.
20/20 top-20 charts have ConfigHub proof receipts.
80 additional charts are proof-grade, not catalog-supported.
All non-Redis top-20 proof scripts use the shared proof kit.

For chart-recipe-variant lane coverage, use the generated lane matrix instead of chart-level shorthand:

data/outcome-coverage/summary.md

As of the current matrix, all 191 chart/base rows have Helm-equivalence plus installer setup-check evidence. ConfigHub proof, local-kind evidence, and ConfigHub OCI/Argo live proof are partial by exact variant row.

There are two live parity surfaces, and they answer different questions:

SurfaceCurrent readingUse it for
Selected live Helm-vs-ConfigHub comparison84 committed receipts: 83 pass, 1 watch, 0 blocked.Comparing regular Helm with ConfigHub direct apply and ConfigHub OCI/Argo delivery for selected chart/base rows.
Live parity rerun queue1 GitOps/controller-health row, 0 render-input rows, 0 semantic parity defects.The active non-pass row is Consul secure mesh. Semantic parity and workload readiness passed; the remaining work is Argo aggregate health review on the three-node target profile.

The watch and blocked rows are not currently object-set parity defects. They surface target prerequisites, hook/lifecycle routes, controller health, storage, or runtime readiness decisions that still need to be modeled or rerun.

For exact GitOps/OCI status, do not rely on copied counts in this handover. Use the generated status dashboard and outcome CSVs:

data/status-dashboard/summary.md
data/outcome-coverage/base-outcomes.csv
data/runtime-gitops/summary.md

The runtime/GitOps first wave tracks the first ten selected Argo/Flux OCI rows. The broader outcome table also includes later GitOps/OCI receipts from other live lanes. Treat both as exact chart/base evidence, not as a chart-level blanket claim.

Outcome doctrine:

Every supported Helm chart default and declared main choice should become
verifiably reproducible, ConfigHub-reviewable, live-cluster verified, and tied
to receipts.

Do not treat an activity as done just because a script, doc, generated row, or tutorial exists. The outcome must be visible in committed evidence and guarded by a verifier. For catalog-supported charts, "main choices" means the default base plus the declared supported non-default bases such as existing-secret, no-crds, server-only, ingress, HA, ClusterIP, storage, or equivalent chart choices. For derived ConfigHub variants, it means the post-render operating choices that the docs claim are supported: target, environment, region, customer, gates, facts, links, field fills, checks, and observation policy.

The current honest state is therefore:

render reproducibility: complete for current recipe variants
ConfigHub proof: partial by exact chart-recipe-variant row
local live cluster proof: partial by exact chart-recipe-variant row
GitOps/OCI live proof: partial by exact chart-recipe-variant row; use generated status for current pass, watch, blocked, and missing counts
selected live Helm-vs-ConfigHub comparison: see generated status for current pass, watch, blocked, and missing counts
live parity rerun queue: 1 GitOps/controller-health watch row, 0 render-input active rows, 0 semantic parity defects in the selected live Helm-vs-ConfigHub lane
two-cluster kind parity: 73 pass, 1 watch, 0 blocked, 0 semantic parity defects
lifecycle observation proof: cert-manager and External Secrets exact rows pass, generic hook lifecycle support remains backlog

The top-level public entry points are README.md, CATALOG.md, and the generated static site under site/.

Latest Completed Work

The proof-kit migration is complete for the current non-Redis top-20 charts: those chart proof scripts now share scripts/lib/proof-kit.mjs. Redis remains bespoke because it carries the first tutorial and user-install verification helpers.

The latest generated queues for the next proof stages are:

AreaArtifact
Runtime/GitOps first wavedata/runtime-gitops/summary.md
Hook lifecycle wavedata/hook-lifecycle/summary.md
Cert-manager / External Secrets lifecycle observationsdata/lifecycle-observations/cert-manager-eso/summary.md
Image digest workdowndata/image-digest-workdown/summary.md
Compact next-ten wavesdata/next-ten-waves/summary.md
Lane-test matrixdata/outcome-coverage/summary.md
Live parity rerun queuedata/live-parity-rerun-plan/summary.md
Refresh survival and upgrade seeddata/refresh-survival/summary.md

These files are generated and verified. Do not edit them by hand.

2026-06-13 update: Cluster Autoscaler controller-default-reviewed no longer belongs in the live rerun queue. It was converted from a misleading alias-of-default render into a values-profile rerender with autoDiscovery.clusterName=kind and awsRegion=us-east-1, then rerun through regular Helm, ConfigHub direct apply, and ConfigHub OCI/Argo. The committed receipt is:

runs/live-helm-confighub-compare/autoscaler-cluster-autoscaler-controller-default-reviewed/receipt.yaml

The useful-base realization wave now distinguishes alias bases from values-profile rerenders:

data/useful-base-realization-wave/summary.md

The compact product entry point is:

docs/user/what-you-get.md

Historical planning snapshots live under:

docs/planning/archive/

2026-06-04 Configuration-As-Data And Derived-Variant Sync

The near-term TODO list now folds in the configuration-as-data value lanes and the current cub variant command surface. See next-20-tasks.md for the active queue and issue-backlog.md for the issue mirror.

Current CLI truth:

cub variant create
cub variant promote
cub variant upload

cub variant create is the current derived-variant clone/link substrate. cub variant promote is the current upstream-to-downstream catch-up command. cub variant upload is a direct already-rendered-manifest ingestion command. cub variant release is not a current local command and should be described only as planned or candidate product work.

New issues created from the configuration-as-data / derived-variant review:

IssueFocus
#143Make cub variant create the explicit derived-variant substrate.
#144Build a derived-variant expansion wave across top-20 and wave-2 charts.
#145Prove promotion and environment management with derived ConfigHub variants.
#146Add fleet inventory and CMDB views.
#147Prove fleet-scale mutation and codemod workflows.
#148Add policy, compliance, and security posture reports.
#149Add dependency graph and impact analysis.
#150Add Creator and agentic intent flow over cub variant create.
#151Define variant release and OCI handoff semantics.
#152Define promotion UI expectations for clean variant diffs.
#153Reposition GitOps tutorial around Argo/OCI and bridge-independent proof.

The most important gap is now explicit: the repo still needs more derived ConfigHub variants with execution receipts. Issue #144 now has a generated starting wave under data/variant-goldens/derived-expansion-wave/: 10 derived-variant work orders across Redis, Prometheus, NGINX, Grafana, and Vault. Each work order now has golden clone, mutation, and check receipt targets under receipts/<work-order>/. These are explicit proof targets, not live execution receipts.

2026-06-05 update: live derived-variant execution receipts now exist for all 10 work orders in the first derived expansion wave: NGINX, Redis, Prometheus, Grafana, and Vault. The receipts prove clone/link preservation, same final data-hash set as the reviewed base, production gates where the work order asks for them, and no Helm re-render. Grafana required one corrective update per derived variant because the initial clone replaced one duplicated 9094 port's name and protocol with confighubplaceholder; the receipts record that friction explicitly. The active ConfigHub context did not have the desired work-order targets, so these receipts intentionally stop before target binding and live apply:

runs/derived-variant-execution/nginx-prod-us-east/variant-create-receipt.yaml
runs/derived-variant-execution/nginx-customer-acme-prod/variant-create-receipt.yaml
runs/derived-variant-execution/redis-prod-us-east/variant-create-receipt.yaml
runs/derived-variant-execution/redis-staging-eu-west/variant-create-receipt.yaml
runs/derived-variant-execution/prometheus-prod-us-east/variant-create-receipt.yaml
runs/derived-variant-execution/prometheus-staging-eu-west/variant-create-receipt.yaml
runs/derived-variant-execution/grafana-prod-us-east/variant-create-receipt.yaml
runs/derived-variant-execution/grafana-customer-acme-prod/variant-create-receipt.yaml
runs/derived-variant-execution/vault-regulated-prod-us-east/variant-create-receipt.yaml
runs/derived-variant-execution/vault-staging-us-east/variant-create-receipt.yaml
npm run derived-variants:verify

Redis's ConfigHub proof receipt was also refreshed through the common top-20 ConfigHub proof lane. The Redis-specific verifier now checks the common upload.kubernetesUnitCount and serverSideVariant.downstreamSpace fields, so Redis no longer preserves the older receipt schema as a special case.

Target-bound derived-variant receipts now exist for NGINX-prod-us-east, NGINX-customer-acme-prod, MetricsServer-prod-us-east, Prometheus-prod-us-east, and Prometheus-staging-eu-west:

data/derived-variant-target-bound/summary.md
runs/derived-variant-target-bound/nginx-prod-us-east/receipt.yaml
runs/derived-variant-target-bound/nginx-customer-acme-prod/receipt.yaml
runs/derived-variant-target-bound/metrics-server-prod-us-east/receipt.yaml
runs/derived-variant-target-bound/prometheus-server-only-prod-us-east/receipt.yaml
runs/derived-variant-target-bound/prometheus-server-only-staging-eu-west/receipt.yaml
npm run derived-variants:target-bound:verify
npm run derived-variants:target-bound:summary:verify

They prove cub variant create --target, target-bound cloned workload Units, ConfigHub OCI publication, Argo CD reconciliation, Kubernetes runtime readiness, and cleanup for a small web chart, a cluster-service chart, and a server-only observability chart across production, staging, and customer-derived variants. A blocked target-bound receipt also exists for Redis-staging-eu-west; it records that the Redis staging work order needs checked namespace mutation and Redis Secret delivery before it can honestly be called target-bound live. The next derived-variant implementation step is to add those post-clone mutation/secret checks, or pick a derived variant whose declared operating change does not require them. After that, repeat the same target-bound live path for Redis or for additional derived operating variants. The Grafana placeholder drift is tracked in #156 as a follow-up issue against clone/upgrade behavior.

2026-06-03 Variant And Spreadsheet Findings

Today's review found that the public data tracks base/render variants and Helm problem-space signals, but it does not yet track derived ConfigHub variant opportunity as a first-class Top-500 metric.

Current Top-500 counts:

rows: 500
source scanned: 495
source failed: 5
current proof recipes in repo: 100
current proof recipes matched to old matrix rows: 91
no current recipe proof: 409
catalog-supported rows: 20
proof-grade rows: 71
default-only proofs: 41
multi-variant proofs: 50
matched proof variants/revisions in top-500 rows: 143
catalog-supported base variants in matched top-500 rows: 40

Current Top-500 next-action counts:

review source/current-version drift and refresh recipe if needed: 21
record target-scoped support decision and refresh live/e2e observation lane: 15
run catalog promotion review: 24
create recipe, package, variants, rendered digest, scans, and receipts: 404
add user-shaped variants before catalog promotion: 31
repair source acquisition before recipe proof: 5

Where the counts live:

QuestionCurrent tracking
How many rows have proof, support, package, and variant status?data/top500-catalog-analysis/review.csv and data/top500-catalog-analysis/raw.json.
How do those rows map to the Helm problem-space?data/top500-catalog-analysis/drilldown.csv and raw.json columns such as source_features, lookup_count, tpl_count, crd_files_count, cluster_roles_count, webhooks_count, stateful_sets_count, pvc_count, and proof control categories.
Which top-100 rows are next for strict promotion review?data/top100-promotion-wave/summary.md.
Which concrete base/render variants are next?data/catalog-promotion-wave2/summary.md, data/catalog-promotion-wave2/variant-work-orders.md, and data/next-ten-waves/variant-build-wave.csv.
Which derived ConfigHub variant capability has receipt-style proof?data/variant-goldens/redis-prod-us-east/preview.yaml shows one Redis default-to-prod clone with three changed paths and one preserved upstream-link change. data/variant-goldens/derived-expansion-wave/README.md adds 10 derived-variant work orders across five reviewed bases.
Which managed overlay route proves a creator path?data/managed-overlay-goldens/external-dns-customer-acme-prod/preview.yaml, currently showing six classified overlay routes, including one creator route.

Important gap:

The big Top-500 sheet does not yet count derived ConfigHub variant opportunity.
It counts current base variant proof status and maps source problem-space
complexity. Derived variant reach is now represented by goldens, the generated
derived-expansion wave, and managed-overlay examples, not yet by scaled
Top-500 catalog metrics.

The next Top-500 generator update should add generated fields or a generated companion table for:

base_variant_opportunity_count
derived_variant_opportunity_count
delivery_prerequisite_count
variant_route_mix
derived_variant_routes
problem_space_tags
recommended_variant_strategy

Recommended recommended_variant_strategy values:

needs-recipe-first
base-only
base-plus-derived
managed-overlay
delivery-prerequisite-first

The Top-500 front sheet is review.csv. The generator and verifier now check that the summary's advertised outputs exist.

Current Invariants

Keep these rules intact:

Use `cub installer` terminology consistently.
Do not claim GitOps/OCI proof unless a runtime/GitOps receipt exists.
Do not claim production support while production_disposition remains blocked.
Mutable or latest image tags are acceptable for local proof only.
Production OCI support needs image digest evidence or an explicit image override receipt.
If a choice changes Helm render inputs, object count, object shape, or lifecycle semantics, route it through the installer package/base path.
If a choice refines already-rendered ConfigHub Units through approved fields, facts, links, targets, gates, functions, checks, or observation policy, route it through derived ConfigHub variants.
Do not imply derived ConfigHub variants replace base variants for render-time object changes.
Do not describe derived ConfigHub variants as catalog-supported unless receipts prove the uploaded-base-plus-derived-variant path.
Generated data must have a verify script that fails if committed output is stale.
Every task should state the outcome it will prove, the evidence artifact that proves it, and the verifier that keeps it current.

Variant Vocabulary

Use this wording consistently in user-facing docs:

TermMeaningUse when
Base variantA reviewed install shape produced by cub installer.Helm values, overlays, capabilities, generated facts, target facts, lifecycle policy, or component choices change the Helm-rendered object set, object shape, or lifecycle behavior.
Derived ConfigHub variantA downstream ConfigHub Space/Unit set created from an uploaded reviewed base or another derived variant. It does not run Helm again.The reviewed object set is cloned and refined through approved post-render fields, facts, links, targets, gates, functions, checks, approvals, or observation policy.
Delivery prerequisiteA required condition or binding outside the artifact path.Kubernetes, GitOps, OCI, or the target cluster needs a Secret, CRD, StorageClass, digest, pull credential, controller, approval, or other evidence before delivery.

Short rule:

Helm render or object shape changes -> base variant.
Approved post-render refinement changes -> derived ConfigHub variant.
Delivery blocker remains -> delivery prerequisite.

Important Generated Data

Use these generated summaries together:

QuestionRead
What can a user install now?CATALOG.md
What does each chart prove?data/top100-catalog-analysis/summary.md
What quirks and hard gaps remain?data/chart-facts/summary.md and data/quirk-coverage/summary.md
What did we learn from the top 500?data/top500-catalog-analysis/summary.md
What is the current attack-plan queue?data/attack-plan-workdown/summary.md
What is the first GitOps/OCI wave?data/runtime-gitops/summary.md
Which maintained charts need hook lifecycle receipts?data/hook-lifecycle/summary.md
What image pinning work remains?data/image-digest-workdown/summary.md
What are the next compact work rows?data/next-ten-waves/summary.md
Which top-20 versions need refresh?data/latest-top20-refresh/summary.md
Which charts are next for strict promotion review?data/top100-promotion-wave/summary.md
Which charts are next for real variants?data/catalog-promotion-wave2/summary.md
What derived-variant golden exists?data/variant-goldens/redis-prod-us-east/README.md
What derived-variant expansion wave exists?data/variant-goldens/derived-expansion-wave/README.md
What managed-overlay creator route exists?data/managed-overlay-goldens/external-dns-customer-acme-prod/preview.yaml

User Documentation

The primary user docs are under docs/user. They should stay short, plain, and concrete. Do not move generated proof transcripts into the user path.

Important user guides:

TopicFile
Harness lifecyclehow-the-harness-works.md
Recipe-generation workflowintroduction-to-the-harness.md
Base and derived variantscreating-variants.md
Change routing before OCIchange-routing-before-oci.md
Custom overlayscustom-overlays.md
Prometheus overlay and promotion exampleprometheus-overlay-promotion-example.md
Hookshook-lifecycle-strategy.md
Support tiersproduct-support-tiers.md

Tests And Commands

Start with tests/npm-scripts.md for the full command map.

For normal changes:

npm run docs:verify
npm run installer:command-surface:verify

For generated data changes:

npm run attack-plan:verify
npm run runtime-gitops:wave:verify
npm run hooks:lifecycle:verify
npm run image-digests:workdown:verify
npm run next-ten:waves:verify
npm run top20:verify-local-e2e
npm run production:disposition:verify
npm run catalog:wave2:verify
npm run top20:latest-refresh:verify
npm run top20:latest-candidates:verify
npm run top20:latest-promotion-readiness:verify
npm run site:verify

Before merging broad changes:

npm run verify

The full verify chain is expected to pass on a clean checkout.

Suggested Next Tasks

Use next-20-tasks.md as the single active TODO queue. The headline order is:

  1. Make cub variant create current and explicit in docs, Tutorial 4, UX proposals, and command-surface verification (#143).
  2. Extend the target-bound derived-variant lane beyond the first NGINX live receipt, starting with Redis and Prometheus (#144).
  3. Prove promotion and environment management with derived ConfigHub variants (#145).
  4. Keep the closed Helm import path contract (#76) verifier-backed while the downstream cub installer import helm product command remains future work.
  5. Continue wave-2 base-variant promotion, production support decisions, target facts, GitOps/Argo proof, release/OCI semantics, promotion UI expectations, fleet inventory, fleet mutation, policy/security posture, and impact analysis in the order listed in next-20-tasks.md.

Operating Cautions

Do not add another planning document when an existing generated work queue can be refreshed instead.

Do not mark a catalog entry production-supported because it has local-kind evidence or accepted dispositions. Production support needs a final target-scoped decision that records the support scope, required live checks, image policy, lifecycle policy, and runtime/GitOps evidence.

Do not make the user-facing docs longer to explain internal proof machinery. Link to generated evidence from the docs instead.

Do not file issues outside this repository without explicit approval.