Home Developers Evidence materials.thermal.linear_expansion

Public evidence

materials.thermal.linear_expansion

Machine-checked verification for calculation version 1.0.0 · tier engine_tested

CVP status

CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance

Free one-dimensional expansion; no material lookup, constraints, or α(T) integration.

Declared partition coverage
PASS · 5/5 declared partitions (forward, final-length, coefficient, temperature, invalid-domain)
Versions
Calculation 1.0.0 · CVP protocol 1.0.0-proposed
CVP identity
0/0 property · digest 3511c5999fb0

Verification

Legacy regression suite: 7/7 calculation tests · Production surface contract 6/6

Three distinct suites: educational examples on the calculator page, this legacy regression count (7/7 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.0.0 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.0.0. CVP 1.0.0-proposed. 5/5 golden · 2/2 CVP boundary · 7/7 invalid · 2/2 cross-interface · 6/6 CVP contract. digest 3511c5999fb0.

  • Golden (oracle-backed) 5 / 5
  • CVP boundary 2 / 2
  • Invalid input 7 / 7
  • Cross-interface 2 / 2
  • CVP contract 6 / 6
  • Interfaces PASS · UI (SSR) / REST / MCP
  • Interface claim ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 1/1 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only.
  • Assurance Engineering
  • release artifacts aligned PASS
  • schema output required declared PASS
  • schema valid input executes PASS
  • engine success output validates schema PASS
  • schema rejects incomplete input PASS
  • rest success payload validates schema PASS

Fingerprint sha256:071fcb6d82566601eb79e27d896205c51543e914cbd6dabf884fcfa92d87e5b8

Input schema sha256:6fa39817fe602bc48d760da25732c45976e52cb17da0e237972714fcfd90f723 · Output schema sha256:9bc4a37e665c7c4be6e2aca837381a25b64ec5fefef2f57582cddf8aa2e16027 · 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
linear-thermal-expansion
Engine
linear-thermal-expansion
Engine build
2026-09-29
Evidence core
2026-09-29T08:26:16.743Z
Rendered
2026-09-29T08:28:05.159Z
Last reviewed
—

Assumptions

  • Constant mean linear expansion coefficient over the entered temperature interval
  • Free, unconstrained expansion
  • One-dimensional isotropic response along the measured direction
  • No material-property database or automatic coefficient selection
  • Not thermal stress, volumetric expansion, phase transformation, creep, or temperature-dependent integration

Limitations

  • Constant mean alpha over the entered interval
  • Free one-dimensional expansion; no thermal stress
  • No material-property database or automatic coefficient selection

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
expand-two-metresgoldenpassExpected delta_length_m=0.0012 · final_length_m=2.0012 · Actual mode=delta_length · model=constant_coefficient_free_linear_expansion · length_m=2 · alpha_per_K=0.000012 · delta_temperature_K=50 · thermal_strain=0.0006000000000000001 · delta_length_m=0.0012000000000000001 · final_length_m=2.0012
cooling-signed-changegoldenpassExpected delta_length_m=-0.0012 · final_length_m=1.9988 · Actual mode=delta_length · model=constant_coefficient_free_linear_expansion · length_m=2 · alpha_per_K=0.000012 · delta_temperature_K=-50 · thermal_strain=-0.0006000000000000001 · delta_length_m=-0.0012000000000000001 · final_length_m=1.9988
solve-coefficientgoldenpassExpected alpha_per_K=0.000012 · Actual mode=coefficient · model=constant_coefficient_free_linear_expansion · length_m=2 · alpha_per_K=0.000011999999999999999 · delta_temperature_K=50 · thermal_strain=0.0006 · delta_length_m=0.0012 · final_length_m=2.0012
solve-temperature-changegoldenpassExpected delta_temperature_K=-50 · Actual mode=temperature_change · model=constant_coefficient_free_linear_expansion · length_m=2 · alpha_per_K=0.000012 · delta_temperature_K=-49.99999999999999 · thermal_strain=-0.0006 · delta_length_m=-0.0012 · final_length_m=1.9988
boundary-zero-lengthboundarypassExpected VALUE_MUST_BE_POSITIVE · Actual VALUE_MUST_BE_POSITIVE
boundary-zero-temperature-span-for-coefficientboundarypassExpected DIVISION_BY_ZERO · Actual DIVISION_BY_ZERO
boundary-unknown-modeboundarypassExpected INVALID_MODE · Actual INVALID_MODE