ADR-001 도메인 5계층 분류 (코어/지원/서브시스템/공유 커널/조회·유틸)
- 상태: 채택
- 날짜: 2026-07-03
- 근거: PRD FR-1, FR-3, FR-6 / TDD “컨텍스트 맵 — 5개 분류 확정”
맥락
12개 도메인 + common + dashboard·image(domain 레이어 없음)가 계층 구분 없이 평면 나열돼, 코어 거래 도메인과 운영 지원 서브시스템이 같은 레벨로 취급된다. PRD는 3계층(코어/지원/서브시스템) + common 공유 커널 별도 표기 + dashboard·image 조회·유틸 명시 분류를 요구한다.
결정
5개 분류로 확정한다.
| 분류 | 도메인 | 근거 |
|---|---|---|
| 코어(거래) | booking, facility, goods, payment, ticketing, user, post, message | Aggregate Root + 쓰기 소유, 고객 대상 거래·핵심 자산 |
| 지원(Supporting) | notification, operator, weather, alerting | 코어 보조. weather는 Entity 없는 generic subdomain. alerting=⑥ 신규 인프라 장애 알림(신호·쿨다운·LLM분석·이력 소유, 발송은 notification DISCORD 채널 이벤트 재사용) |
| 서브시스템(Subsystem) | mcp | AI 에이전트 운영. 코어와 라이프사이클·변경 주기 독립 |
| 공유 커널(Shared Kernel) | common | 최소 공통 계약. 3계층 분류 대상 아님 |
| 조회·유틸(Read/Utility) | dashboard, image | Aggregate Root·쓰기 없음. dashboard=코어 조회 조합, image=파일 유틸(로직은 common/storage) |
근거
operator·mcp는 코어 거래와 다른 변경 주기·독립 데이터 소유 → 지원/서브시스템으로 격리(무조건 분리 근거 충족).weather는 Entity 0개, 외부 API 조회만 → 자체 소유 데이터 없는 generic subdomain으로 지원 분류.dashboard는application만 존재하며 코어 5개 도메인 서비스를 읽기 조합 → Aggregate Root 없는 Conformist read model.image는 도메인 로직이common/storage에 있고 application/presentation만 얇게 존재 → 조회·유틸.
대안 (미채택)
- 모든 도메인을 코어로 평면 유지: 지원·서브시스템 격리 불가, PRD FR-3 위반.
- dashboard/image를 신규 코어 도메인으로 승격: Aggregate Root·쓰기 소유가 없어 도메인 정의 미충족. 오버엔지니어링.
영향
- 후속 ②③⑧ 과제가 이 분류표를 인용해 신규 도메인 배치를 판단한다.
- 코드 재배치는 유발하지 않는다(문서 분류만). image의 common/storage → domain/image 승격은 M3 후속 판단.