Loading the documentation…

Chat recovery after a crash

DataMind Oda keeps each chat's record as a session log file on your computer, and it saves as the chat works. This page explains what happens when Oda stops suddenly, for example in a power cut or a forced restart: what was already saved, what gets repaired, and what you need to do. Where the files live is on Session logs on your computer; a chat that will not open because its log was written by another version is a different case, covered on Opening older chats.

What is already saved when the app stops

The half-written end of a log

Note

A torn tail is a notice, not a failure. The chat opens with the complete part of its record, and you do not have to do anything.

A turn interrupted by the stop

A command cancelled as it was being saved

When a save cannot be written

A damaged record in the middle of a log

A crash can also leave a damaged or out-of-order record in the middle of a log. When Oda reads such a log:

When another copy is holding the chat

A chat can be held for writing by only one copy of DataMind Oda at a time. When another copy holds it, for example because the desktop app and the web app are open side by side, the refusal carries the code session/writer-held and the app shows This session is already in use, possibly by another running DataMind instance (such as the web app or the desktop app). Quit the other running instances and try again. This is not damage to the log: quit the other copy, and the chat opens normally.

Branched chats and inherited calls

Questions, answered

How much of my chat survives a sudden stop?

Everything that was saved. Oda saves the chat's events before it sends a model request, before it runs a command or another tool action, and at the end of each step. The chat reopens at the last point that was saved, and anything after it is done again.

Why will the chat not open while another copy of Oda is running?

One chat has one writer at a time. When another copy of DataMind Oda, such as the desktop app or the web app, is holding the chat, the open is refused with session/writer-held and the app asks you to quit the other running instances. It is not a problem with the log: quit the other copy, then open the chat again.

Do I need to do anything to recover a chat?

No. DataMind Oda repairs the chat by itself when it is opened or continued; there is no recovery command and nothing to start.

Does a torn tail mean my chat is damaged?

No. It means Oda found an incomplete piece at the end of the chat's log, usually from a stop in the middle of a save. The chat opens with every complete record, and the next time it records something new the incomplete bytes are cleared.

What do the repair marks TOOL_NOT_STARTED and TOOL_OUTCOME_UNKNOWN mean?

They mark a tool call caught by the stop. TOOL_NOT_STARTED means the call had not been recorded as started, so nothing ran and it can be asked again safely. TOOL_OUTCOME_UNKNOWN means the call had started but its result was never saved, so Oda cannot tell whether it finished, and it checks before repeating the action.

Does recovery run my interrupted command again?

No. Recovery never repeats an interrupted call by itself. A call that had started is marked as an unknown outcome, and the note Do not retry blindly. tells Oda to check what the action did before repeating it.

After a crash, does Oda undo what a command had already changed?

No. Oda cannot tell whether a command ran or what it changed, so recovery does not undo anything. The call's outcome is marked as unknown, and Oda checks the action's effect before repeating it.

What is the note about the parent chat in a branched chat?

It is a repair note on a tool call the branch inherited without a result. The note The parent session may have executed it after the fork point. means the parent chat may have run the call after the branch was cut, so the branch cannot know the outcome from its own record.

Why did my turn stop when a save failed?

Oda will not carry on from unsaved state: when a save cannot be written, the step is refused and the turn fails instead of running half-finished. Retrying the request is safe, because a failed save is rolled back and cannot repeat events that were already saved.

Can I change how Oda saves and recovers chats?

No. The save points and the repairs are part of how Oda runs; there is no setting for them. For where chat logs live on your computer, see Session logs on your computer.

Is a compressed chat log recovered the same way?

Yes. With compression on, the last compressed piece contributes only its complete records; the incomplete part is skipped and cleared on the next save. Complete records are always kept.