> …How do you keep architectural
> intent explicit…
> …
> …without slowly drifting into a
> system you no longer fully understand…?
One way some of the more mature shops I've worked at have solved the understandability problem (for human devs) is with visual modeling.Visual modeling doesn't necessarily mean by-the-book UML, of course. Even junior devs understand simple misshapen boxes, lines and arrows on a white board.
You'd be amazed at how effective even imperfectly-drawn visual models are at keeping meatbags' memories on track with how the system hangs together.
In a brick and mortar dev shop, ideally you want a large whiteboard that's positioned somewhere that every team member can glance at conveniently at any time.
I know it works wonders for me, anyway. In fact, just yesterday I added a PlantUML-backed visual model generating skill to the coding CLI I've been using lately. They get output to a uml folder at the root of my projects.
> …I’m curious how others handle this in practice…
I'm banking on good old fashioned UML defined as machine-readable text files as one way to remind coding agents of architectural intent in my AI coding-assisted projects.