My experience is that for complex architectures, files must be split. Allowing AI to index a self-consistent logic that fits into a single context based on filenames is far more stable than it piecing together bits and pieces and guessing the overall picture.
Of course, AI won't split files on its own, so I ask it to refactor a portion of the code almost every day.