# cub installer determinism — does the same input render the same twice?

**UNOFFICIAL/EXPERIMENTAL.** Live receipt generated by `scripts/run-cub-installer-determinism.mjs`; do not hand-edit. Regenerate with `npm run cub-installer:determinism`.

**Claim.** cub installer renders deterministically: rendering the same package + base + inputs twice produces byte-identical manifests. This is the property the config-as-data premise depends on — a reviewable diff is only meaningful if the render is stable; any non-determinism would make diffs noisy.

The config-as-data premise — review a meaningful **diff** before anything reaches a cluster — only holds if rendering is **deterministic**. This renders 12 packages **twice** (fresh work-dirs, identical inputs) and byte-compares.

**Deterministic: 12/12 rendered packages. Non-deterministic: 0.** Overall: **pass**.

## Non-deterministic packages (would make diffs noisy)

None — every rendered package was byte-identical across two runs.

## Per package

| Package | Status | Files | Detail |
| --- | --- | --- | --- |
| bitnami/nginx/24.0.2@http-clusterip | deterministic | 6 | 6 file(s) byte-identical across two runs |
| bitnami/redis@default | deterministic | 14 | 14 file(s) byte-identical across two runs |
| bitnami/mysql@static-passwords | deterministic | 8 | 8 file(s) byte-identical across two runs |
| bitnami/mongodb@static-passwords | deterministic | 8 | 8 file(s) byte-identical across two runs |
| bitnami/rabbitmq@static-passwords | deterministic | 9 | 9 file(s) byte-identical across two runs |
| bitnami/postgresql@static-passwords | deterministic | 7 | 7 file(s) byte-identical across two runs |
| bitnami/apache@default | deterministic | 6 | 6 file(s) byte-identical across two runs |
| bitnami/memcached@default | deterministic | 6 | 6 file(s) byte-identical across two runs |
| bitnami/zookeeper@default | deterministic | 8 | 8 file(s) byte-identical across two runs |
| bitnami/contour@default | deterministic | 21 | 21 file(s) byte-identical across two runs |
| bitnami/opensearch@default | deterministic | 19 | 19 file(s) byte-identical across two runs |
| bitnami/phpmyadmin@default | deterministic | 6 | 6 file(s) byte-identical across two runs |

- `needs-inputs` packages require declared inputs to baseline-render and are not part of the determinism check.
- Receipt: `runs/cub-installer-determinism/receipt.yaml`.
