A data pipeline is a graph of tasks: each one waits for the ones it depends on. Wire tasks together, press Run, and watch the scheduler execute them in waves — everything that can go in parallel does. Loop a dependency back on itself and the graph refuses it, and tells you exactly where the loop is.