# AAC sub-spec — The receipt Normative refinement of [SPEC §9](../SPEC.md). Reference: `aac_core::{AacReceipt, AacStore}`. The receipt is where the family's energy-transparency doctrine meets AAC's free-forever doctrine — and where they constrain each other. Every operation MAY report its energy cost; **no** operation may turn that cost into a charge. ## 1. Two-part energy A receipt carries an energy cost in microjoules expressed as two parts — `measured + estimated` — where `measured` is what hardware instrumentation actually read and `estimated` is what a model or constant supplied for the unmeasured remainder. Either part MAY be zero. The split is honest: an implementation MUST NOT report estimated energy as measured. ## 2. Provenance tag Every reading carries a provenance tag consistent with the family vocabulary: hardware-measured, model-based, or a coarse estimator. A reading tagged hardware-measured MUST carry a non-zero `measured` part; a reading tagged estimator MUST NOT claim a measured figure. The tag exists so the standard never claims accuracy the platform cannot deliver. ## 3. Never billed (normative) The receipt exists for **transparency only**. An implementation MUST NOT: - convert a receipt into a charge, an invoice, or a balance decrement; - gate, refuse, degrade, or rate-limit any operation on the basis of accumulated energy; - require an account, a payment instrument, or a positive balance to produce a receipt or to perform the operation it describes. "This session used 3.2 mJ" is a fact shown to a user, a clinician, or a funder who wants to understand device load. It is never a bill. This is the AAC standard's hard line: in every other cargo class the receipt MAY underpin metered settlement; here it MUST NOT. Communication is not a metered good. ## 4. Session estimation `AacCascade::estimate_session_budget_uj(duration_minutes, utterances_per_minute)` gives a coarse forward estimate of a communication session's energy, assuming the L0–L2-dominated mix the offline invariant guarantees (cache/lookup ~70%, local prediction ~25%, context ~5%). It is a planning aid for battery and load — not a quota, and not a ceiling that may stop a user mid-sentence.