{"id":"provisioning-exception-slack-notify-reraise","text":"Production provisioning functions wrap the entire operation in try/except, send a Slack failure notification on error, then re-raise — ensuring the caller still sees the failure while operators get immediate alerts.","truth_value":"IN","source":"repo:ftl2-servercraft/ftl2_servercraft/scripts/neoforge.py","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{"example":"async def provision(ftl, config, log):\n    try:\n        await _step1_infrastructure(ftl, config, log)\n        await _step2_application(ftl, config, log)\n    except Exception as exc:\n        try:\n            await ftl.local.community.general.slack(\n                channel=config.slack_channel,\n                msg=f\"{config.name}: Provisioning failed: {exc}\",\n            )\n        except Exception:\n            pass\n        raise"},"explanation":{"steps":[{"node":"provisioning-exception-slack-notify-reraise","truth_value":"IN","reason":"premise"}]}}