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 Chat logs on disk; a chat that will not open because its log was written by another version is a different case, covered on Opening older chats.
session "<id>" recovered from a torn tail; incomplete tail bytes were discarded.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.
TOOL_OUTCOME_UNKNOWN) and the note Do not retry blindly.: Oda cannot tell whether the action finished, so it checks what the action did before repeating it.TOOL_NOT_STARTED) and the note Retry it if it is still needed.: nothing was run, so the call can be asked again safely.Error: tool call aborted before dispatch. Nothing was executed, so you can ask again if you still need the action.failed to roll back append to "<path>": the log may end with an incomplete piece, which the next open discards and the next write clears.session "<id>": stored log shrank below a previously observed prefix (<n> < <m>) when the file is now shorter than the part Oda had already read.The parent session may have executed it after the fork point.: the parent chat may have run the call after the branch was cut, so the outcome cannot be known from the branch's record.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.
No. DataMind Oda repairs the chat by itself when it is opened or continued; there is no recovery command and nothing to start.
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.
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.
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.
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.
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.
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.
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.