ftl2-state-file-enables-crash-recovery

Status: IN

The `state_file` parameter on `automation()` persists run state to a JSON file for crash recovery.

Source: entries/2026/05/11/deployments-servercraft-web-deploy.md

Example

# From ftl2-agentcraft/scripts/sandbox.py — skip provisioning if already in state
if ftl.state.has(config.name):
    resource = ftl.state.get(config.name)
    ip = resource["ipv4"][0]
    log(f"{config.name}: Already provisioned at {ip}")
else:
    result = await ftl.local.community.general.linode_v4(...)
    ip = result["instance"]["ipv4"][0]
    ftl.state.add(config.name, {"ipv4": result["instance"]["ipv4"], ...})

JSON