Source: https://guthlabs.ai/docs/instruments/percent-composition-calculator/

instrument / verified-clean

# Percent Composition Calculator

The current ledger marks this instrument verified clean within the source-bound verification corpus.

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

## Inspectable records

[01**Overview**Purpose and lifecycle](<https://guthlabs.ai/docs/instruments/percent-composition-calculator/>)[02**Mechanism**Method and assumptions](<https://guthlabs.ai/docs/instruments/percent-composition-calculator/mechanism/>)[03**Implementation**Binding and validation](<https://guthlabs.ai/docs/instruments/percent-composition-calculator/implementation/>)[04**Qualification**Evidence and errata](<https://guthlabs.ai/docs/instruments/percent-composition-calculator/qualification/>)

## Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

**Area**: Chemistry & Materials

**Tranche**: tranche-2

**Evidence ID**: t2-003

**Ledger rows**: 1

No ledger note is attached.

## Review findings

The core mass-percent equation is correct under the stated unit and parsing assumptions. Verdict is NEEDS_REVIEW because the exact ambiguity is unspecified formula-language support and the undefined meanings of n, Aᵢ, M, atomic-weight standard, and rounding policy.

### Formula and scope findings

- The formula %element=(n·Aᵢ/M)×100 is standard only when n is the integer count of the element in one formula unit and M is explicitly defined as Σ(nⱼ·Aⱼ), the formula-unit molar mass.

- The specification does not define how chemical formula notation is parsed, including parentheses, nested groups, hydrates, dot notation, charges, isotope labels, or fractional stoichiometry.

- The atomic-weights table is unspecified; results depend on the selected standard atomic weights and rounding policy.

- The pie breakdown has no separate mathematical formula stated; it should use the same normalized per-element percentages and therefore sum to 100% within rounding tolerance.

### Unit assumptions

- Aᵢ is the atomic weight in g/mol, or any consistent mass-per-mole unit; M is in the same mass-per-mole unit, so the units cancel.

- n is dimensionless and represents the number of atoms of element i in one formula unit.

- Percentages are mass percentages, not mole percentages or volume percentages.

- The test calculations use these atomic weights: H=1.008, O=15.999, C=12.011, Na=22.990, Cl=35.45, Cu=63.546, S=32.06.

- For CuSO4·5H2O, the hydrate dot is assumed to mean CuSO4 plus five H2O units, with the resulting composition Cu1S1O9H10.

## Boundary hardening

**BREAK_CLAIMED** · SELF_FLAGGED

The zero-count input H0 produces an undefined 0/0 calculation unless explicitly rejected. Parenthesis handling and hydrate-dot interpretation also create materially different results if parser conventions are not enforced.

## Errata and corrections

No applied erratum is attached to this unique-name record.

## Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

````
{
  "inputs": {
    "formula": "H2O",
    "atomic_weights": {
      "H": 1.008,
      "O": 15.999
    }
  },
  "expected_outputs": {
    "per_element_percent": {
      "H": 11.190674,
      "O": 88.809326
    },
    "total_percent": 100
  },
  "working": "M = (2×1.008) + (1×15.999) = 2.016 + 15.999 = 18.015 g/mol. H% = (2×1.008 ÷ 18.015)×100 = (2.016 ÷ 18.015)×100 = 11.190674%. O% = (1×15.999 ÷ 18.015)×100 = 88.809326%. Check: 11.190674 + 88.809326 = 100.000000%."
}
````

## Related workflows

No source-defined multi-instrument workflow membership is recorded.

## Sources and evidence

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

- `VERIFIED_LEDGER.json · VERIFIED_CLEAN`

- `evidence-tranche2/tranche2-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
