neofoam.framework.graph.resolver

DAG resolver for StepBuilder hierarchies and model operation insertion.

exception neofoam.framework.graph.resolver.CyclicDependencyError[source]

Bases: Exception

Raised when a cyclic dependency is detected in the operation graph.

class neofoam.framework.graph.resolver.DAGResolver(sorter: TopologicalSorter | None = None)[source]

Bases: object

Merge and order operations by dependency across loop scopes.

Thin orchestrator that delegates to pure functions:

collect_tagged_ops → build_global_graph → sort_global → rebuild_builder

The topological sorter is injected (DIP seam); default is NetworkxTopologicalSorter.

exception neofoam.framework.graph.resolver.MissingDependencyError[source]

Bases: Exception

Raised when an operation depends on a non-existent operation.