Per-Chart Fact-Sheet Spec

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

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

UNOFFICIAL/EXPERIMENTAL - design spec for the public per-chart page.

This is the detailed spec for the website Chart Page in dedicated-website-plan.md §3: the section list, the exact data source each field pulls from, and a solid / partial / needs-more-testing status per item so the build renders what is real first and labels the rest honestly.

It is the union of per-chart surfaces already produced under data/. The backbone that already joins most of it per chart is data/chart-evidence-router/router.csv.

The core principle: two columns, not one

A user needs level of support (the claim) next to evidence depth (the substantiation + freshness) - never one without the other. "Supported for scope X" is only trustworthy beside "proven on lanes A,B; C is watch; D untested, as of <date>." Evidence depth is the honesty that beats "helm just runs": not just works, but how much we have proven and where the edge of evidence is.

Status legend: solid = data exists and is stable, render now. partial = data exists but coverage is uneven across charts. needs-more-testing = depends on live lanes / fresh evidence; render with freshness and a "what more testing adds" note.

A. Identity & origin

FieldUser learnsData sourceStatus
Chart / version / source digestwhich chart, pinned to whatrecipes/<repo>/<chart>/<ver>/source-lock.yaml; matrix source_lock_pathsolid
Upstream currencyis this current vs upstreamdata/refresh-survival/refreshes.csvpartial (top-20)
Dependency provenancechart-own vs vendored subcharts; where objects come fromdata/remote-dependency-closure/top100.csv; recipes/.../dependency-lock.yamlpartial
Image pinningdigest-pinned vs mutable (reproducibility/security)data/image-digest-workdown/partial

B. Support level (the claim)

FieldUser learnsData sourceStatus
Catalog tier / adoption bucketuse now / promote / needs-variant / limitation-firstmatrix catalog_tier,adoption_bucket; data/chart-use-guide/chart-use-guide.csvsolid
Production decision + target scopesupported where, for whatdata/production-support-decisions/decisions.csvpartial (top-20)

C. Evidence depth (the substantiation) - the "with more testing?" column

FieldUser learnsData sourceStatus
Lane results (render / in-ConfigHub / local-live / GitOps-OCI / live Helm-vs-ConfigHub / two-cluster)how much is provenmatrix lane_*; data/outcome-coverage/base-outcomes.csvpartial → needs-more-testing (live lanes)
Freshnesshow fresh the evidence isreceipt timestamps; generated-at; matrix evidence-version colsneeds-more-testing
What's todo/watch/blocked = what more testing would addthe edge of evidencematrix lane statuses; data/disposition-frontier/solid (the gap is measured)

D. Variants / bases

FieldUser learnsData sourceStatus
Available bases + recommended firstwhich shape to usedata/top20-base-readiness/base-readiness.csv; data/variant-path-coverage/solid (top-20) / partial (beyond)
Derived variantstarget-bound clonesdata/outcome-coverage/derived-variant-outcomes.csvpartial

E. Quirks & hidden behaviors, and their dispositions

FieldUser learnsData sourceStatus
Hook / lifecycle routes (route, execution mode, default, off-ramps, safe-to-automate)where hooks/hidden behavior go, who runs themdata/lifecycle-routes/routes.jsonsolid contract; partial coverage (hook source covers 13 charts)
Quirk features presentwhat hidden behaviors existdata/chart-facts/chart-facts.csv; matrix quirk_featuressolid
Quirk-axis treatmenthow each quirk class is handleddata/quirk-coverage/coverage.csvsolid (per-axis)

F. Mitigations

FieldUser learnsData sourceStatus
Known pain & how the catalog handled itthe rough edges and the route takenrecipes/.../helm-pain-report.yaml; recipes/.../weirdness-and-mitigations.mdpartial (per-chart coverage uneven)

G. What you must provide or decide

FieldUser learnsData sourceStatus
Target facts / prerequisiteswhat you must supply before applydata/top20-base-readiness (target facts); chart-facts required_values; lifecycle-routes target-facts routespartial
Per-target decisionswhat you must choose (catalog names it, doesn't guess)lifecycle-routes per-target rows; data/production-support-decisions target scopepartial

H. Help & next step

FieldUser learnsData sourceStatus
Applicable skill(s)is there a playbook for this chartdata/chart-skills/skills.jsonsolid (advisory)
Try-it command + next actionhow to startmatrix start_command/next_action; data/chart-use-guide/solid
Claims vs explicit non-claimsthe trust boundarydata/claims-register/claims.csv; docs/user/what-we-refuse-to-claim.mdsolid

Build sequencing

  1. Render the solid items now - identity, support level, variants, quirks & dispositions (lifecycle-routes is already on the chart page), skills (after the chart-skills mapping lands), claims, try-it.
  2. Add evidence depth with freshness - lanes + the todo/watch/blocked edge, dated. This is the column that makes the support claim trustworthy.
  3. Fill mitigations and prerequisites where coverage exists, and mark the rest needs-more-testing rather than hiding it.

Honest defaults: never imply automatic execution unless execution_mode = product-executes with evidence; never show a support level without its evidence depth; show "none recorded" explicitly rather than omitting a section.