Source: https://guthlabs.ai/docs/instruments/integrated-rate-law-solver/mechanism/

instrument mechanism / verified-clean

# Integrated Rate Law Solver mechanism

The inspectable method record for Integrated Rate Law Solver, kept separate from implementation and qualification.

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

## Model scope

The three displayed integrated rate laws are standard and mathematically correct under their assumptions. Verdict is NEEDS_REVIEW because the specification does not define inverse-solving formulas, admissible domains, exact unit handling, or deterministic plotting bounds, and it does not explicitly label the model as an irreversible constant-condition single-reactant approximation.

- The listed integrated laws are correct for irreversible, single-reactant reactions with constant volume and constant temperature, but the solver must explicitly provide the inverse forms for the claimed 'solve for any one' capability: zero-order t=([A]0-[A])/k, first-order [A]=[A]0 exp(-kt) and t=ln([A]0/[A])/k, and second-order t=(1/[A]-1/[A]0)/k.

- The specification does not state the required physical-domain constraints: [A]0>0, [A]>=0, t>=0, and k>0 for a consuming reaction. Zero-order calculations become physically invalid when t>[A]0/k; first- and second-order target concentrations must satisfy 0<[A]<=[A]0.

- The phrase 'solve for any one' is ambiguous because the declared inputs include order, k, [A]0, and t but do not identify whether [A], k, [A]0, or t may be the missing variable, nor how the solver represents a target concentration.

- The plotting output is underspecified: no time range, sampling resolution, or handling of the physically invalid negative-concentration portion of a zero-order curve is defined.

## Units and conventions

- Concentration [A] and [A]0 use the same concentration unit, such as mol/L (M).

- Time t and the rate constant k must use compatible units.

- For zero order, k has concentration/time units, such as M/s.

- For first order, k has inverse-time units, such as s^-1 or min^-1.

- For second order, k has concentration^-1 time^-1 units, such as M^-1 min^-1.

- The formulas assume an irreversible reaction involving one tracked reactant concentration, constant volume, constant temperature, and a constant rate constant.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "order": 0,
    "k": 0.0025,
    "k_units": "M/s",
    "A0": 0.1,
    "A0_units": "M",
    "t": 20,
    "t_units": "s",
    "solve_for": "A"
  },
  "expected_outputs": {
    "A": 0.05,
    "A_units": "M",
    "sampled_points": [
      {
        "t": 0,
        "A": 0.1
      },
      {
        "t": 20,
        "A": 0.05
      },
      {
        "t": 40,
        "A": 0
      }
    ],
    "curve_features": {
      "slope": "-0.0025 M/s",
      "zero_concentration_time": 40,
      "zero_concentration_time_units": "s",
      "valid_nonnegative_domain": "0 <= t <= 40 s"
    }
  },
  "working": "Zero-order law: A=A0-kt. At t=20 s, kt=(0.0025 M/s)(20 s)=0.0500 M. Therefore A=0.100 M-0.0500 M=0.0500 M. Boundary check: at t=A0/k=(0.100 M)/(0.0025 M/s)=40.0 s, A=0; for t>40.0 s the algebraic result is negative and is not a physical concentration."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The zero-concentration second-order request causes division by zero and must not produce an ordinary numeric time. Negative-k handling is also underspecified: literal arithmetic gives growth, while the conventional rate-constant interpretation should reject the input.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/integrated-rate-law-solver/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/integrated-rate-law-solver/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/integrated-rate-law-solver/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`
