How goals work

A goal is one objective that DataMind Oda keeps working toward across many turns in a chat. A task that runs beyond a single answer can become a goal: Oda works it in rounds until the objective is met or it stops and needs you. This page covers how a goal behaves. Goals shows the surfaces a goal adds to the chat; Set and manage goals with /goal covers the command that manages it.

The states a goal can be in

A goal is always in one of four states:

Being in a state is only part of the story: an active goal either keeps going or waits. One that keeps going takes its next round as soon as the chat is free; one that waits does nothing until you resume it. Whether a goal keeps going is decided fresh every time Oda starts and is not saved with the goal. So when you reopen Oda, or branch a chat into a new conversation, an active goal waits for you, even though nothing about the goal itself changed. The reopen case shows as an on-hold notice; Resume continues the goal. Goals shows that notice.

One goal at a time

A chat holds one goal at a time. An unfinished goal cannot be replaced: to change course, edit its objective in place; to start over, clear the goal first. A completed goal can be replaced directly. Set and manage goals with /goal shows what the command answers when a change does not fit.

What Oda may change on its own

A goal is managed from both sides: your messages, and Oda while it works. Inside the same rules, Oda can:

Changes to a goal are accepted only from its own chat: from you, or from Oda as it works the goal. A helper working inside a task cannot change the goal itself. Every change is checked against the goal's current state first, and a change that no longer matches it is refused, leaving the goal as it was.

How a goal ends

When a goal completes or is blocked inside a round Oda is running on its own, Oda stops there and writes one closing message: the outcome, a summary of what was done and how it was verified, and where the results are. A blocked goal's closing message states the concrete condition, what Oda tried, and what it needs from you to continue. After that message, Oda does no further work on the goal until your next instruction.

What is saved with a goal

Every accepted change to a goal is saved with the chat as one complete record: it lands whole or not at all. The saved goal carries its objective, its state, the rounds it has run against its limit, and any blocker; the goal you see on the chat's surfaces comes from the same record, so the two cannot disagree. A change that fails Oda's checks, for example one that no longer matches the goal's current state, is refused before anything is written, and the goal stays as it was.

Questions, answered

What states can a goal be in?

Four: active, paused, blocked and complete. Active means Oda is working toward the objective; paused means it was stopped from your side; blocked means progress stopped on a concrete obstacle, such as a limit or a problem Oda reported, and the goal carries the blocker; complete means the objective was achieved.

Is a paused goal the same as a blocked one?

No. A paused goal was stopped from your side; resume it to continue. A blocked goal was stopped by a concrete obstacle and carries the reason; resume works the same way, except when all of its rounds are used, where Edit appears in place of Resume so you can adjust the objective first.

Can Oda set a goal without me asking?

Yes, when your request is a long-running objective. Oda can create the goal for the chat without you typing /goal; it leaves quick, single-answer tasks alone. You can also set one yourself with /goal.

Can a helper change the goal it is working on?

No. Changes to a goal are accepted only from its own chat: from you, or from Oda as it works the goal. A helper working inside a task cannot change the goal itself.

What does Oda write when a goal finishes?

One closing message: the outcome, a summary of what was done and how it was verified, and where the results are. A blocked goal's closing message states the concrete condition, what Oda tried, and what it needs from you to continue. After it, Oda waits for your next instruction; Working in goal rounds covers starting a blocked goal again.

Why doesn't Oda mark a goal blocked at the first problem?

Because a block reported from a round must be a lasting one: the same blocking condition has to last three rounds in a row (the default) before the goal can be marked blocked from a round. A one-off snag does not stop the goal.

What does Oda save about a goal?

Its objective, its state, the rounds it has run against its limit, and any blocker. Every accepted change is saved whole with the chat, so the goal survives closing and reopening Oda; the goal you see is the goal that was saved. The one thing not saved is whether the goal was actively going, which is decided fresh each time Oda starts.

What happens to a goal when I branch the chat into a new conversation?

The new conversation carries the goal with it: the same objective and the same rounds it has run. It does not continue on its own there; resume it in the new conversation to keep going. The original conversation keeps its own goal.