deadreckon resumes from durable runstate, not model memory.
Ordering:
- Load
state.json. - Read
traces.jsonlline by line and keep only complete JSON entries. - Reconstruct tool-result history from complete
tool.*trace entries whenhistory.jsonis missing or--from-turnis supplied. - If
--from-turn Nis supplied, truncate history to turnN, setstate.turn = N, and continue with turnN + 1. - Ignore any partial trailing trace entry. The next turn replays from the last complete tool boundary.
This makes a kill between provider response and tool dispatch recoverable: the partial trace is treated as advisory residue, never as completed work.