Patient Energy Zero — Pampa JV (Vaca Muerta)
End-to-end reference implementation: a 200 MW associated-gas slot in Vaca Muerta, walked from land-secured through tenant-signed, with decomposition, settlement math, and a 4(a)(7) sublease.
The asset
The Pampa Energía JV is the reference asset for DMTR Energy — the most advanced compute-ready energy project on the platform at roughly 15% overall development. Land is secured, gas is committed, an MoU is signed, environmental and gas-extraction permits are in process, and turbine slots are committed for 2028 delivery.
The project: associated gas from Vaca Muerta (oil-window, NGL-rich; otherwise flared), behind-the-meter (no grid queue), 200 MW phase 1 targeting H1 2027 with a 5+ GW ceiling, RIGI-locked, hyperscaler anchor tenant. The integration test is at packages/energy/__tests__/integration/patient-energy-zero.test.ts.
Fixtures
The slot, demand spec, and capacity contract fixtures are in packages/fixtures/energy/:
| Fixture | Purpose |
|---|---|
sample-compute-slot.json | Pampa JV Phase 1 — 200 MW, gas_associated, behind-the-meter, RIGI-locked, 5 permits filed |
sample-demand-spec.json | Hyperscaler 800–1200 MW LatAm batch-inference RFP, requires_decomposition, RIGI-eligible-only |
sample-capacity-contract.json | Tolling structure — buyer dispatches, 5-yr term, $5M/mo capacity payment, $4.50/MWh variable, 92% availability threshold, $200MM RA pledge |
sample-stage-gate-history.json | Live development state — LAND ✓, ENERGY ✓, PERMITS in-progress, TURBINES informal-committed |
Walkthrough
The integration test exercises every schema primitive end-to-end. Each step below corresponds to a passing assertion in the test file.
1. Schema validation
The Pampa JV fixture round-trips through ComputeSlot.parse() — every required field is present, every enum is valid, every nested object validates.
2. Position decoration
A Position is created with vertical_decoration: { vertical: "energy_compute", ref_id: "slot-pampa-jv-phase1" }. This optional field on Position is the only addition to @dmtr/core for the entire energy vertical.
3. Stage-gate prerequisites
Advancing to finance while permits is still in-progress fails: prerequisites [permits] are incomplete. After completing permits, substation, and turbines, the advance to finance clears.
4. Demand matching
An 800 MW DemandSpec with requires_decomposition: true and preferred_decomposition_block_mw: 100 surfaces Pampa Phase 1 as a partial-fit candidate offering 200 MW.
5. Rights-engine evaluation
The Verdict includes results for interconnect_priority, permit_stack, water_draw, bis_export_controls, rigi_eligibility, indigenous_consultation, data_residency, and ofac_tenant. With all permits issued and an OFAC-clean tenant, the Verdict is allowed: true.
6. Five-party consent chain
The consent chain on the Position is sequenced: ENRE → CAMMESA → Pampa Energía (managing member) → Unblock (deal originator) → tenant compliance. The existing Consent shape from @dmtr/core handles the routing.
7. Tolling contract execution
Buyer-dispatched, 200 MW, 7800 BTU/kWh heat rate, $5M/month capacity payment, 92% availability threshold, gas transportation cure period of 10 days with failure_treats_unit_unavailable: true.
8. Settlement math
At 195 MW average availability against a 200 MW contract (97.5%, above the 92% threshold), the capacity payment adjusts to ~$4.875M. Tolling variable payment for 140,000 MWh at $4.50/MWh yields $630,000.
9. Decomposition
The 200 MW slot splits into four 50 MW child slots, each referencing the parent via parent_slot_id. Total child capacity equals parent capacity.
10. Secondary transfer
A SubleaseRequest with exemption_pathway: "section_4a7" reuses the core check4a7Resale machinery. Landlord consent is required; grid operator notice is not (behind-the-meter).
11. Force majeure
A 14-day wildfire claim extends the contract's delivery_period_end from 2032-05-31 to 2032-06-14. Cumulative force-majeure days are tracked against the 365-day termination threshold.
What this demonstrates
| Claim | Evidence |
|---|---|
| Physical infrastructure modeled with the same rigor as financial positions | Same Position, Verdict, Consent, and Encumbrance primitives |
| Stranded energy assets are transferable, decomposable, and encumberable | decompose API, SubleaseRequest, ResourceAdequacyPledge as Encumbrance |
| The 4(a)(7) secondary-transfer playbook applies to compute slot subleases | Same check4a7Resale from core, same exemption pathway, same audit trail |
| Argentina is a viable first jurisdiction | RIGI certificate recognized; ENRE/CAMMESA/ENARGAS modeled; five-party consent chain validated |
| Hyperscaler procurement can be programmatic | DemandSpec + matchDemand + ranked Verdicts |
Not yet covered
- Canton/DAML settlement — the Goldstream node is live; energy bookkeeping integration is a follow-on.
- MCP procurement tools — API endpoints exist; MCP wiring is a separate sprint.
- Argentina entity formation — jurisdiction-specific; requires local counsel review.
- Slot futures — modelable as Positions settling against the
energizegate; the derivative product is downstream.
Running the test locally
pnpm install
pnpm --filter @dmtr/energy testThe fixtures are designed to be modified freely. Change the basin, carbon class, tenant, or contract structure — safeParse will surface the first constraint that breaks.
Reference — stage-gate transitions and prerequisites
The 9-gate ladder and per-gate prerequisite map. State machine source: packages/energy/src/stage-gates/transitions.ts.
Position Object
Position Object schema structure: canonical, conditional, and planned fields, vehicle class variations, and versioning.