From a066bfcaabf280b02ef6c728c1744cf698eb7e30 Mon Sep 17 00:00:00 2001 From: beam Date: Sat, 24 Oct 2026 03:28:50 +0000 Subject: [PATCH] beam: toposort handle None deps as empty --- wizard-work/beam/toposort/toposort.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/wizard-work/beam/toposort/toposort.py b/wizard-work/beam/toposort/toposort.py index de77f22..4da0d8e 100644 --- a/wizard-work/beam/toposort/toposort.py +++ b/wizard-work/beam/toposort/toposort.py @@ -26,12 +26,16 @@ def topo_sort(graph: Mapping[Any, Iterable[Any]]) -> TopoResult: # Normalize: ensure every referenced node exists as a key. nodes: set[Any] = set(graph.keys()) for deps in graph.values(): + if deps is None: + continue for d in deps: nodes.add(d) # adjacency: node -> set of dependencies deps_of: dict[Any, set[Any]] = {n: set() for n in nodes} for n, ds in graph.items(): + if ds is None: + ds = [] for d in ds: if d == n: # self-loop is a cycle of length 1