Public evidence
Machine-checked verification for calculation version 1.4.2 · tier internally_reviewed
CVP: CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance· Flat unit rate only; no standing/fee (see electricity bill) · Protocol · Schema · Production report
Legacy regression suite: 28/28 calculation tests · Production surface contract 4/4
Three distinct suites: educational examples on the calculator page, this legacy regression count (28/28 golden + boundary), and the CVP verification suite below. They are not the same number. Property, metamorphic, round-trip, O3, and interface statuses/checks are recorded in the CVP Manifest . SKIP (0/0) means that suite has no published vectors.
Protocol checks from the Evidence Manifest. Distinct from the legacy regression suite above. Verification revision 2026-09-13.ssr-dollar-literal. Calculation version 1.4.2. CVP 1.0.0-proposed. 2/2 golden · 12/12 CVP boundary · 21/21 invalid · 5/5 property · 3/3 cross-interface · 4/4 CVP contract. digest b2d8bb7116f1.
Fingerprint sha256:1d89897cd7c3a32f55a70b81d1f55258199ef0655d42352bb14163bbd0d01192
Input schema sha256:12262cc56ba4bd37d19d307cb4bd0bc5d9dce4fde5270bd9146c57e088dabaf9 · Output schema sha256:e11e90e9c7aa944658f65c395d04a726024128cf3a15b9b48dae535fb46aa2fa · Build-time SHA-256 digests prove published artifacts agree with each other (release_integrity.scope=workspace). Production attestation GETs canonical URLs twice (public/cached view and origin), including Capability HTML, via npm run attest:production --write
(published at /.well-known/calculatorx-production-attestation.json) and fails if the public Capability page advertises a different calculation_version. This is artifact consistency, not an independent immutable release log.
Engine identity and declared limitations.
Standards and references supporting this tool specification. Methods are listed separately — they are algorithms, not bibliographic sources.
Golden and boundary cases from the legacy Evidence JSON. CVP property, metamorphic, round-trip, O3, and interface statuses/checks are recorded in the Manifest — including SKIP when a suite has no vectors.
| ID | Kind | Status | Detail |
|---|---|---|---|
watts-mode | golden | pass | Expected 18 · Actual 18 |
kwh-mode | golden | pass | Expected 18 · Actual 18 |
linear-2x-W | golden | pass | Expected 36 · Actual 36 |
linear-2x-rate | golden | pass | Expected 36 · Actual 36 |
soft-zero-W | golden | pass | Expected 0 · Actual 0 |
soft-zero-days | golden | pass | Expected 0 · Actual 0 |
soft-zero-rate | golden | pass | Expected 0 · Actual 0 |
soft-zero-kwh | golden | pass | Expected 0 · Actual 0 |
500W-2h-30d | golden | pass | Expected 6 · Actual 6 |
daily-1d | golden | pass | Expected 2.25 · Actual 2.25 |
missing-rate | boundary | pass | Expected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT |
bad-mode | boundary | pass | Expected INVALID_MODE · Actual INVALID_MODE |
neg-rate | boundary | pass | Expected VALUE_MUST_BE_NON_NEGATIVE · Actual VALUE_MUST_BE_NON_NEGATIVE |
boundary-zero-rate | boundary | pass | Expected 0 · Actual 0 |
boundary-neg-W | boundary | pass | Expected VALUE_MUST_BE_NON_NEGATIVE · Actual VALUE_MUST_BE_NON_NEGATIVE |
boundary-neg-hours | boundary | pass | Expected VALUE_MUST_BE_NON_NEGATIVE · Actual VALUE_MUST_BE_NON_NEGATIVE |
boundary-hours-gt-24 | boundary | pass | Expected HOURS_PER_DAY_OUT_OF_RANGE · Actual HOURS_PER_DAY_OUT_OF_RANGE |
boundary-neg-days | boundary | pass | Expected VALUE_MUST_BE_NON_NEGATIVE · Actual VALUE_MUST_BE_NON_NEGATIVE |
boundary-neg-kWh | boundary | pass | Expected VALUE_MUST_BE_NON_NEGATIVE · Actual VALUE_MUST_BE_NON_NEGATIVE |
boundary-missing-W | boundary | pass | Expected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT |
boundary-missing-hours | boundary | pass | Expected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT |
boundary-missing-days | boundary | pass | Expected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT |
boundary-missing-kWh | boundary | pass | Expected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT |
property-cost | property | pass | cost = kWh·rate |
property-kwh-mode | property | pass | kWh mode matches watts path |
property-linear-load | property | pass | cost ∝ W |
property-linear-rate | property | pass | cost ∝ rate |
property-linear-hours | property | pass | cost ∝ hours |