Timeouts and time zones

DataMind Oda keeps slow work from waiting without end: a step that can stall runs under a time limit, and a step that passes its limit comes back as a timeout instead of its own result. Time zones get the same care when they arrive: only a known name in the right form is accepted, and what is stored is its canonical spelling. This page covers both behaviours.

How a step gets its time limit

A limit belongs to the step that carries it, and nothing else; there is no budget for a whole task.

What a timeout is reported as

A limit that fires ends the wait and hands Oda a timeout result in place of the step's own result:

The result is ordinary: Oda reads it and chooses the next step, so a timeout changes what Oda does next rather than stopping the task. Following it in the chat is on Repeated steps and tool timeouts.

Two things a timeout does not do:

How a limit's value is read

Wherever a limit can be set, the same rules apply to its value:

The time zone a chat accepts

Oda accepts UTC or a standard zone name in Area/Location form, such as Asia/Tokyo, and answers with the canonical spelling of it. The value is checked when it arrives, before anything stores it, so an alias is never what gets stored.

These are refused:

Which names are known follows the platform data on the computer you are using, so two computers can disagree about an alias or an unusual name: what one accepts, the other can refuse.

Messages carry the time zone on their own, so you never type it; Prompts, queue and steering covers that path.

Questions, answered

Which timeouts can appear during a task?

Three kinds, and each names itself in the result that replaces the step's work: a tool call that passes the budget set for it (the result says how long the wait ran), a page read that passes the page reader's own backstop while no tool budget sits above it (web fetch timed out), and a streaming reply that goes quiet (a stream idle timeout). When reasons race, the first to arrive is the one reported.

Does one slow call have two limits behind it?

Sometimes. A tool that can stall carries a budget of its own, and the component behind it can keep a backstop of its own. Page reading has both: the web tools carry 30 seconds each by default, and the page reader keeps a second 30-second backstop behind the tool. Whichever limit fires first is the one reported.

Why was a time limit value refused?

A limit must be a positive, finite number. A value that is not, including zero and negative numbers, is refused before any work starts, and the refusal says it must be a positive finite number. Zero is not a way to switch a limit off: leave the value out and the default applies instead.

Why did the spelling of my time zone change before it was used?

A zone is accepted as UTC or in Area/Location form and answered with the canonical spelling of it. The official name a value maps to is what is used and kept, so an alias never reaches a record; the check happens when the value arrives, before anything stores it.

Why is a zone name accepted on one computer and refused on another?

Which names are known follows the platform data on the computer you are using, and two computers can carry different sets: an unusual name or an alias that one accepts can be refused by the other. A standard name in Area/Location form, or UTC, is the most portable choice.

Can I write a zone as an abbreviation such as CST or GMT+8?

No. Abbreviations such as CST or GMT+8 are refused, and so are a single part without a region such as Asia, lower-case utc, a blank or space-padded value, and any name the platform does not know. Write the zone as UTC or as a standard name in Area/Location form, such as Asia/Tokyo.