Home Developers Evidence chemistry.acid_base.ph

Public evidence

chemistry.acid_base.ph

Machine-checked verification for calculation version 1.0.1 · tier engine_tested

CVP status

CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · pH = −log10(h) and pH + pOH = 14 at 25 °C, + O3 mpmath tabulated pH.

Not a buffer. O3 tabulated vectors only.

Declared partition coverage
PASS · 8/8 declared partitions (alias, awkward, from-ph, from-oh, from-poh, cross, from-h, invalid-domain)
Versions
Calculation 1.0.1 · CVP protocol 1.0.0-proposed · Evidence 2026-09-25.o2-o3.2
Verification revision
2026-09-25.o2-o3.2 · 1/1 property · digest 82c9acd33c3c

Verification

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

Three distinct suites: educational examples on the calculator page, this legacy regression count (14/14 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.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-25.o2-o3.2. Calculation version 1.0.1. CVP 1.0.0-proposed. 4/4 golden · 6/6 CVP boundary · 5/5 invalid · 1/1 property · 1/1 metamorphic · 8/8 O3 · 2/2 cross-interface · 5/5 CVP contract. digest 82c9acd33c3c. O2: water ion product at 25 °C vs a separate-module identity (≤2 ULP). Not a buffer. ≤2 ULP vs O3 applies only to the published tabulated pH vectors. Not a buffer.

  • Golden (oracle-backed) 4 / 4
  • CVP boundary 6 / 6
  • Invalid input 5 / 5
  • Property 1 / 1
  • Metamorphic 1 / 1
  • O3 high-precision 8 / 8
  • Cross-interface 2 / 2
  • CVP contract 5 / 5
  • 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.
  • Verified scope pH = −log10(h) and pH + pOH = 14 at 25 °C, + O3 mpmath tabulated pH.
  • Assurance Engineering
  • Deferred Not a buffer and not an activity-based pH.
  • 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:04cec5f6c1592ba73b3b5e2a050de92b09b342b1a78b6a5dc9e80f5eb82ca302

Input schema sha256:8a616520a7c1716956418626fe11dc5ef7a38e3d4a69ad59f6be891179d3b2f8 · Output schema sha256:04ab729484e355638be8ebb990d46f82988bf6794b5a72320a0176784bb2a9e1 · 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
ph
Engine
ph
Engine build
2026-09-25
Evidence core
2026-09-25T00:30:32.689Z
Rendered
2026-10-23T01:27:11.353Z
Last reviewed
—

Assumptions

  • pH = −log10[H+]
  • pOH = −log10[OH−]
  • Kw = 1e-14 at 25 °C
  • Not Henderson–Hasselbalch
  • Not ICE or activity coefficients

Limitations

  • Kw = 1e-14 at 25 °C (not temperature-dependent)
  • Not Henderson–Hasselbalch buffer pH
  • Not ICE, activity coefficients, or polyprotic

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.