chore: remove sample portfolio module

This commit is contained in:
DongHyeonka
2026-08-13 21:47:15 +09:00
parent e552e317d6
commit 697fc740e6
321 changed files with 190 additions and 18961 deletions
+1 -1
View File
@@ -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
+1 -2
View File
@@ -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
+1 -1
View File
@@ -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..`).
@@ -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.