Hey Xavier, thanks so much! Really appreciate your answer!
Could you maybe describe to me (or point me in the right direction) to how content autoloading happens?
You know what it? I've kinda solved the issue by just referencing the constant explicitly. But I'm really curious as to how Rails ends up throwing that circular dependency exception.
Like... I get what happens when you have a non-threadsafe variable... because actually setting a variable requires multiple steps in the MRI and so while one thread is reading from a variable before setting it, another thread has already set it to something.
But what's going on here.... like... one thread tries to autoload a constant... and then before it's done another thread does the same and then... why does that result in a circular reference exception? Any ideas?