{"id":"automation-module-restriction-raises-attributeerror","text":"`automation(modules=[\"file\", \"copy\"])` restricts which modules can be called; accessing a disallowed module raises `AttributeError`, not a runtime module error.","truth_value":"IN","source":"entries/2026/05/11/examples-06-automation-context-README.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{"example":"async with automation(modules=[\"file\", \"copy\"]) as ftl:\n    await ftl.file(path=\"/tmp/test\", state=\"touch\")  # OK\n    await ftl.command(cmd=\"ls\")  # Raises AttributeError"},"explanation":{"steps":[{"node":"automation-module-restriction-raises-attributeerror","truth_value":"IN","reason":"premise"}]}}