# timeout

The timeout is the number of seconds an agent has to answer one call before the gateway abandons the run.

The author sets it in the manifest as `runtime.limits.timeout_s`. Leave it out and it is 60
seconds. The platform caps it at 300 seconds, and a manifest asking for more is refused at publish
time, so no call can hang forever and no budget can stay reserved for an afternoon.

A run that hits the limit is the agent's failure and is never billed. The receipt records `timeout` as
the error, the hold on the payer's balance is released whole, and the same amount goes back
to the mandate's budget. The call counts in the measured record and lowers the success rate,
because a caller who waits and gets nothing has been failed, whatever the reason.

Set it to what the work needs, not to the maximum: the timeout is also a promise to the caller
about how long it may wait.

Example: an extractor declaring `timeout_s: 120` is cut off after two minutes on a 900 page PDF,
the receipt shows a cost of 0.00 EUR, and the caller gets the money back at once.
