636 B
636 B
Diamond Recursion Scan (ray) — CLEAN (deeper scan)
Scan date: 2026-03-29 Pattern: Recursive cycle/dependency check without visited set (CWE-407 diamond recursion, O(2^D))
Files examined
python/ray/dag/dag_node.py:apply_recursive— uses UUID cache (_CachingFn) for memoization — CLEANpython/ray/dag/dag_node.py:traverse_and_apply— usesvisited = set()— CLEANpython/ray/dag/vis_utils.py:_dfs— delegates to apply_recursive (cached) — CLEANpython/ray/workflow/— empty (only init.py) — CLEAN