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

instrument implementation / implementation-contract

Serial Dilution Calculator implementation

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

Status: VERIFIED_CLEANLifecycle: 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-clean
Evidence ID
t4-074
Effect
Computation or source lookup only

Input and validation requirements

  • Division by zero occurs if stock concentration C1 is zero in V1=(C2V2)/C1.
  • DF=0 makes C0/DF^n undefined for n>0; DF must be positive, and an actual dilution generally requires DF>1.
  • DF=1 produces no dilution and should be rejected or clearly labeled as a no-op.
  • Negative concentrations, volumes, dilution factors, or non-integer negative step counts must be rejected.
  • A target concentration greater than the starting concentration yields V1>V2 and is not a dilution; concentration-increasing operations require a different protocol.
  • Rounding transfer volumes can change the achieved concentration, especially for small volumes or large dilution factors.
  • The instrument is a planning aid only; sterile technique, material compatibility, mixing, carryover, evaporation, and protocol-specific minimum pipetting volumes are not represented.

Required corrections

No binding erratum is attached to this unique-name record. Implementers must still preserve the declared units, domain, and failure behavior.

Inspectable interface fixture

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

{
  "inputs": {
    "stock_concentration": "50 mg/mL",
    "target_concentration": "2 mg/mL",
    "final_volume": "25 mL"
  },
  "expected_outputs": {
    "stock_volume": "1 mL",
    "diluent_volume": "24 mL",
    "final_concentration": "2 mg/mL"
  },
  "working": "C1V1=C2V2. V1=(C2×V2)/C1=(2 mg/mL×25 mL)/(50 mg/mL)=50/50 mL=1 mL. V_diluent=V2−V1=25 mL−1 mL=24 mL. Check: 50 mg/mL×1 mL=50 mg; 2 mg/mL×25 mL=50 mg."
}

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