feat: jpa, messaging, notification, mongo, graphql 어댑터터 구현체 추가
This commit is contained in:
@@ -21,8 +21,16 @@ Gradle projects would violate HARD-STOP #5 in `AGENTS.md`.
|
||||
Therefore the design's 31 modules become **package boundaries inside the registered leaf**
|
||||
`:adapter:outbound:persistence-mongo`, following the precedent already set by
|
||||
[docs/httpclient/repository-adaptation.md](../httpclient/repository-adaptation.md). The design's
|
||||
module dependency table (§6.3) is reproduced as ten ArchUnit rules in `MongoModuleBoundaryTest`, so
|
||||
a forbidden edge fails the build the same way a missing Gradle dependency would.
|
||||
module dependency table (§6.3) is enforced by `MongoModuleBoundaryTest` as a **closed edge matrix**:
|
||||
every top-level package is declared with the packages it may import, the matrix is compared against
|
||||
the tree for exact equality, and every observed edge must appear in it. A forbidden edge fails the
|
||||
build the same way a missing Gradle dependency would, and so does a new package nobody registered.
|
||||
|
||||
This used to be a stronger claim than the test. The rules forbade a handful of reverse dependencies
|
||||
and said nothing about the rest, so four edges outside the design's DAG existed and passed:
|
||||
`reactive → imperative`, `reactive → query`, `transaction → reactive` and `geo → imperative`. They
|
||||
are declared in the matrix now rather than removed — each is a real coupling the code relies on, and
|
||||
the point of recording them is that the next one is a decision instead of an accident.
|
||||
|
||||
## 2. Package mapping
|
||||
|
||||
|
||||
Reference in New Issue
Block a user