Module 10 Summary
What this module established
Find the first wrong value in the state history, not the last node before the wrong output - nodes downstream of a bug behave correctly on bad input, which makes them look guilty. Read traces backwards from the symptom, asking of each step whether its output was right given its input.
Carry forward
- Replay from recorded inputs on a fresh thread, changing nothing. Whether it reproduces is itself the finding: deterministic means it is in your code.
- Recover by editing state and resuming. A restart repeats completed work and may produce different data, because the sources moved.
- Log
route_reasonalways, and log successful runs - the trace you need is usually from a run that completed and produced a wrong answer.
Before moving on
Move on when you have found a planted bug from state history alone, reproduced a failure by exact replay, and written a trace schema that includes the routing reason.
