the information of a program’s design is largely not present in its code And that's the problem. We need ways to make those higher level designs (~architecture) code.
This is not unlike the domains of philosophy, morality, ethics, and law. Attempting to express or enforce philosophy and morality via legalism is an exercise in futility, and even ethics which appears to be on the same level as law actually isn't since the presumption of ethics is behavior even in the absence of a law.