# Actuating loops

URL: /code/builders/startup/actuating-loops · Id: `page:code/builders/startup/actuating-loops`

> Every measured loop names the Setting, budget or Limit its reading moves, so a number sets the next step instead of filling a report.

Every loop sets the next step. Each measured [Process](/business/nouns/process) and [Play](/business/nouns/play) names the [Setting](/business/nouns/setting), spending budget or [Limit](/business/nouns/limit) its reading moves.

## How a loop actuates
A loop names its [Metric](/business/nouns/metric), its window and its minimum sample. It also names what it actuates, and how the reading moves it. The verifier fails a measured Process or Play that actuates nothing.

## Spend state
[Runway](/workflows/processes/runway) writes a [Forecast](/business/nouns/forecast) every week and after every large money [Decision](/business/nouns/decision). The latest Forecast sets the [Startup](/business/nouns/startup)'s `spendState`, and every money Limit reads it before a call.

| `spendState` | When | Effect |
| --- | --- | --- |
| `free` | Default alive | Limits apply as set. |
| `tight` | Default dead | Discretionary Limits halve, the [Demand Budget](/business/nouns/demand-budget) included. |
| `hold` | Under 13 weeks of runway | One-way spend stops, and a Decision opens. |

Inside that bound, the weekly mix of Plays moves the Demand Budget toward the Play with the best measured payback.

## Other loops
- Customer health below its line starts a rescue in [Retention](/workflows/processes/retention). Use near an [Entitlement](/business/nouns/entitlement)'s bound starts an expansion.
- An error group opens an [Issue](/business/nouns/issue), and the fix-an-issue [Workflow](/business/nouns/workflow) repairs it in a [Change](/business/nouns/change) preview.
- A [Startup Template](/business/nouns/startup-template) rollout across the [Portfolio](/business/nouns/portfolio) halts when a guardrail Metric moves.
- The founder's inbox ranks every ask by the expected value of answering it.

## Example
A Startup holds $60,000 and burns a net $5,000 a week. The week's Forecast reads 12 weeks of runway, so `spendState` moves to `hold`. A $4,000 sponsorship is one-way spend, so it waits as a Decision for the [Founder](/agents/founding/founder), while a $40 API call still runs.