# DIMAGGI planning study: public reproducibility package

This package accompanies the capacity/lifecycle and regional inference papers
dated 4 October 2026. It contains the unchanged model source, tests, declared
inputs, third-party fixtures and frozen results needed to inspect and reproduce
the published findings. No access to the owning private repository is required.

Source revision: `5c4c8434dd0f92556aed46b4ebcda0c11ae468de`.
Executable model manifest:
`f5e10f78728faab62c848c7adf442e5b2c82dba8a24921454c0fac1ed4ce5dfb`.
The export manifest lists each included source file and its SHA-256. Included
source, tests and fixtures are byte-for-byte exports of that revision. Internal
coordination and strategy documents are omitted; the export is intentionally
limited to the study. `reproduce.py` is a publication wrapper, not a changed
engineering model.

## Run from a clean extraction

Tested environment: Python 3.12.6, Go 1.26.1, Git and a C compiler required by
Go's race detector. The Python study uses the standard library. Initial setup
needs network access to fetch the public cooling repository and the Go modules
listed in the unchanged `go.mod` and `go.sum`. The simulations themselves do not
contact infrastructure services or run accelerator workloads.

From the extracted `dimaggi-planning-evidence-5c4c843` directory:

```sh
python3 reproduce.py --verify-only
git clone https://github.com/dimaggi-ai/cooling-pue-ladder.git cooling-pue-ladder
git -C cooling-pue-ladder checkout --detach 735d8eb8196b70aa6beea759bc3c9470ce286a74
python3 reproduce.py --cooling-source cooling-pue-ladder --output local-rerun
python3 -m unittest discover -s service_planning -t . -p 'test_*.py' -v
go -C service_planning/lifecycle/governance test -race ./...
```

Choose a new output directory for each rerun. The wrapper refuses an existing
output directory. It checks all exported hashes, executes the actual cooling
owner at the fixed commit and its four fixed file hashes, executes the actual
Go policy adapter, verifies each plan, and compares all nine scenario plans and
non-timing values with the frozen results. It also compares the existing
60-month runoff, all four documented CLI outputs and two calibration refusals.
No scenario is added or optimized for this export.

The public cooling checkout is the model owner, not a measured plant. The normal
186-test Python suite also includes explicitly labelled sealed-output replay
tests. Replay is not evidence that cooling code ran in that individual test;
the reproduction command separately executes the owner code.

The four standalone commands, if a reader wants to inspect each interface, are:

```sh
python3 -m service_planning.placement service_planning/placement-example.json
python3 -m service_planning.pricing service_planning/pricing-example.json
python3 -m service_planning.offer service_planning/offer-example.json
python3 -m service_planning.public_data
```

## Files and units

| File or directory | Contents and interpretation |
| --- | --- |
| `service_planning/` | Unchanged Python/Go source, tests, input/configuration files, public-data attribution and licenses |
| `service_planning/lifecycle/docs/CONTRACT.md` | Technical definitions of calendar, inventory, allocation and accounting |
| `service_planning/lifecycle/docs/SOURCES.md` | Published physical-specification inputs and explicitly synthetic assumptions |
| `frozen/scenario-results.json` | Nine synthetic 12-month results; unserved committed demand-months out of 12, USD cash cost, revenue, debt and project NPV |
| `frozen/plans/` | Complete input, source manifest, physical/allocation/accounting ledgers and policy outputs for ten content-addressed plans |
| `frozen/full-lifecycle-result.json` | Existing 60-month runoff; original sales windows remain unchanged and facilities remain open |
| `frozen/pricing-result.json` | Standalone synthetic 720-hour, one-primary/one-failover example; USD per bounded request envelope |
| `frozen/offer-result.json` | Separate synthetic paired two-primary/two-failover example; not a controlled comparison with the standalone fixture |
| `frozen/placement-result.json` | Caller-supplied regional policy/capacity screen; no lawfulness or operational qualification |
| `frozen/public-data-result.json` | Pinned third-party benchmark observations kept separate from synthetic sensitivity cases |
| `frozen/calibration-refusals.json` | Two retained refusals to infer phase-specific price calibration from aggregate observations |
| `qa/` | Test and reproduction receipts; implementation QA only |
| `manifest.json` | SHA-256 values, source pin, owner pin and scope for this exact export |

Frozen result bytes are unchanged from the paper reproduction. The export
manifest preserves their original byte hashes. A plan's canonical content hash
is distinct from its JSON file's byte hash; both are available. Elapsed times
vary between executions and are excluded from result equality. This package
makes no performance benchmark claim.

## Evidence limits

These are deterministic declared-input simulations and accounting checks, not
measurements of production availability, hardware throughput, actual demand,
market prices, legal compliance or investment returns. Public hardware
specifications constrain selected inputs; they do not benchmark a workload.
The negative NPV, whole-window refusals, credit exposure, process-local budget
boundary and public-data calibration refusals are preserved.

Hashes attest content integrity. Tests and model-assisted reviews are
implementation QA. They do not authenticate an operator, constitute independent
human technical acceptance, grant execution authority or establish a production
SLA.

## Attribution and licensing record

The export preserves all three existing MLCommons/NVIDIA license files and the
per-file upstream revision, source hash and transformation record in
`service_planning/public_data/provenance.json`. Public country-code and physical
specification fixtures retain their source URLs and attribution. The cooling
owner and Go dependencies are fetched separately with their own licenses.

No first-party license file was present in the frozen source snapshot. This
packaging wrapper does not assign a new blanket license or imply that the
third-party Apache-2.0 notices license all first-party code. See
`THIRD-PARTY-NOTICES.md` for the preserved attribution map.
