How long do your architecture rules last without enforcement?
At the start of a project, you lay down grand principles: "the Domain never imports the Application layer", "Controllers do not access repositories directly." Three months later, an import slips through, nobody notices, and the boundaries fade away.
The problem is not a lack of discipline. It is the absence of automated verification.
In Phexium, a Deptrac architecture analysis is configured with granular layers: Domain, Ports, Adapters, CQRS handlers, Presentation, Middleware. Each component has its allowed dependencies, explicitly. A Controller that imports an Entity? Blocked. A Handler that accesses a concrete Adapter instead of the Port? Blocked.
The analysis is not limited to imports. Function calls, superglobals, use statements, everything is covered.
One deptrac:analyse command and the verdict drops. No need to wait for a code review to detect a violation, the feedback is immediate.
Result: architectural drift is detected the moment it appears, not three sprints later.