Architecture Specs

Architecture specifications enforce structural constraints in the codebase. These rules ensure the system remains maintainable as it grows.

Specs in this category

ID Spec Enforcement Severity
ARCH-001 Layering: Controller → Service → Repository ArchUnit, SonarQube critical
ARCH-002 Dependency Inversion at Service Boundary ArchUnit major
ARCH-003 Package Structure by Feature ArchUnit major

How These Are Enforced

Architecture specs are primarily enforced via ArchUnit tests in src/test/java/.../ArchitectureTest.java. SonarQube provides secondary checks for code smells that indicate architectural violations.