Public evidence
Machine-checked verification for calculation version 1.5.1 · tier engine_tested
CVP: CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance· No load current on tap; R1+R2>0 when solving Vout · 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. Calculation version 1.5.1. CVP 1.0.0-proposed. 3/3 golden · 8/8 CVP boundary · 8/8 invalid · 11/11 property · 1/1 cross-interface · 1/1 CVP contract. digest 634843a750b6.
Fingerprint sha256:f4fcadc380dd4f9b07e5f6ff751870f905df0f27b5e5af9cd532c9b76c157897
Input schema sha256:0663ccfc519ce176d1634215338c442f4b6b6f5e1961f0e49f06188d6ac947fa · Output schema sha256:e6d562f2f93ce1cf437a532b25eec76c06c605f1eb72d36d7d7000957ba515df · 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 |
|---|---|---|---|
5V-1k-2k | golden | pass | Expected Vout=3.333333 · I=0.001666667 · P1=0.002777778 · P2=0.005555556 · Ptotal=0.008333333 · ratio=0.666667 · Rth=666.667 · Actual Vin=5 · R1=1000 · R2=2000 · Vout=3.3333333333333335 · I=0.0016666666666666668 · P1=0.0027777777777777783 · P2=0.005555555555555557 · Ptotal=0.008333333333333335 |
9V-10k-10k | golden | pass | Expected Vout=4.5 · Actual Vin=9 · R1=10000 · R2=10000 · Vout=4.5 · I=0.00045 · P1=0.002025 · P2=0.002025 · Ptotal=0.00405 |
solve-R2 | golden | pass | Expected R2=1941.176 · Actual Vin=5 · R1=1000 · R2=1941.1764705882351 · Vout=3.3 · I=0.0017000000000000001 · P1=0.00289 · P2=0.00561 · Ptotal=0.0085 |
solve-R1 | golden | pass | Expected R1=1000 · Actual Vin=5 · R1=1000.0003000000299 · R2=2000 · Vout=3.333333 · I=0.0016666665000000002 · P1=0.0027777780555555 · P2=0.005555554444444501 · Ptotal=0.008333332500000002 |
equal-12V | golden | pass | Expected Vout=6 · Actual Vin=12 · R1=4000 · R2=4000 · Vout=6 · I=0.0015 · P1=0.009000000000000001 · P2=0.009000000000000001 · Ptotal=0.018000000000000002 |
linear-2x-Vin | golden | pass | Expected Vout=6.666667 · Actual Vin=10 · R1=1000 · R2=2000 · Vout=6.666666666666667 · I=0.0033333333333333335 · P1=0.011111111111111113 · P2=0.022222222222222227 · Ptotal=0.03333333333333334 |
roundtrip-R2 | golden | pass | Expected R2=2000 · Actual Vin=5 · R1=1000 · R2=1999.9994000001202 · Vout=3.333333 · I=0.001666667 · P1=0.0027777788888889996 · P2=0.005555556111110999 · Ptotal=0.008333334999999999 |
solve-Vin | golden | pass | Expected Vin=5 · Actual Vin=4.9999994999999995 · R1=1000 · R2=2000 · Vout=3.333333 · I=0.0016666664999999998 · P1=0.0027777772222222492 · P2=0.0055555544444444984 · Ptotal=0.008333331666666747 |
soft-zero-Vin | golden | pass | Expected Vout=0 · I=0 · Actual Vin=0 · R1=1000 · R2=2000 · Vout=0 · I=0 · P1=0 · P2=0 · Ptotal=0 |
error-Vout-ge-Vin | boundary | pass | Expected INVALID_DIVIDER_VOLTAGES · Actual INVALID_DIVIDER_VOLTAGES |
error-zero-rsum | boundary | pass | Expected RESISTANCE_MUST_BE_POSITIVE · Actual RESISTANCE_MUST_BE_POSITIVE |
error-neg-R1 | boundary | pass | Expected VALUE_MUST_BE_NON_NEGATIVE · Actual VALUE_MUST_BE_NON_NEGATIVE |
error-two-inputs | boundary | pass | Expected NEEDS_THREE_INPUTS · Actual NEEDS_THREE_INPUTS |
error-empty | boundary | pass | Expected NEEDS_THREE_INPUTS · Actual NEEDS_THREE_INPUTS |
error-four-inputs | boundary | pass | Expected TOO_MANY_INPUTS · Actual TOO_MANY_INPUTS |
boundary-two-inputs | boundary | pass | Expected NEEDS_THREE_INPUTS · Actual NEEDS_THREE_INPUTS |
boundary-vout-zero-solve-r2 | boundary | pass | Expected INVALID_DIVIDER_VOLTAGES · Actual INVALID_DIVIDER_VOLTAGES |
property-equal-divider | property | pass | Equal R → Vout=Vin/2 |
property-equal-current | property | pass | I = Vin/(R1+R2) |
property-1-to-3 | property | pass | R2/(R1+R2)·Vin |
property-linear-vin | property | pass | Vout ∝ Vin |
property-solve-R2 | property | pass | Vin,R1,Vout → R2 |
property-solve-R1 | property | pass | Vin,R2,Vout → R1 |
property-solve-Vin | property | pass | R1,R2,Vout → Vin |
property-roundtrip-R2-grid | property | pass | R2 round-trip 27/27 |
property-scale-resistors | property | pass | kR1,kR2 → Vout same, I/k, P/k, k·Rth |
property-power-identity | property | pass | P1+P2=Ptotal=Vin·I |
property-rth-parallel | property | pass | Rth=R1∥R2 and ratio=R2/(R1+R2) |