Home Developers Evidence electrical.battery.runtime_temp

Public evidence

electrical.battery.runtime_temp

Machine-checked verification for calculation version 1.2.1 · tier internally_reviewed

CVP: CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance· generic_cold_derating default; custom_symmetric_linear advanced · Protocol · Schema · Production report

Declared partition coverage
PASS · 6/6 declared partitions (watts, amps, generic-cold, custom-symmetric, clamped-regime, invalid-domain)
Versions
Calculation 1.2.1 · CVP protocol 1.0.0-proposed · Evidence 2026-09-11.xcal-meta-derived
Verification revision
2026-09-11.xcal-meta-derived · 16/16 property · digest 742a9a7e3a3b

Verification

Legacy regression suite: 31/31 calculation tests · Production surface contract 4/4

Three distinct suites: educational examples on the calculator page, this legacy regression count (31/31 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.2.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. Verification revision 2026-09-11.xcal-meta-derived. Calculation version 1.2.1. CVP 1.0.0-proposed. 4/4 golden · 8/8 CVP boundary · 5/5 invalid · 16/16 property · 3/3 metamorphic · 2/2 cross-interface · 2/2 cross-calculator · 4/4 CVP contract. digest 742a9a7e3a3b.

  • Golden (oracle-backed) 4 / 4
  • CVP boundary 8 / 8
  • Invalid input 5 / 5
  • Property 16 / 16
  • Metamorphic 3 / 3
  • Cross-interface 2 / 2
  • Cross-calculator 2 / 2
  • CVP contract 4 / 4
  • 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:07a2cd571bc7cee190b40451e118cf16ebd66763314e9b2be71bd89b98c5a2de

Input schema sha256:1f6dc4f1560deb6a6dc6773554e9402f11937cad9a9add1b3ce3bd2b81e77624 · Output schema sha256:b86641f8a4c60c84fe3c975df10a72394fe8a16220513508156a50fede69cae6 · 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
battery-runtime-temp
Engine
battery-runtime-temp
Engine build
2026-09-10
Evidence core
2026-09-05T02:35:39.217Z
Rendered
2026-09-16T22:03:43.718Z
Last reviewed
2026-08-12

Assumptions

  • Default: cold-only linear derating about 25 °C; T≥25 °C → f_T=1 (no high-temp bonus).
  • Clamp is a numerical safeguard, not an operating-temperature envelope.
  • Default k_T=0.006 is a planning default (parameter_validated=false).
  • Constant load; not Peukert / chemistry Arrhenius / manufacturer curve.
  • Amps mode I_A is battery-side; η does not enter t_h.

Limitations

  • Generic cold-derating planning model by default — not Peukert, Arrhenius, or manufacturer curves
  • Default k_T=0.006 is a planning default (parameter_validated=false), not a validated chemistry coefficient
  • Clamp is a numerical safeguard, not an operating-temperature envelope
  • T≥25 °C under generic_cold_derating does not increase capacity (no high-temp bonus)
  • custom_symmetric_linear is advanced opt-in and still a first-order heuristic
  • Amps mode = battery-side current; η does not enter runtime
  • capacity_Ah XOR capacity_mAh; both → INVALID_INPUT
  • k_T < 0 → VALUE_MUST_BE_NON_NEGATIVE
  • Intermediate layer toward chemistry/manufacturer profile runtime — not a Battery Simulator

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
room-tempgoldenpassExpected t_h=6 · temp_factor=1 · E_Wh=120 · Actual t_h=6 · t_d=0.25 · E_Wh=120 · temp_factor=1 · T_C=25 · k_T=0.006 · capacity_Ah_eff=10
cold-0CgoldenpassExpected t_h=5.1 · temp_factor=0.85 · E_Wh=102 · Actual t_h=5.1 · t_d=0.2125 · E_Wh=102 · temp_factor=0.85 · T_C=0 · k_T=0.006 · capacity_Ah_eff=8.5
hot-no-bonusgoldenpassExpected t_h=6 · temp_factor=1 · E_Wh=120 · Actual t_h=6 · t_d=0.25 · E_Wh=120 · temp_factor=1 · T_C=50 · k_T=0.006 · capacity_Ah_eff=10
missing-TboundarypassExpected MISSING_REQUIRED_INPUT · Actual MISSING_REQUIRED_INPUT
neg-kboundarypassExpected VALUE_MUST_BE_NON_NEGATIVE · Actual VALUE_MUST_BE_NON_NEGATIVE
bad-modeboundarypassExpected INVALID_MODE · Actual INVALID_MODE
amps-eta-ignoredgoldenpassExpected t_h=4 · E_Wh=96 · temp_factor=1 · Actual t_h=4 · t_d=0.16666666666666666 · E_Wh=96 · temp_factor=1 · T_C=25 · k_T=0.006 · capacity_Ah_eff=10
symmetric-hotgoldenpassExpected t_h=6.9 · temp_factor=1.15 · Actual t_h=6.9 · t_d=0.28750000000000003 · E_Wh=138 · temp_factor=1.15 · T_C=50 · k_T=0.006 · capacity_Ah_eff=11.5
boundary-roomboundarypassExpected t_h=6 · temp_factor=1 · Actual t_h=6 · t_d=0.25 · E_Wh=120 · temp_factor=1 · T_C=25 · k_T=0.006 · capacity_Ah_eff=10
boundary-coldboundarypassExpected t_h=5.1 · temp_factor=0.85 · Actual t_h=5.1 · t_d=0.2125 · E_Wh=102 · temp_factor=0.85 · T_C=0 · k_T=0.006 · capacity_Ah_eff=8.5
boundary-hot-no-bonusboundarypassExpected t_h=6 · temp_factor=1 · Actual t_h=6 · t_d=0.25 · E_Wh=120 · temp_factor=1 · T_C=50 · k_T=0.006 · capacity_Ah_eff=10
boundary-both-capacitiesboundarypassExpected INVALID_INPUT · Actual INVALID_INPUT
boundary-bad-temp-modelboundarypassExpected INVALID_MODE · Actual INVALID_MODE
boundary-lower-clampboundarypassExpected temp_factor=0.1 · Actual t_h=0.6 · t_d=0.024999999999999998 · E_Wh=12 · temp_factor=0.1 · T_C=-200 · k_T=0.006 · capacity_Ah_eff=1
boundary-upper-clamp-symmetricboundarypassExpected temp_factor=1.2 · Actual t_h=7.2 · t_d=0.3 · E_Wh=144 · temp_factor=1.2 · T_C=100 · k_T=0.006 · capacity_Ah_eff=12
property-roompropertypass25 °C → 6 h
property-coldpropertypass0 °C → 5.1 h (−0.9 h / −15%)
property-hot-no-bonuspropertypass50 °C cold-only → no capacity bonus
property-loadpropertypass2P → ½t
property-ampspropertypassamps mode
property-amps-eta-ignoredpropertypassamps η ignored
property-k0-paritypropertypassk_T=0 → base parity
property-mah-equivpropertypassmAh ↔ Ah
property-continuity-25propertypasscontinuity about 25 °C
property-cold-monotonepropertypasshigher cold T → non-decreasing f_T
property-lower-clamp-warningpropertypassvery low T → lower clamp + profile-guidance warning
property-upper-clamp-warningpropertypassvery high T symmetric → upper clamp + warning
property-factor-in-clamppropertypassf_T always within declared clamp
property-param-unvalidatedpropertypassk_T marked planning_default / not validated
property-parity-basic-watts-25Cpropertypasswatts @25°C parity with battery_runtime
property-parity-basic-amps-25Cpropertypassamps @25°C parity with battery_runtime