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.