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 스캔).