ai-loop-condition-skip-on-missing-state

Status: IN

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.

Source: entries/2026/05/11/deployments-catbeez-rules-ensure_arcade_dns.md

Example

# From cloudflare-stargate/rules/ensure_stargate_dns.py
async def condition(state: dict) -> bool:
    stargate = state.get("_state_file", {}).get("resources", {}).get("stargate", {})
    ipv4_list = stargate.get("ipv4", [])
    if not ipv4_list:
        return False  # No stargate Linode yet — skip, let ensure_linode handle it
    expected_ip = ipv4_list[0]
    actual_ip = state.get("dns_lookup", {}).get("stdout", "").strip()
    return actual_ip != expected_ip

JSON