{"id":"ai-loop-condition-skip-on-missing-state","text":"AI-loop rule conditions can return `False` when prerequisite state is missing (e.g., IP not yet provisioned), causing the rule to silently skip rather than fail — this handles ordering between dependent rules.","truth_value":"IN","source":"entries/2026/05/11/deployments-catbeez-rules-ensure_arcade_dns.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{"example":"# From cloudflare-stargate/rules/ensure_stargate_dns.py\nasync def condition(state: dict) -> bool:\n    stargate = state.get(\"_state_file\", {}).get(\"resources\", {}).get(\"stargate\", {})\n    ipv4_list = stargate.get(\"ipv4\", [])\n    if not ipv4_list:\n        return False  # No stargate Linode yet — skip, let ensure_linode handle it\n    expected_ip = ipv4_list[0]\n    actual_ip = state.get(\"dns_lookup\", {}).get(\"stdout\", \"\").strip()\n    return actual_ip != expected_ip"},"explanation":{"steps":[{"node":"ai-loop-condition-skip-on-missing-state","truth_value":"IN","reason":"premise"}]}}