chore: remove sample portfolio module
This commit is contained in:
@@ -42,7 +42,7 @@ Package root: `dev.caskeleton.adapter.outbound.fileserver`. Driven (outbound) ad
|
||||
|
||||
## Forbidden
|
||||
|
||||
- Inbound adapters, sibling outbound adapters, persistence, `app-bootstrap`, `sample-portfolio`
|
||||
- Inbound adapters, sibling outbound adapters, persistence, or `app-bootstrap`
|
||||
(ArchUnit `OUTBOUND_ADAPTERS_*` family rules).
|
||||
- Leaking filesystem, stream, framework, or provider types across `FilePublicationPort`.
|
||||
- Advertising `FILE_AND_DIRECTORY_SYNC` as physical device/controller/replica/site power-loss
|
||||
|
||||
@@ -37,8 +37,7 @@ build choices) live in [README.md](README.md).
|
||||
- Persistence or web technology (JPA/Hibernate/Spring Data/Spring Web) — ArchUnit
|
||||
`identifier_adapter_does_not_depend_on_other_adapters_or_bootstrap`;
|
||||
`.claude/hooks/ca_import_gate.py` G4 가 쓰기 시점에 차단.
|
||||
- inbound adapters, persistence adapters, other outbound leaves, `app-bootstrap`,
|
||||
`sample-portfolio`.
|
||||
- inbound adapters, persistence adapters, other outbound leaves, or `app-bootstrap`.
|
||||
- External IO (HTTP / messaging / cache / DB) — that belongs in `adapter-outbound`.
|
||||
|
||||
## Test
|
||||
|
||||
@@ -34,7 +34,7 @@ readiness live in [README.md](README.md) and
|
||||
|
||||
## Forbidden
|
||||
|
||||
- Inbound adapters, sibling outbound adapters, persistence, app-bootstrap, or sample-portfolio
|
||||
- Inbound adapters, sibling outbound adapters, persistence, or app-bootstrap
|
||||
dependencies.
|
||||
- Provider keys, paths, locators, SDK types, Spring types, or control-record types leaking into
|
||||
application-core.
|
||||
|
||||
@@ -68,10 +68,9 @@ Adapters that serve one optional capability carry that capability's switch, unli
|
||||
module. The `fileserver` package is the current case: every `Jpa*` adapter there is annotated
|
||||
`@ConditionalOnProperty(prefix = "app.fileserver-platform", name = "enabled", havingValue = "true")`.
|
||||
|
||||
Without the gate a composition root that merely includes this module builds those beans, and each of
|
||||
them needs collaborators only the Fileserver configuration supplies — which is how `sample-portfolio`
|
||||
came to fail on a `FileStateMachine` it has no use for. A store for a capability nobody enabled
|
||||
should not exist.
|
||||
Without the gate a composition root that merely includes this module builds those beans, although
|
||||
their collaborators exist only when Fileserver configuration is selected. A store for a capability
|
||||
nobody enabled should not exist.
|
||||
|
||||
## Allowed
|
||||
|
||||
@@ -174,7 +173,7 @@ framework-neutral `shared.error.PersistenceFailureException` carrying one of the
|
||||
Audit metadata (`created_at` / `updated_at` / `created_by` / `updated_by`, D3) is an
|
||||
infrastructure concern that must never reach `domain-core` (D2). It lives only on the
|
||||
`audit/AuditableEntity` `@MappedSuperclass`; a domain aggregate persistence entity opts in
|
||||
by extending it (D6 — e.g. the sample `WorkLogEntity`). The domain aggregate itself carries
|
||||
by extending it (D6). The domain aggregate itself carries
|
||||
zero audit fields, enforced by ArchUnit `domain_is_pure` (no `jakarta.persistence..`) plus
|
||||
`domain_entities_do_not_carry_audit_fields` (no `createdAt`/`updatedAt`/`createdBy`/`updatedBy`
|
||||
fields under `..domain..`).
|
||||
|
||||
+1
-2
@@ -11,8 +11,7 @@ import org.junit.jupiter.api.Test;
|
||||
* (feature-persistence-auditing-contract D1/D3/D4/D5).
|
||||
*
|
||||
* <p>Exercised through a tiny concrete subclass because {@link AuditableEntity} is a
|
||||
* {@code @MappedSuperclass} (JPA cannot instantiate it standalone, and the production subclass
|
||||
* {@code WorkLogEntity} lives in the sample module).
|
||||
* {@code @MappedSuperclass} (JPA cannot instantiate it standalone).
|
||||
*/
|
||||
class AuditableEntityTest {
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ Data MongoDB infrastructure. Design rationale lives in [README.md](README.md).
|
||||
|
||||
## Forbidden
|
||||
|
||||
- Inbound adapters, sibling outbound adapters, `app-bootstrap`, `sample-portfolio` (ArchUnit
|
||||
- Inbound adapters, sibling outbound adapters, or `app-bootstrap` (ArchUnit
|
||||
`OUTBOUND_ADAPTERS_*` family rules).
|
||||
- Shipping placeholder `Example*` document, repository, record, or adapter types in production.
|
||||
- Adding idempotency/outbox/lock on Mongo without a separately approved contract.
|
||||
|
||||
Reference in New Issue
Block a user