Page actions
instrument implementation / implementation-contract
Titration Curve Plotter implementation
A source-bound implementation contract for Titration Curve Plotter; deployment and executable qualification remain separate.
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
- t6-058
- Effect
- Computation or source lookup only
Input and validation requirements
The zero-concentration titrant case creates a genuine division-by-zero in equivalence-volume calculation and must be rejected. The zero-volume boundary also exposes a likely log10(0) failure if the pre-equivalence Henderson-Hasselbalch formula is applied at the initial point. Volume-direction conventions require explicit handling.
Required corrections
[
{
"vector": 2,
"field": "curve_points pH@0",
"wrong": 2.872327,
"correct": 2.875277,
"cause": "working computes x=0.001332671 correctly, then a WRONG 'Correction' drops Ka^2 under the root, concludes pH=2.875276 anyway — and the field ships 2.872327, matching neither"
},
{
"vector": 4,
"field": "curve_points pH@10.1",
"wrong": 10.954243,
"correct": 10.954677,
"cause": "micro: [OH-]=1e-5/0.0111 rounded to 9.0e-4 before the log"
}
]Inspectable interface fixture
The sample below is evidence for interface and validation tests, not a production implementation.
{
"inputs": {
"analyte": {
"type": "strong_acid",
"formula": "HCl",
"concentration_M": 0.1,
"volume_mL": 25
},
"titrant": {
"type": "strong_base",
"formula": "NaOH",
"concentration_M": 0.1
},
"sampled_volumes_mL": [
0,
12.5,
25,
30
]
},
"expected_outputs": {
"curve_points": [
{
"volume_mL": 0,
"pH": 1
},
{
"volume_mL": 12.5,
"pH": 1.477121
},
{
"volume_mL": 25,
"pH": 7
},
{
"volume_mL": 30,
"pH": 11.958607
}
],
"equivalence_volume_mL": 25,
"half_equivalence_volume_mL": 12.5,
"half_equivalence_pH": 1.477121,
"key_features": {
"equivalence_point": "pH 7.000000 under the 25 C ideal strong/strong assumption",
"half_equivalence_note": "pH is not pKa; the analyte is a strong acid"
}
},
"working": "Initial acid moles = 0.100 mol/L * 0.0250 L = 0.002500 mol. Equivalence volume = 0.002500 mol / 0.100 mol/L = 0.0250 L = 25.0 mL. At 0 mL: [H+]=0.100, so pH=-log10(0.100)=1.000000. At 12.5 mL: OH- moles=0.100*0.0125=0.001250 mol; remaining H+ moles=0.002500-0.001250=0.001250 mol; total volume=0.0375 L; [H+]=0.001250/0.0375=0.0333333; pH=-log10(0.0333333)=1.477121. At 25.0 mL, strong acid and strong base exactly neutralize, so pH=7.000000. At 30.0 mL: excess OH- moles=0.100*0.0300-0.002500=0.000500 mol; total volume=0.0550 L; [OH-]=0.000500/0.0550=0.00909091; pOH=-log10(0.00909091)=2.041393; pH=14.000000-2.041393=11.958607."
}Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche6/tranche6-results.jsontranche errata record