@darrylyeo
I carefully read and internalize the most important and consequential architecture-defining bits of code. If it's confusing or I don't understand anything, I work closely with the agents to distill everything down into an irreducible set of primitives until invalid situations are completely unrepresentable.
Once those are nailed down, then my agents are free to fill all the gaps and product features within those bounds using primitives I've already vetted and am familiar with, so I know what those will look like without having to read it.
If a new feature requires a new primitive that isn't yet represented in my system, then I prototype it and repeat this process.