# Export Center Determinism & Rerun Hash Guide Advisory: `docs/product-advisories/28-Nov-2025 - Export Center and Reporting Strategy.md` (EC1–EC10). ## Adapter settings (runnable example) - JSON adapters: `--compression zstd --compression-level 19 --deterministic-order` - Mirror adapter: sort descriptors by digest, emit annotations in lexicographic order, disable mtime in tar (`--mtime 0`). - Delta adapter: include `baseManifestHash` and sorted `added`/`removed` lists; tombstones must be explicit. ## Rerun-hash check ```bash set -euo pipefail run_id=$(uuidgen) stella export run --profile demo --run-id "$run_id" --out /tmp/export1 sha256sum /tmp/export1/manifest.json > /tmp/export1/manifest.sha256 # second run run_id2=$(uuidgen) stella export run --profile demo --run-id "$run_id2" --out /tmp/export2 sha256sum /tmp/export2/manifest.json > /tmp/export2/manifest.sha256 diff -u /tmp/export1/manifest.sha256 /tmp/export2/manifest.sha256 ``` ## Integrity headers (HTTP example) - `Digest: sha-256=` - `X-Stella-Signature: dsse-b64=` - `X-Stella-Immutability: true` ## Offline kit packaging - Tar flags: `tar --sort=name --mtime=@0 --owner=0 --group=0 --numeric-owner` - Include `export-kit/manifest.json` + `manifest.dsse`; add `verify-export-kit.sh` to check hashes and signatures. ## Where to place fixtures - `src/ExportCenter/__fixtures/` for deterministic manifests/outputs used by tests. - Add rerun-hash CI to compare fixture hash against regenerated outputs.