flowchart TD S(["START"]) --> M["Model requests flight, hotel and car"] subgraph Worker["Original Python process: killed during car"] M subgraph Executions["Three Send task executions of ONE registered tools node"] F["tools task: flight call
Returned; messages write persisted"] H["tools task: hotel call
Returned; messages write persisted"] C["tools task: car call
Blocked before effect; no result write"] end M -->|"Send: flight call"| F M -->|"Send: hotel call"| H M -->|"Send: car call"| C C -.-> K["HARD KILL"] end P[("Persistent graph storage outside worker
Full checkpoint: loop / 1
Flight and hotel task writes saved")] B[("Separate booking store outside worker
Flight and hotel committed; no car")] M -.->|"checkpoint before tool superstep"| P F -.->|"messages: flight ToolMessage"| P H -.->|"messages: hotel ToolMessage"| P F -.->|"flight booking"| B H -.->|"hotel booking"| B P --> O["Replacement worker process opens same saved thread
Inspection alone does not run work"] O --> I["Caller explicitly invokes None"] I --> R["Reuse flight and hotel writes
Execute unfinished car task"] classDef saved fill:#d8f3dc,stroke:#327546,color:#163d23 classDef stopped fill:#ffe4cc,stroke:#a64b00,color:#4d2300 class F,H saved class C,K stopped