refactor: 각 어댑터터별 리펙토링 진행
This commit is contained in:
@@ -56,9 +56,20 @@ build when a policy document states a leaf count that the registry does not agre
|
||||
| `adapter:outbound:persistence-*` | JPA/PostgreSQL and MongoDB persistence adapters | application/domain/shared contracts as registered |
|
||||
| `adapter:outbound:*` | support, messaging, cache, notification, storage, file, HTTP client, identifier capabilities | application/domain/shared and registered support edge |
|
||||
| `shared-contract` | Skeleton-wide operational contracts | Java stdlib only |
|
||||
| `messaging:*` | Vendored messaging platform: a product with its own API, SPI, adapters and composition boundary, not a layer of this application | `messaging:*` only — it depends on no `domain-core`, `application-core`, or `shared-contract` type |
|
||||
| `sample-portfolio` | Fixture/reference consumer | registered runtime leaves; never a production dependency |
|
||||
| `app-bootstrap` | Spring Boot entrypoint and composition root | registered runtime leaves |
|
||||
|
||||
The `messaging:*` family is the one entry that is not a Clean Architecture layer, and it is listed so
|
||||
that the exception is stated rather than inferred from a directory. It is a vendored library — its
|
||||
own `*-api` leaves are its ports, its broker leaves are its adapters, its starter is its composition
|
||||
root — and the messaging module review (`docs/reviews/2026-08-14-messaging-module-code-review.md`
|
||||
MSG-023 §6.2) chose that layout deliberately over folding it into `adapter:outbound:*`. This
|
||||
application is supposed to reach it the way it reaches any library: through an application-owned port
|
||||
satisfied by an anti-corruption bridge in `adapter:outbound:messaging`. That bridge does not exist
|
||||
yet (MSG-015), so today the composition root wires the starter directly; `src/messaging/CLAUDE.md`
|
||||
holds the detail.
|
||||
|
||||
Never infer an individual leaf's Gradle path, allowed dependency, or test command from this table.
|
||||
Read its `gradle_path`, `allowed_dependencies`, and `runtime_memberships` from
|
||||
`src/config/architecture/modules.json`; derive the focused test from that Gradle path.
|
||||
|
||||
Reference in New Issue
Block a user