4.6 KiB
4.6 KiB
title, source_type, status, related_branches, related_projects, tags, created, status_label, target_audience, inspiration_url, archive_url
| title | source_type | status | related_branches | related_projects | tags | created | status_label | target_audience | inspiration_url | archive_url | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| blog-topic / sample-domain-contract-fixture-clean-architecture | blog-topic | raw |
|
|
|
2026-06-10 | ready-for-canonical | backend-engineer |
blog-topic: sample-domain-contract-fixture-clean-architecture
Parent / 부모
- raw/branch-notes/feature-sample-domain-contract-fixture — sample-portfolio fixture를 문서 계약대로 구현하면서 나온 글감.
트리거 / Trigger
- 트리거 유형:
branch-work - 트리거 날짜: 2026-06-10
- 트리거 연결 노트: raw/branch-notes/feature-sample-domain-contract-fixture
글감 / Topic seed
- 한 문장 요지: Clean Architecture 템플릿의 샘플 도메인은 데모 기능이 아니라 validation, mapper, transaction, response, conflict 계약을 실제 흐름으로 검증하는 fixture가 될 수 있다.
- 예상 제목 후보:
- Clean Architecture 템플릿에 sample domain fixture를 남기는 이유
- 샘플 기능이 아니라 계약 검증 도구로서의 WorkLog 도메인
핵심 주장 후보 / Claim candidates
- 사실 후보:
- ca-tmpl은
sample-portfolio를 production module이 의존하지 않는 fixture/reference consumer로 둔다 — 근거 후보: raw/branch-notes/feature-sample-domain-contract-fixture D2/D5. - 2026-06-10 구현은
WorkLogStatus상태 머신과WorkLogOwnerminimum model을 domain→application→persistence→web에 연결했다 — 근거 후보: raw/branch-notes/feature-sample-domain-contract-fixture §진행 중 메모.
- ca-tmpl은
- 경험 후보:
- focused RED에서 missing enum/value object/accessor/command status patch 컴파일 실패를 확인하고, GREEN 후
:sample-portfolio:test, architecture guard, fulltest,check를 통과시켰다 — 근거 후보: raw/branch-notes/feature-sample-domain-contract-fixture §진행 중 메모.
- focused RED에서 missing enum/value object/accessor/command status patch 컴파일 실패를 확인하고, GREEN 후
- 의견/해석 후보:
- 템플릿의 sample은 "보여주기용 CRUD"보다 "경계 계약을 깨뜨리면 테스트가 실패하는 살아있는 fixture"일 때 유지 비용을 정당화하기 쉽다.
Outline seed
- 문제: sample을 지우면 contract 흐름 검증이 빈다 — validation/mapper/error/transaction이 unit test 조각으로만 남는 위험.
- 설계: sample-portfolio를 production과 분리된 fixture consumer로 둔다 — 모듈 경계와 ArchUnit guard가 핵심.
- 구현: WorkLog minimum model을 계층별로 흘린다 — status state machine, owner, optimistic version, response/persistence round-trip.
- 검증: RED-GREEN과 architecture/full Gradle check — contract fixture는 테스트 증거로 말한다.
Canonical 전환 후보 / Canonical extraction candidates
wiki/projects/ca-tmpl/sample-domain-contract-fixture.md후보:- sample-portfolio fixture의 실제 구현 파일과 검증 명령.
wiki/concepts/sample-domain-contract-fixture.md후보:- sample domain을 contract fixture로 설계하는 일반 패턴.
- 필요한 추가 검증:
- canonical
sample-fixture-and-adoption명명 drift 정리. - sample-off/profile isolation owner branch 결과 확인.
- canonical
Sources / 근거 후보
- raw/branch-notes/feature-sample-domain-contract-fixture — 구현 결정, scenario matrix, 2026-06-10 검증 기록.
- raw/errors/gradle-wrapper-lock-read-only-sandbox-2026-06-10 — 검증 중 sandbox tooling 이슈.
- raw/interviews/sample-domain-contract-fixture-clean-architecture — 같은 작업에서 나온 면접 질문 원석.
미해결 / Unknown
- 아직 확인해야 할 사실: sample-off CI/profile isolation 구현 branch의 최종 상태.
- 과장하면 안 되는 부분: 이번 글감은 locally-verified 구현 원석이며 canonical 정제 전이다.
- 블로그로 쓰기 전에 필요한 canonical 정제: branch-note의 implemented claims를
wiki/projects/ca-tmpl/문서로 승격.
Decision / 처리 결정
- 액션:
promote-to-canonical - 이유:
wiki/projects/ca-tmpl/sample-fixture-and-adoption.md에 sample domain contract fixture 글감으로 반영했다. - 다음 단계: target canonical이 아직
draft이므로blogify전 review/verify가 필요하다. sample domain을 production feature처럼 쓰지 않는다.
Related / 관련
- 관련 branch: raw/branch-notes/feature-sample-domain-contract-fixture
- 관련 error: raw/errors/gradle-wrapper-lock-read-only-sandbox-2026-06-10
- 관련 interview prep: raw/interviews/sample-domain-contract-fixture-clean-architecture
- derived blog: 생성 전.