A workflow’s Budget
Budget:
Calls: 40
Rounds: 30
Duration: PT5M
OnExhausted: BestEffort- Callsinteger
- Operation calls the turn may make: tools, workflows run by a step, and the calls a model chose.
- Roundsinteger
- Model requests the turn may make.
- Durationduration
- Working time. Time spent waiting for an answer, or while no worker is running, is not counted.
- MemoryProbesinteger
- Memory reads the turn may make. After the last one, a read answers that memory is closed.
A workflow that declares a Budget also declares OnExhausted. The budget applies when the workflow opens a turn; a workflow run by another workflow’s step spends its caller’s budget instead.
Attempts
Most steps take Attempts, one by default: how many times the step may try its work when it fails. A model step has already been tried on every eligible provider before an attempt counts as failed. A step that has failed every attempt applies its own OnExhausted, or fails; a failure that reaches the workflow fails the turn’s attempt.
Exhaustion policies
Each step kind accepts the policies its work can honor, and an upload naming another is refused. Running out is always recorded, as limit.exhausted and step.exhausted, even when the policy lets the turn continue.
Scopes
A Scope gives a group of steps a budget of their own inside the turn’s, with its own policy.
- Scope: Verification
Budget: { Calls: 10 }
OnExhausted: Wait
Steps:
- ExecuteTool: CheckSanctions
Operations: [Sanctions]
- ExecuteTool: CheckRegistry
Operations: [Registry]Deployment ceilings
Momor’s deployment caps every workflow. An upload that declares a limit above a ceiling is refused. These are the shipped defaults; a deployment may set its own.