The bounds
A limit belongs to the step, not to the agent running it. Stating them together keeps a handoff from silently resetting a budget that the previous agent had already spent.
step timeout 120s
retry attempts 3
handoff depth 4
The block above is an unhighlighted fence, so its alignment and its blank final line are preserved exactly as authored rather than normalised away.
Reading a reached limit
A reached limit is a result, not a failure to explain away. Record which limit was reached and what the step had completed by then; that record is what the next agent reads as task state.
Checking a reached limit is the second step of the operations runbook.