URDREAM LangGraph local checkpoint exercise — 6 November 2026 Observed: 15/15 checks, 15 separate process actions, 16.333 seconds total. Pinned direct packages: langgraph1.2.20, checkpoint4.3.1, checkpoint-sqlite3.1.3. Actual platform: Python3.13.7, SQLite3.53.1, macOS/Darwin27.2.0 arm64. No model, provider, LangSmith account, social API or server was used. Reproduce in a fresh folder (installation needs internet): 1. uv venv --python 3.13 .venv 2. Save the requirements download as requirements-lock.txt. 3. uv pip install --python .venv/bin/python -r requirements-lock.txt 4. Save the script text as langgraph_hands_on.py. 5. .venv/bin/python langgraph_hands_on.py run --output ./fresh-langgraph-run The output path must not already exist. The script never removes an old run. It creates local synthetic SQLite files and JSON records in that output folder. It runs subprocess workers with an allowlisted environment, tracing disabled and strict checkpoint deserialization enabled. Each worker blocks socket/DNS events. The test deliberately commits duplicate records to its unsafe disposable sink. Do not point this exercise at a live publishing destination or real customer data. Interpretation: - Initial pause and rejection/mismatched review have no sink write. - Same-thread resume loads persisted state in a new interpreter process. - Duplicate resume of this completed graph added no second write. - A marker before interrupt executed twice after resumption. - A committed sink write followed by an injected exception duplicated on retry. - A separate unique-key sink retained one row after two attempts. The final two observations separate checkpoint recovery from side-effect safety. The failure was an ordinary injected exception, not a forced kill or power loss. This is not a concurrency, permission, LLM-quality or capacity certification. The script is original test-fixture code using the real upstream public APIs. The three installed LangGraph/checkpoint components report MIT; version pins do not redistribute their packages or replace upstream license/notice obligations. No service integration, API key or subscription is needed for the tested nodes. Future model calls, hosted services and a real deployment have separate costs.