- build_graph() creates a DAG from project config with validation
- get_build_order() wraps topological_generations() for parallel batches
- get_subgraph_for_target() extracts transitive deps for single-target builds
- Validates missing dependencies and cycle detection