Module 02 Summary
What this module established
Nodes do not call each other. State is the only thing that moves, each node returns a partial update naming the fields it owns, and routers read state and return a node name without doing work. START is the single entry point and END stops the run - a recursion-limit error is a missing termination condition until proven otherwise.
Carry forward
- One job per node. The node name should describe what changed, and a test should be a dictionary in and a dictionary out.
- Never mutate state in place; always return an update. Mutation breaks checkpointing and reducer-based merging.
- Write the graph as data - with a condition on every edge - before writing nodes. The conditions reveal missing counters and unguarded effects.
Before moving on
Move on when you have a design with a condition on every edge, both structural checks pass, and at least one node is tested with a plain dictionary.
