Graph Theory and Build Systems: Why Your Code Refuses to Compile in the Wrong Order

If you have ever kicked off a build, watched it fail instantly, and muttered, “How exactly is file B trying to exist before file A?” then…