# Workloops

Model continuing work with carried state, cadence, invariants and explicit retirement.

A workloop runs continuing work under one identity. Each iteration carries typed state into the next. The document declares how the loop wakes, reports health and retires.

## Iterations

A cadence, a signal, or both can arm the next iteration. Routing to start closes the current iteration. Carried fields have typed defaults and are threaded into later iterations.

The checker validates a workloop’s explicit iteration, health and retirement rules.

## Health

An invariant names a health claim. A confirming route records that it was satisfied. Tolerance declares the unconfirmed duration or number of windows that matters.

A report describes the standing reading. Retention declares prior generations to keep. These declarations give the engine and console facts to read instead of inferring health from a run that is merely still present.

## Detached work

Hatch starts an independent workflow with an explicit deduplication key. That workflow keeps its own lifecycle when the parent loop retires.

## Retirement

The retire control runs the document's declared retirement body and withdraws the loop from the cadence sweep. Use the [retire command](/aion/reference/cli-runs/#command-retire) and read its result.

See [the full workloop syntax](/aion/reference/awl-workloops/) for cadence, state, invariants, retention and retirement.
