Files
llm-wiki/raw/interviews/sample-domain-contract-fixture-clean-architecture.md

59 lines
3.9 KiB
Markdown

---
title: interview-prep / sample-domain-contract-fixture-clean-architecture
source_type: interview-prep
status: raw
related_branches: [feature-sample-domain-contract-fixture]
related_projects: [ca-skeleton]
tags: [interview-prep, ca-skeleton, architecture, testing, clean-architecture]
created: 2026-06-10
status_label: collecting
---
# interview-prep: sample-domain-contract-fixture-clean-architecture
## Parent / 부모
- [[raw/branch-notes/feature-sample-domain-contract-fixture]] — sample domain을 production 기능이 아니라 skeleton contract fixture로 유지·검증한 작업에서 나온 질문.
## 질문 / Question
- 질문 원문: Clean Architecture 템플릿에서 샘플 도메인을 제거하지 않고 별도 모듈의 contract fixture로 유지한 이유는 무엇인가요?
- 출처: 예상 질문.
- 받은 날짜·맥락: N/A.
## 질문 의도 추론 / Why this question
- 핵심 평가 대상: 아키텍처 경계 보존, 테스트 fixture 설계, sample 코드와 production 코드의 결합도 분리.
- 함정 / 흔히 빠지는 답변 패턴: "예제가 있으면 편하다" 수준으로 답하고, 실제 계약 검증과 production 비의존성을 설명하지 못하는 것.
- 따라올 만한 후속 질문: sample 모듈이 production runtime에 섞이지 않도록 어떤 guardrail을 두었는가?
## 답변 재료 / Raw answer material
- 사실 1: 본 branch D1은 sample domain fixture가 skeleton 계약 검증 도구로 필요하다고 결정했다. 근거: [[raw/branch-notes/feature-sample-domain-contract-fixture]] §Decision Evidence Map D1.
- 사실 2: 2026-06-10 구현에서 `WorkLogStatus` 상태 머신과 `WorkLogOwner` minimum model을 sample-portfolio에 추가하고, domain/application/persistence/web tests로 검증했다. 근거: [[raw/branch-notes/feature-sample-domain-contract-fixture]] §진행 중 메모.
- 내가 직접 한 경험: delegated 항목(idempotency dedup/storage, sample-off/profile isolation, dual-mode CI)은 제외하고 branch-owned gap만 구현했다. 근거: [[raw/branch-notes/feature-sample-domain-contract-fixture]] §Coverage.
- 트레이드오프: sample을 production module에 섞으면 채택자는 빠르게 볼 수 있지만 경계 오염 위험이 커진다. 별도 `sample-portfolio` 모듈은 boilerplate가 늘지만 production 모듈이 sample에 의존하지 않는 guardrail을 유지한다.
- 한계 / "이건 안 해봤다": sample-off dual-mode CI와 prod profile physical exclusion은 이번 branch에서 구현하지 않았고 [[raw/branch-notes/feature-sample-removal-adoption-contract]] owner로 위임되어 있다.
## Sources / 근거
- [[raw/branch-notes/feature-sample-domain-contract-fixture]] — sample fixture 목적, scenario matrix, 2026-06-10 구현/검증 기록.
- [[raw/errors/gradle-wrapper-lock-read-only-sandbox-2026-06-10]] — 검증 중 발생한 sandbox tooling 이슈.
## 미해결 / Unknown
- 모르는 것 1: sample-off dual-mode CI가 실제 릴리즈 게이트로 언제 통합될지.
- 모르는 것 2: canonical `sample-ticket` 명명 drift를 `/ingest`에서 어떤 방향으로 정리할지.
- 확인 방법: `feature-sample-removal-adoption-contract`와 canonical `wiki/projects/ca-tmpl/sample-fixture-and-adoption` 갱신 상태 확인.
## 답변 경계 / Answer boundary
- 자신 있게 말할 수 있는 범위: ca-tmpl 로컬 코드에서 sample fixture의 상태 머신/owner minimum model과 테스트/아키텍처 검증이 통과했다.
- "이 부분은 공식 문서를 다시 보고 답변드리겠습니다" 라고 해야 하는 부분: sample-off physical packaging exclusion과 CI matrix 구현 상태.
- **절대 과장하지 말 것**: 이번 작업은 locally-verified이며 prod-verified 경험이 아니다.
## Related / 관련
- 관련 블로그 글감: [[raw/blog-topics/sample-domain-contract-fixture-clean-architecture-2026-06-10]]
- 답변 derive 후 위치: 생성 전.