If I find a violation of a arch rule (e.g.: a db query defined in HTTP-handler code), I codify that arch rule in the architecture tests.
Libraries exist to help writing arch tests, but you can also let your LLM come up with something custom.
If I find a violation of a arch rule (e.g.: a db query defined in HTTP-handler code), I codify that arch rule in the architecture tests.
Libraries exist to help writing arch tests, but you can also let your LLM come up with something custom.
We might need different kind of rules/constraints because at the end we rely on LLMs to respect or use those rules. Frontier labs are best placed to build something like this making it part of LLM speak.
I want everyone to respect those rules. LLM and human alike.
Hence, I like architecture tests. Most of my arch-tests double as a point in a CLAUDE.md (or sub) file.
Architecture tests are understood both by LLM and human, and test everyone's code. How's this not what you need?
Saying we need a different language, to me, is saying you do not understand LLMs well: those algorithms basically can do what they do due to prior art. A completely new language is not what I'd expect an LLM to be great at.