Know the moment
a run converges.

Five lines. Then the cost.

$ courant stop ./cavity STOP  quantity     pSTOP  stationary   iteration 53 of 100STOP  delta        |p(53) − p(100)| / |p(100)|STOP  past         47 iterations · wall-clock · AUh
  1. 01The answer at the stopping point, and at the end
  2. 02How much the answer changed after the stopping point
  3. 03Iterations past convergence
  4. 04Wall-clock past convergence
  5. 05Allocation unit hours past convergence

Steady or transient. Stated.

Looks for
A fixed point.
Method
Every monitor and residual tested for one.
Stops at
The first iteration none of them moves from.

A limit cycle is a verdict, not a stop.

Looks for
A statistic.
Method
MSER-5 truncation, batch means, a stationarity test.
Stops at
When the interval on the mean stays narrow.

The answer is a mean, with its uncertainty.

Allocation, returned.

AUh = cores × wall-clock seconds × clock frequency (GHz) ÷ 3600

Metered in allocation unit hours. Stop reports the hours spent past the stopping point, every run. FIA 2026 Section F2026 Formula 1 Regulations, Section F: Operational, Aerodynamic Testing Restrictions

It advises. It never stops the run.

  • Reads the log and the monitor output. Nothing else.
  • Live in courant watch, as a line prefixed STOP:
  • Never sends a signal to a process.
  • Priced per team, annually, against allocation returned.
  • Stop is Attest's convergence check, sold on its own.

Send a result that has to hold up.

Know the moment a run converges. Stop paying for the rest.