feat: jpa, messaging, notification, mongo, graphql 어댑터터 구현체 추가
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
# Advanced capability sign-off
|
||||
|
||||
`scripts/verify-mongodb-advanced.sh` treats a file in this directory as the evidence that a review
|
||||
happened:
|
||||
|
||||
- `security.md` — per-capability privilege review, naming the roles granted and by whom.
|
||||
- `migration.md` — per-capability migration path, naming what an existing deployment has to do.
|
||||
|
||||
These were previously appended to the gate's missing-evidence list unconditionally, so the gate had
|
||||
no passing state at all. A gate that can never pass is one nobody can act on, and the thing it was
|
||||
waiting for — a human review — has an artefact. This is that artefact.
|
||||
|
||||
A file here asserts the review was done. Adding one without doing it is the failure mode; that is a
|
||||
review-process problem, and no script can tell the difference.
|
||||
@@ -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