pa-10 — Verification
One command
cd pa-10-architecture-in-practice && bash scripts/verify.sh
What the tests prove
| Test | Invariant |
|---|---|
TestNoCyclesPassesAndFails | acyclic passes; a cycle is detected |
TestLayeringRule | a forbidden layer dependency is flagged |
TestMaxFanOut | exceeding the coupling budget is flagged; within it passes |
TestEvaluateAggregatesAndGatesCI | an unhealthy architecture fails the aggregate gate with named violations |
TestCleanArchitecturePasses | a dependency-inverted, acyclic, low-coupling design passes all rules |
All under -race. Wire Evaluate into a real TestArchitecture and the
build fails when the architecture regresses.
What "green" does NOT guarantee
- Objective rules, not wisdom. Fitness functions catch cycles/ layering/coupling; they can't tell you a boundary is in the wrong place.
- Consensus/mentorship aren't testable. The ADR + design-review templates (steps/) and the practices in CONCEPTS/GUIDE are the leverage.
- Real enforcement is tool-specific (ArchUnit/import-linter/depguard over your actual graph).