{"id":"ftl2-state-file-enables-crash-recovery","text":"The `state_file` parameter on `automation()` persists run state to a JSON file for crash recovery.","truth_value":"IN","source":"entries/2026/05/11/deployments-servercraft-web-deploy.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{"example":"# From ftl2-agentcraft/scripts/sandbox.py — skip provisioning if already in state\nif ftl.state.has(config.name):\n    resource = ftl.state.get(config.name)\n    ip = resource[\"ipv4\"][0]\n    log(f\"{config.name}: Already provisioned at {ip}\")\nelse:\n    result = await ftl.local.community.general.linode_v4(...)\n    ip = result[\"instance\"][\"ipv4\"][0]\n    ftl.state.add(config.name, {\"ipv4\": result[\"instance\"][\"ipv4\"], ...})"},"explanation":{"steps":[{"node":"ftl2-state-file-enables-crash-recovery","truth_value":"IN","reason":"premise"}]}}