Home Developers Evidence math.percent_change

Public evidence

math.percent_change

Machine-checked verification for calculation version 1.1.0 · tier engine_tested

Historical evidence. This page is version 1.1.0 · engine_tested · 8/8 tests. It is not the current published claim. Current evidence is 1.2.0 (8/8 tests) · latest.

CVP status

CVP VERIFIED · production STALE · CVP protocol 1.0.0-proposed · Core assurance

V1≠0; solve_for p|v1|v2; inverse V1 can be 0, 1, or 2 solutions

Declared partition coverage
PASS · 5/5 declared partitions (forward, inverse-v2, inverse-v1, invalid-domain, xcal)
Versions
Calculation 1.1.0 · CVP protocol 1.0.0-proposed · Evidence 2026-09-08.signed-set
Verification revision
2026-09-08.signed-set · 5/5 property · digest a7b9f7091c43

Verification

Legacy regression suite: 8/8 calculation tests · Production surface contract 5/5

Three distinct suites: educational examples on the calculator page, this legacy regression count (8/8 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.

    STALE · Build schema 1.2.0 matches page · production binding STALE · Semantic contract ✓ · Last attestation PASS · current evidence changed · re-attestation required · CVP STALE · attestation STALE — Production CURRENT withheld · Public/cache ✓ · Origin ✓

CVP verification suite

Protocol checks from the Evidence Manifest. Distinct from the legacy regression suite above. Verification revision 2026-09-08.signed-set. Calculation version 1.1.0. CVP 1.0.0-proposed. 7/7 golden · 2/2 CVP boundary · 4/4 invalid · 5/5 property · 1/1 metamorphic · 4/4 round-trip · 1/1 cross-interface · 3/3 cross-calculator · 1/1 CVP contract. digest a7b9f7091c43.

  • Golden (oracle-backed) 7 / 7
  • CVP boundary 2 / 2
  • Invalid input 4 / 4
  • Property 5 / 5
  • Metamorphic 1 / 1
  • Round-trip 4 / 4
  • Cross-interface 1 / 1
  • Cross-calculator 3 / 3
  • CVP contract 1 / 1
  • Interfaces PASS · UI (SSR) / REST / MCP
  • Interface claim ui-ssr is query-result HTML, not a live browser session.
  • Assurance Core
  • release artifacts aligned PASS
  • schema output required declared PASS
  • schema valid input executes PASS
  • engine success output validates schema PASS
  • rest success payload validates schema PASS

Fingerprint sha256:fcc1ae93840bcc952ec705764db517dec8db909e0f8a2fdfa5b4cad6d54f0572

Input schema sha256:ca82ab91d9cdc321e60dcf81b83c508bd741cd8f5acd6557f2bba9e8623e400a · Output schema sha256:664030f01b40bd77a5c97f577106162afc932fb9b96bf7de1e1020ce7fe2384c · 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
percent-change
Engine
percent-change
Engine build
2026-10-14
Evidence core
2026-10-14T05:05:51.930Z
Rendered
2026-10-21T10:45:15.715Z
Last reviewed
—

Assumptions

  • Interactive evaluation runs locally in the browser. Shared URLs and REST evaluate the same versioned engine (query SSR).
  • CVP interface evidence is UI (SSR) query-result HTML, REST, and MCP (MCP reuses the calc API handler). That is interface-result consistency, not a live browser session, cache switching, or end-to-end UI test.
  • Signed-change convention: denominator is |V₁|, so a move from −100 to −50 is a +50% increase. Some definitions use V₁ without absolute value or restrict to positive baselines.
  • Exactly two fields are inputs. Explicit solve_for selects the output. If all three are supplied without solve_for, they are checked for consistency rather than overwritten.
  • Solving for V₁ is not always unique. The engine returns both valid initials when they exist.

Limitations

  • V₁ = 0 → INITIAL_VALUE_ZERO
  • Invalid reverse solve → NO_REAL_SOLUTION; some cases INFINITELY_MANY

Sources

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

Verification disclosure

Aggregate outcomes, scope and artifact commitments are public. Complete test inputs, expected values, execution records and oracle infrastructure are retained privately. This summary does not independently reproduce the full verification run.