Source: https://guthlabs.ai/docs/instruments/normality-equivalents-calculator/mechanism/

instrument mechanism / verified-clean

# Normality / Equivalents Calculator mechanism

The inspectable method record for Normality / Equivalents Calculator, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The arithmetic formula is correct, and the stated legacy-unit label is appropriate. Review is required because automatic lookup from an acid/base formula is underspecified for endpoint-dependent acid-base chemistry and medium-dependent redox chemistry.

- N = M × n_eq is the standard formula when M is mol/L and n_eq is the reaction-specific equivalents per mole.

- An equivalence factor cannot always be determined from an acid/base formula alone: polyprotic acids such as H3PO4 have different factors depending on the titration endpoint.

- Redox equivalence factors depend on the reaction and medium; for example, permanganate has different electron factors in acidic, neutral, and alkaline solution.

- The lookup table must record the reaction context or endpoint, not only the chemical formula.

## Units and conventions

- Molarity M is moles of solute per litre of final solution (mol/L).

- The equivalence factor n_eq is equivalents per mole and is dimensionless as used in N = M × n_eq.

- The output unit is equivalents per litre (eq/L), commonly written as normality (N).

- If concentration is supplied in mmol/L, it must be converted to mol/L before applying the formula.

- For acid-base reactions, the selected n_eq assumes a stated titration endpoint; for redox reactions, it assumes a stated medium and balanced reaction.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "solute": "HCl",
    "molarity": 0.1,
    "molarity_unit": "mol/L",
    "equivalence_factor": 1,
    "basis": "one H+ neutralized per HCl molecule"
  },
  "expected_outputs": {
    "normality": 0.1,
    "normality_unit": "eq/L"
  },
  "working": "N = M × n_eq = 0.1000 mol/L × 1 eq/mol = 0.1000 eq/L."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The extreme-magnitude vector causes JavaScript multiplication to overflow: 1e308 × 1e308 becomes Infinity. The instrument should validate finite numeric inputs and reject or clearly report the non-finite result.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/normality-equivalents-calculator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/normality-equivalents-calculator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/normality-equivalents-calculator/qualification/>)

## Sources and evidence

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

- `VERIFIED_LEDGER.json`

- `evidence-tranche6/tranche6-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
