Synthetic Torture Suite

Generated at: 2026-06-13T06:07:46.130Z UTC · source: committed torture-suite fixture results.

8 fixtures · 1 pass · 5 named refusals · 2 named routes · 0 silent outcomes by construction. Charts written to break the model; every one must land in a named outcome or recording fails. Hover the attack column for the routing notes. Re-record with npm run torture:record.

FixtureAttackOutcomeDetail
alias-collisionThe same subchart is included twice under different aliases, and the child hardcodes an object name - both instances render the identical object identity.refused-object-identity-collisionv1|ConfigMap||child-shared-cm
import-values-chainimport-values pulls child chart exports into the parent values space; a value-source map that only scans the parent values.yaml cannot explain where the rendered field came from.pass-deterministic
lookup-in-speclookup reads the live cluster at render time to fill a spec field, so a factory render cannot equal an in-cluster render.routed-lookup-target-facts
random-selectorRandom generation inside spec.selector.matchLabels: every render produces a different immutable selector, so no two renders describe the same workload.refused-nondeterministic-render
sprig-env-accesssprig env reads the rendering machine's environment variables into the output, leaking machine state and making renders machine-dependent.refused-template-errorError: parse error at (sprig-env-access/templates/configmap.yaml:6): function "env" not defined Use --debug flag to render out invalid YAML Command failed: helm template torture $HOME/code/helm-expt-claude-clone
timestamp-annotationnow baked into an annotation: the rendered bytes change every run, so byte-level parity is impossible by construction.refused-nondeterministic-render
tpl-self-recursionA values entry that tpl-renders itself recurses forever; a naive renderer hangs or crashes without a named outcome.refused-template-errorruntime: goroutine stack exceeds 1000000000-byte limit runtime: sp=0x4afb347803a0 stack=[0x4afb34780000, 0x4afb54780000] fatal error: stack overflow runtime stack: runtime.throw({0x105a97729?, 0x1042b63a4?}) runtime/pa
verb-branchThe template branches on .Release.IsUpgrade, so the chart renders differently on install and upgrade - a single captured render is not the chart.verb-dependent-render