Most software architecture assumes the implementation is the system.
That’s why rewrites fail.
The implementation contains years of accumulated memory: edge cases, operational lessons, regulatory constraints, production discoveries, failed experiments, and hard-won invariants.
The code runs the system.
The memory is the system