Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument implementation / implementation-contract

Buffer Preparation Calculator implementation

A source-bound implementation contract for Buffer Preparation Calculator; deployment and executable qualification remain separate.

Status: VERIFIED_WITH_ERRATALifecycle: implementation-contract

Binding contract

This record describes what an executable surface must bind and validate. It does not claim that a public calculator, package, or production route is deployed.

Record owner
Guth Instruments
Lifecycle
verified-with-binding-errata
Evidence ID
t4-063
Effect
Computation or source lookup only

Input and validation requirements

The extreme pH input pH=-400 causes 10^-400 to underflow to zero in plain JavaScript arithmetic, silently eliminating the conjugate-base component instead of representing its mathematically nonzero amount. The convention probe also exposes a potentially catastrophic mL-versus-L interpretation error if units are not enforced.

Required corrections

[
  {
    "vector": 4,
    "field": "volumes + moles",
    "wrong": "acid 6.6667 mL, NaOH 3.3333 mL, water 90.0 mL, base_formed 0.0133333",
    "correct": "acid stock 20 mL (0.02 mol total needed), NaOH 6.656 mL of 2 M (0.013312 mol, r=10^0.30=1.99526), water 73.34 mL",
    "cause": "output volumes contradict her own working (which correctly says initial acid = 0.02 mol); also used 10^0.30=2 exactly"
  }
]

Inspectable interface fixture

The sample below is evidence for interface and validation tests, not a production implementation.

{
  "inputs": {
    "mode": "weak_acid_plus_conjugate_base",
    "target_pH": 4.76,
    "pKa": 4.76,
    "total_buffer_concentration_M": 0.1,
    "final_volume_L": 1,
    "weak_acid": "acetic acid",
    "conjugate_base": "sodium acetate, anhydrous",
    "weak_acid_molar_mass_g_per_mol": 60.05,
    "conjugate_base_molar_mass_g_per_mol": 82.03
  },
  "expected_outputs": {
    "weak_acid_moles": 0.05,
    "conjugate_base_moles": 0.05,
    "weak_acid_mass_g": 3.0025,
    "conjugate_base_mass_g": 4.1015
  },
  "working": "1. Ratio A⁻/HA = 10^(pH−pKa) = 10^(4.76−4.76) = 1. 2. [HA] = C_total/(1+ratio) = 0.100/(1+1) = 0.0500 M. 3. [A⁻] = 0.100−0.0500 = 0.0500 M. 4. n(HA) = 0.0500 mol/L × 1.000 L = 0.0500 mol. 5. n(A⁻) = 0.0500 mol/L × 1.000 L = 0.0500 mol. 6. m(HA) = 0.0500 mol × 60.05 g/mol = 3.0025 g. 7. m(A⁻) = 0.0500 mol × 82.03 g/mol = 4.1015 g."
}

Other records

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json
  • evidence-tranche4/tranche4-results.json
  • tranche errata record