{"id":"same-api-dev-and-production","text":"FTL2 uses the same `automation()` context manager, module addressing, and error handling API for both development scripts and production deployments — there is no separate deployment-specific interface.","truth_value":"IN","source":"repo:ftl2-servercraft/ftl2_servercraft/__init__.py","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{"example":"# Dev script and production watchdog use identical API:\n# dev script:\nasync with automation(check_mode=True) as ftl:\n    await ftl.file(path=\"/tmp/test\", state=\"touch\")\n\n# production watchdog (same API, different parameters):\nasync with automation(\n    state_file=str(config.state_path),\n    fail_fast=True, quiet=True, auto_install_deps=True,\n) as ftl:\n    while active:\n        count = await script.get_player_count(ftl, config)\n        await asyncio.sleep(poll_interval)"},"explanation":{"steps":[{"node":"same-api-dev-and-production","truth_value":"IN","reason":"premise"}]}}