---
slug: "ClosureConservationCheck"
name: "ClosureConservationCheck"
type: "Verification"
layer: "Infrastructure"
ref: "ClosureConservationCheck#3aa4"
sema_id: "sema:ClosureConservationCheck#mh:SHA-256:3aa4a97c655aa4c572021d6412fe494d8d5a40eb1627849eb22e207e05fba3f5"
tags: ["Infrastructure","Verification"]
updated: 2026-11-11
mindscape: "bootstrap"
index_url: https://mindscape.world/scapes/bootstrap.json
url: https://mindscape.world/bootstrap/ClosureConservationCheck/
related: ["Conservation","DetectorSelfTest","MetamorphicTesting","Ledger#4dda"]
---

# ClosureConservationCheck

Check that a conserved quantity balances over every holder, as an equality, not as a lower bound on the holders being watched

Layer: Infrastructure · Category: Verification

## Mechanism

A test of a conserved quantity, as in [Conservation](https://mindscape.world/scapes/bootstrap/Conservation.md), names the closure, meaning every holder of the quantity, including system accounts, fee pools, stock or funds in transit, and rounding remainders, and asserts that the opening balance plus inflows across the boundary equals the outflows plus the closing balance, within a stated rounding bound. A one-sided check, such as asserting that each user gets back at least what they put in, is reported as a bound, not as conservation. The equality constrains totals only: a transfer between two holders inside the closure passes it, even to the wrong holder. The check is itself tested by injecting an unbalanced change, such as a movement recorded on one side only or a balance left out of the sum, as in [DetectorSelfTest](https://mindscape.world/scapes/bootstrap/DetectorSelfTest.md).

## Invariants

- The closure is named, and every holder in it is included in the check.
- Conservation is asserted as opening balance plus inflows equals outflows plus closing balance, within a stated rounding bound; a one-sided bound is reported as a bound.
- The check is shown to fail when an unbalanced change is injected.

## Failure modes

- Watched-holder bound: only the visible holders, such as customer accounts, are checked, so quantity created for them, or lost from a system account, goes unseen.
- Open closure: a holder of the quantity, such as a fee pool or an account that collects rounding remainders, is left out.
- Rounding slack: the tolerance is wide enough to absorb a real leak.
- Misallocation read as conservation: a transfer to the wrong holder passes, since the equality constrains totals only.

## Builds on

- [Conservation](https://mindscape.world/scapes/bootstrap/Conservation.md) (Physics; References)
- [DetectorSelfTest](https://mindscape.world/scapes/bootstrap/DetectorSelfTest.md) (Infrastructure; References)

## Used by

—

## Identity

- Sema ID: `sema:ClosureConservationCheck#mh:SHA-256:3aa4a97c655aa4c572021d6412fe494d8d5a40eb1627849eb22e207e05fba3f5`
- Ref: `ClosureConservationCheck#3aa4`

## Links

- [Pattern page](https://mindscape.world/bootstrap/ClosureConservationCheck/)
- [View in the interactive graph](https://mindscape.world/bootstrap/#ClosureConservationCheck)
- [JSON](https://mindscape.world/scapes/bootstrap/ClosureConservationCheck.json)
- [Index of all patterns](https://mindscape.world/scapes/bootstrap.json)
