Public evidence
Machine-checked verification for calculation version 1.3.1 · tier expert_verified
CVP: CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance· Model Vth ≠ datasheet VGS(th); kn not temperature-scaled · Protocol · Schema · Production report
Legacy regression suite: 26/26 calculation tests · Production surface contract 10/10
Three distinct suites: educational examples on the calculator page, this legacy regression count (26/26 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.3.1. CVP 1.0.0-proposed. 4/4 golden · 5/5 CVP boundary · 5/5 invalid · 11/11 property · 2/2 cross-interface · 10/10 CVP contract. digest df4f29a72c29.
Fingerprint sha256:62d830442da390bacca788207a7c0cde30c1f11982f6a67aa61d54533e60497a
Input schema sha256:8aaf0a70ca3197d145c41aebca84830791334284c7830b197771ba8e83f8178e · Output schema sha256:07ec52f59e9a4a0172410ab1152a5879545b7d79b2f2a48a1355a4135ea860cf · 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 |
|---|---|---|---|
od | golden | pass | Expected Vod_V=2 · region=above_threshold · Actual mode=overdrive · Vgs_V=3 · Vth_V=1 · Vod_V=2 · region=above_threshold · strong_inversion=true |
id | golden | pass | Expected Id_A=1 · Vod_V=2 · region=above_threshold · Actual mode=id · Vgs_V=3 · Vth_V=1 · kn_A_per_V2=0.5 · Vod_V=2 · Id_A=1 · region=above_threshold · strong_inversion=true |
id-linear | golden | pass | Expected Id_A=0.75 · Vod_V=2 · region=linear · Actual mode=id · Vgs_V=3 · Vth_V=1 · kn_A_per_V2=0.5 · Vod_V=2 · Id_A=0.75 · region=linear · strong_inversion=true |
id-sat-vds | golden | pass | Expected Id_A=1 · Vod_V=2 · region=saturation · Actual mode=id · Vgs_V=3 · Vth_V=1 · kn_A_per_V2=0.5 · Vod_V=2 · Id_A=1 · region=saturation · strong_inversion=true |
vth | golden | pass | Expected Vth_V=1 · Vod_V=2 · Actual mode=vth · Vgs_V=3 · Id_A=1 · kn_A_per_V2=0.5 · Vod_V=2 · Vth_V=1 · region=above_threshold · strong_inversion=true |
cutoff | golden | pass | Expected Id_A=0 · region=cutoff · Actual mode=id · Vgs_V=1 · Vth_V=2 · kn_A_per_V2=1 · Vod_V=-1 · Id_A=0 · region=cutoff · strong_inversion=false |
near | golden | pass | Expected Vod_V=0.01 · region=above_threshold · Actual mode=overdrive · Vgs_V=1.01 · Vth_V=1 · Vod_V=0.010000000000000009 · region=above_threshold · strong_inversion=true |
bad-kn | boundary | pass | Expected VALUE_MUST_BE_POSITIVE · Actual VALUE_MUST_BE_POSITIVE |
bad-vds | boundary | pass | Expected VALUE_MUST_BE_NON_NEGATIVE · Actual VALUE_MUST_BE_NON_NEGATIVE |
vth-tj | golden | pass | Expected Vod_V=2.2 · Vth_Tj_V=0.8 · Vth_Tref_V=1 · Actual mode=overdrive · Vgs_V=3 · Vth_V=0.8 · Vod_V=2.2 · region=above_threshold · strong_inversion=true · temperature_model=linear · Tj_C=125 |
id-tj | golden | pass | Expected Id_A=1.21 · Vod_V=2.2 · Actual mode=id · Vgs_V=3 · Vth_V=0.8 · kn_A_per_V2=0.5 · Vod_V=2.2 · Id_A=1.2100000000000002 · region=above_threshold · strong_inversion=true |
extract-tj | golden | pass | Expected Vth_V=1 · Vth_Tref_V=1.2 · Actual mode=vth · Vgs_V=3 · Id_A=1 · kn_A_per_V2=0.5 · Vod_V=2 · Vth_V=1 · region=above_threshold · strong_inversion=true |
linear-no-tj | boundary | pass | Expected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT |
tj-abs-zero | boundary | pass | Expected VALUE_OUT_OF_RANGE · Actual VALUE_OUT_OF_RANGE |
boundary-vth-missing | boundary | pass | Expected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT |
property-od | property | pass | 2 |
property-id | property | pass | ½ kn Vod² (½ not in kn) |
property-vth-roundtrip | property | pass | 1 |
property-cutoff | property | pass | 0 A cutoff |
property-near-threshold | property | pass | NEAR_THRESHOLD |
property-id-linear | property | pass | 0.75 A linear |
property-id-sat-edge | property | pass | Id continuous at Vds=Vod |
property-vth-tj | property | pass | Vth(Tj)=0.8 Vod=2.2 |
property-id-tj | property | pass | 1.21 A hot Id |
property-extract-tref | property | pass | extract Vth_Tref=1.2 |
property-temp-ignored | property | pass | TEMPERATURE_NOT_APPLIED |