ADR-006 Partner를 신규 지원 도메인으로 분리
- 상태: 채택
- 날짜: 2026-07-03
- 근거: PRD FR-1 / TDD “도메인 바운디드 컨텍스트 경계 판단” / 선행 [ADR-001 도메인 5계층 분류](../../도메인 경계 재설계/ADR/ADR-001 도메인 5계층 분류.md)
맥락
B2B 파트너 연동은 Partner 신원·API Key·감사 로그를 새로 도입한다. 이를 기존 도메인(user·mcp)에 합류시킬지, 신규 도메인으로 분리할지 결정이 필요하다. “새 기능마다 새 도메인을 만들지 않는다”는 원칙에 따라 합류 가능성을 먼저 검토했다.
결정
신규 partner 도메인을 지원(Supporting) 분류로 분리한다.
근거
| 후보 | 판단 | 사유 |
|---|---|---|
user에 합류 | 미채택 | User는 사람 신원·인증 기반 코어. Partner는 외부 조직 신원 + 독립 API Key 라이프사이클 → 변경 주기·데이터 소유가 다름. 코어 오염 |
mcp에 합류 | 미채택 | mcp는 AI 에이전트 토큰·이상탐지 서브시스템. 의미·소비자·라이프사이클 무관. 코드/테이블 유사성은 우연 |
신규 partner (지원) | 채택 | ADR-001 “무조건 분리” 3요건 충족 — ① 독립 라이프사이클(발급·재발급·폐기) ② 독립 데이터 소유(Partner·PartnerApiKey·PartnerAuditLog) ③ 코어와 다른 변경 주기 |
- 지원 도메인으로 분류 — 코어(goods/ticketing)를 동기 호출하지 않고 인증 계층에서만 접점(ADR-002 rule #4 준수). 도메인 간 참조는
linkedUserId: Long만.
대안 (미채택)
- user/mcp 합류: 위 표 참조 — 코어·서브시스템 오염.
- partner를 코어로 승격: Partner는 거래 자산이 아니라 통합 신원 → 코어 아님.
영향
- 컨텍스트 맵에
partner(지원) 추가, 관계: Partner(Customer/Conformist) → goods/ticketing(Supplier, 인증 pass-through), user(연동 계정 ID 참조). - FR-7 ArchUnit 규칙 R1은
domain.partner가 타 도메인을 import하지 않는지 자동 감시(패키지 prefix 스캔).