Home Developers Evidence electrical.voltage_divider

Public evidence

electrical.voltage_divider

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

Declared partition coverage
PASS · 3/3 declared partitions (solve-vout, solve-r, invalid-domain)
Versions
Calculation 1.5.1 · CVP protocol 1.0.0-proposed
CVP identity
11/11 property · digest 634843a750b6

Verification

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.

    This calculator CURRENT · Public schema 1.5.1 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓

CVP verification suite

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.

  • Golden (oracle-backed) 3 / 3
  • CVP boundary 8 / 8
  • Invalid input 8 / 8
  • Property 11 / 11
  • Cross-interface 1 / 1
  • CVP contract 1 / 1
  • Interfaces PASS · UI (SSR) / REST / MCP
  • Interface claim ui-ssr is query-result HTML, not a live browser session.
  • Assurance Engineering
  • release artifacts aligned PASS
  • schema valid input executes PASS
  • engine success output validates schema PASS
  • schema rejects incomplete input PASS

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.

Build & scope

Engine identity and declared limitations.

Tool
voltage-divider
Engine
voltage-divider
Engine build
2026-09-10
Evidence core
2026-09-10T22:48:17.762Z
Rendered
2026-09-16T22:03:43.701Z
Last reviewed

Assumptions

  • No load on Vout
  • DC / resistive
  • R1 from Vin to tap; R2 from tap to ground

Limitations

  • Unloaded two-resistor divider only
  • Canonical input is exactly three of Vin, R1, R2, Vout
  • Fewer than three inputs → NEEDS_THREE_INPUTS
  • All four inputs → TOO_MANY_INPUTS (not a consistency check)
  • Solving R1/R2 requires Vin > Vout > 0 (INVALID_DIVIDER_VOLTAGES otherwise)
  • R1+R2=0 when solving Vout → RESISTANCE_MUST_BE_POSITIVE
  • Not for loaded dividers, AC reactive dividers, or RF

Sources

Standards and references supporting this tool specification. Methods are listed separately — they are algorithms, not bibliographic sources.

Legacy published checks

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.

IDKindStatusDetail
5V-1k-2kgoldenpassExpected 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-10kgoldenpassExpected 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-R2goldenpassExpected 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-R1goldenpassExpected 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-12VgoldenpassExpected 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-VingoldenpassExpected 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-R2goldenpassExpected 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-VingoldenpassExpected 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-VingoldenpassExpected Vout=0 · I=0 · Actual Vin=0 · R1=1000 · R2=2000 · Vout=0 · I=0 · P1=0 · P2=0 · Ptotal=0
error-Vout-ge-VinboundarypassExpected INVALID_DIVIDER_VOLTAGES · Actual INVALID_DIVIDER_VOLTAGES
error-zero-rsumboundarypassExpected RESISTANCE_MUST_BE_POSITIVE · Actual RESISTANCE_MUST_BE_POSITIVE
error-neg-R1boundarypassExpected VALUE_MUST_BE_NON_NEGATIVE · Actual VALUE_MUST_BE_NON_NEGATIVE
error-two-inputsboundarypassExpected NEEDS_THREE_INPUTS · Actual NEEDS_THREE_INPUTS
error-emptyboundarypassExpected NEEDS_THREE_INPUTS · Actual NEEDS_THREE_INPUTS
error-four-inputsboundarypassExpected TOO_MANY_INPUTS · Actual TOO_MANY_INPUTS
boundary-two-inputsboundarypassExpected NEEDS_THREE_INPUTS · Actual NEEDS_THREE_INPUTS
boundary-vout-zero-solve-r2boundarypassExpected INVALID_DIVIDER_VOLTAGES · Actual INVALID_DIVIDER_VOLTAGES
property-equal-dividerpropertypassEqual R → Vout=Vin/2
property-equal-currentpropertypassI = Vin/(R1+R2)
property-1-to-3propertypassR2/(R1+R2)·Vin
property-linear-vinpropertypassVout ∝ Vin
property-solve-R2propertypassVin,R1,Vout → R2
property-solve-R1propertypassVin,R2,Vout → R1
property-solve-VinpropertypassR1,R2,Vout → Vin
property-roundtrip-R2-gridpropertypassR2 round-trip 27/27
property-scale-resistorspropertypasskR1,kR2 → Vout same, I/k, P/k, k·Rth
property-power-identitypropertypassP1+P2=Ptotal=Vin·I
property-rth-parallelpropertypassRth=R1∥R2 and ratio=R2/(R1+R2)