Public evidence
Machine-checked verification for calculation version 1.0.2 · tier expert_verified
CVP: CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance· Empirical linear model — not chemistry-specific calendar/cycle physics · Protocol · Schema · Production report
Legacy regression suite: 14/14 calculation tests · Production surface contract 4/4
Three distinct suites: educational examples on the calculator page, this legacy regression count (14/14 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. Calculation version 1.0.2. CVP 1.0.0-proposed. 3/3 golden · 6/6 CVP boundary · 5/5 invalid · 5/5 property · 1/1 cross-interface · 1/1 CVP contract. digest a53cfab6ba6b.
Fingerprint sha256:665eac2d2a81eb2215b2a1834aa96235cda400f92218f4362d905e8536c25471
Input schema sha256:530a01f1f22d5c7d69bfd54543b215b1d53999fc6d19102e02a920f8be4f32cb · Output schema sha256:e003d668697e01cb9d53db19b3bff48e2afe6529c26da8af007393f2acc076ff · 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 |
|---|---|---|---|
golden-default | golden | pass | Expected capacity_Ah=2.64 · SOH=0.88 · Actual mode=linear_fade · C0_Ah=3 · N_cycles=500 · years=1 · k_cycle=0.0002 · k_cal=0.02 · fade_frac=0.12000000000000001 · SOH=0.88 |
zero-aging | golden | pass | Expected capacity_Ah=3 · SOH=1 · Actual mode=linear_fade · C0_Ah=3 · N_cycles=0 · years=0 · k_cycle=0.0002 · k_cal=0.02 · fade_frac=0 · SOH=1 |
custom-coefficients | golden | pass | Expected capacity_Ah=2.82 · SOH=0.94 · Actual mode=linear_fade · C0_Ah=3 · N_cycles=500 · years=1 · k_cycle=0.0001 · k_cal=0.01 · fade_frac=0.060000000000000005 · SOH=0.94 |
bad-C0 | boundary | pass | Expected VALUE_MUST_BE_POSITIVE · Actual VALUE_MUST_BE_POSITIVE |
negative-cycles | boundary | pass | Expected VALUE_MUST_BE_NON_NEGATIVE · Actual VALUE_MUST_BE_NON_NEGATIVE |
negative-years | boundary | pass | Expected VALUE_MUST_BE_NON_NEGATIVE · Actual VALUE_MUST_BE_NON_NEGATIVE |
negative-k-cycle | boundary | pass | Expected VALUE_MUST_BE_NON_NEGATIVE · Actual VALUE_MUST_BE_NON_NEGATIVE |
negative-k-calendar | boundary | pass | Expected VALUE_MUST_BE_NON_NEGATIVE · Actual VALUE_MUST_BE_NON_NEGATIVE |
boundary-clamp-zero | boundary | pass | Expected capacity_Ah=0 · SOH=0 · Actual mode=linear_fade · C0_Ah=3 · N_cycles=10000 · years=0 · k_cycle=0.0002 · k_cal=0.02 · fade_frac=2 · SOH=0 |
property-capacity-bounded | property | pass | 0 ≤ C ≤ C0 and 0 ≤ SOH ≤ 1 |
property-cycle-monotonic | property | pass | N2>N1 ⇒ C(N2)≤C(N1) |
property-calendar-monotonic | property | pass | t2>t1 ⇒ C(t2)≤C(t1) |
property-output-identity | property | pass | fade_frac=kN+kt; SOH=max(0,1−fade); C=C0·SOH |
property-default-equivalence | property | pass | omit k ≡ explicit k_cycle=0.0002, k_cal=0.02 (numeric) |