릴레이 인계 — 미코 260913 케이스: 생성기 샘플 2페이지 + 쿠팡 1000×1000 배너 (26.9.15(화) 23:0x KST · [코디])
전역 규칙 =
C:\dev\CLAUDE.md· 프로젝트 규칙 =C:\dev\seedchain\projects\sueun-dev\rules.md(🔴1순위 임시 규칙 · 📌상시 작업 규칙 5개 · 함정) · 현황 = 같은 폴더handoff.mdNOW 맨 위. 생성기 =C:\dev\dev\haedali-detail-generator\· 서버 8820 이미 떠 있음(http://127.0.0.1:8820/api/health) · ⛔8799 ·start.cmd· git 커밋 금지.
▶ 첫 일감 (이 순서로 바로 시작)
detail-page-designer상담 1회(훅detail-page-agent-required— 없으면 생성기 폴더 쓰기 차단). 넘길 것 = 이 문서 경로 + 아래 「확정 스펙」 + 할 일 3·4.- 2차 수집 결과(확정 · 삭제 명령 0건 transcript 확인) — GO-159/160/161 = 연출 0장 · 누끼원본 각 1장(
C:\dev\dev\haedali-detail-generator\data\catalog-assets\miko-260913\web\GO-16x\cutout_src\01.*) · GO-164 = 0장(scene · cutout 모두 · 사유 =web\GO-164\scene.json). 🔑GO-164 에이전트 추론: 단가 19/21/23/25위안 = 칸막이 0/1/2/3개(+2위안 등차) → GO-164 = 선반 2장 · 3칸 추정(엑셀 공용사진은 1장 · 2칸 = GO-163 모습 → 사진과 제품 불일치, 페이지 · 배너에 그 사진 쓰면 표시광고 P1) · 27×25×36 의 0/2/3단은 해외 재판매 채널에 별도 컷이 거의 없다. → GO-164 누끼는 엑셀 공용사진 누끼(선반 1장) 밖에 없으니 「선반 구성 예시 · 실제 선반 수는 옵션 참고」 고지 없이는 쓰지 말고 페페 질문 ①에 GO-164 를 명시. - 페페에게 텔레그램 질문 1건(
python C:/dev/tools/notify.py ask "…") — 답 기다리지 말고 3·4 진행: ①연출샷 소스(동일 금형 연출샷이 해외 마켓에 거의 없음): A 1688/타오바오 로그인 프로필 제공 · B 미코(공급사)에 원본 상세이미지 요청 · C 우리 누끼 + AI 연출 생성(고지 문구) — 추천 B+C ②쿠팡 대표이미지엔 배지 · 글자 금지 권고(대표 = 순수 누끼, 커피증정 · 특징버튼 = 추가이미지) 동의 여부 ③배너 범위 = 샘플 4제품(GO-159·160·161·164) 먼저 → 승인 뒤 19개 전체(추천) vs 바로 19개 - 쿠팡 배너 도구
C:\dev\dev\haedali-detail-generator\tools\miko-260913\make_banners.py신설 → 산출C:\dev\dev\haedali-detail-generator\outputs\coupang-banners\<CODE>\{01-main,02-features,03-scene,04-coffee}.jpg(1000×1000 JPG) - 누끼 = 기존tools\miko-260913\make_cutout.py의cutout()재사용(시험본outputs\coupang-banners\cutout\GO-*.jpg·_sheet.jpg). 원본 우선순위 = 웹cutout_src> 엑셀 사진(GO-159 엑셀은 260px 라 흐리고 치수선 남음). designer 처방: 중앙 정렬 · 바닥 옅은 접지 그림자 · 잡점 제거 · 에지 하이라이트 은은히. - 특징 버튼 · 커피 배지 = 아래 스펙. 폰트 =C:\dev\dev\haedali-detail-generator\assets\fonts\(Black Han Sans · Do Hyeon · Jua · Pretendard Black/ExtraBold · 전부 SIL OFL · 라이선스 파일 동봉). - 커피 컵 이미지 = 새로 생성(나노바나나C:\dev\tools\imagegen\— 한 프로세스 안에서cdp.ensure(9334)→generate) 「투명 플라스틱컵 아이스 아메리카노 · 얼음 · 평평한 뚜껑 · 로고 없음 · 흰 배경」 → rembg 누끼 → 원 안에 합성. 실패하면 PIL 벡터 일러스트. - 빈 공간 배치 = 누끼 알파 bbox 기준 최소 간격 · 버튼끼리 겹침 금지 — 배치 좌표 계산은 코드로(assert 자체검사 1개). - 생성기 샘플 페이지 2개(카드 양식은 이미 추가됨 — 아래 「이번 세션에 한 것」)
- 작업본 키 =
case-260913-group-1(product_codeGO-159,GO-160,GO-161, templateKindmulti) ·case-260913-go-164(single) — DBclassified_products.detail_page_key와 같은 값. - 방법 = 페이지 매니페스트C:\dev\dev\haedali-detail-generator\data\manifests\case-pages\{group-1,single-GO-164}.json(형식 =data\manifests\transparent-showcase-page.json의 cards) → 시드 스크립트가 8820 API 호출:POST /api/detail-pages(생성) →POST /api/detail-pages/<key>/assets({name,mimeType,dataUrl}) → 카드 image/src 를 자산 url 로 →PUT /api/detail-pages/<key>({baseVersion,cards}) →POST /api/detail-pages/<key>/render({baseVersion}) → JPGoutputs\detail-pages\<key>\<key>-v<N>.jpg. - 모든 section/info 카드에textScale:"case". 3종 비교 = sectionlayout:"compare-row". 규격 비교표 = infocompareCols:"옵션 1, 옵션 2, 옵션 3"+ rows[항목, 값1, 값2, 값3]. - 사진 = 누끼 + 수집 연출컷(있으면). 연출컷이 없으면 그 카드는 빼고(빈 회색 자리 금지) 페페 질문 ① 결과로 v2. - 검수 = detail-page-designer 2차(렌더 JPG · 배너 경로 넘김) + cody-vision
-m qa(오탈자 · 치수 숫자) · 390 미리보기 가로넘침 0. - 마감 = devplan
C:\dev\devplan\sueun-case-cards.html(빌더C:\dev\devplan\_mk_sueun_case_cards.py)에 「3. 생성기 샘플 · 쿠팡 배너」 절 추가 → 재빌드 · 허브 확인 ·C:\dev\devplan\sueun-dev.html갱신 이력 ·python C:\dev\_work\sueun-dev\snap.py diff C:\dev\_work\sueun-dev\baseline-2026-09-15.tsv· handoff NOW · notify done.
확정 스펙 (detail-page-designer 26.9.15 상담 2회 요약)
쿠팡 배너 세트(제품당 4장 · 1000×1000)
| # | 내용 | 역할 |
|---|---|---|
| 01 | 누끼 정면 · 글자 0 | 대표이미지 |
| 02 | 누끼 + 특징 버튼 1~3 | 추가1 |
| 03 | 연출컷 + 특징 버튼(연출컷 없으면 보류) | 추가2 |
| 04 | 가장 잘 나온 컷 + 커피증정 배지(+버튼 병행 가능) | 추가3 |
- 커피증정 배지: 지름 280~320px · 우상단 모서리에서 40~60px · 검은 테두리 10~14px · 원 본체 노랑 #F6CF44 + 아이스커피컵 · 아래 가로띠 높이 = 지름의 24% 내외, 띠 검정(또는 진갈 #3B2D20) · 글자 「커피 증정」 노랑 #F6CF44 Black Han Sans, 띠 높이의 58~62%. (페페 참조 이미지 = 노란 원 · 굵은 검은 테두리 · 원 안 위쪽에 얼음 든 아이스커피 투명컵 사진 · 원 아래를 검은 띠가 가로지르고 그 안에 노란 굵은 고딕 「커피 증정」) |
||
- 특징 원형 버튼: 지름 160~200px · 최대 3개(여유 있으면 4) · 줄당 2~4자 최대 2줄 · Black Han Sans/Jua 32~40px · 색 A = 노랑 바탕 + 진갈 글자 + 흰 테두리 / B = 진갈 바탕 + 크림 #FEFAEF 글자 + 노랑 테두리 · 테두리 8~10px + 회전 −5~8° + 그림자(검정 25% blur10 y5) · 제품 bbox 와 30~50px · 버튼 간 20px · 캔버스 가장자리 40px · 연출컷 위에선 흰 테두리 + 그림자로 분리. |
||
| - 문구 후보(사실 확인분만 · 자석/방수 등 미확인 기능 금지): GO-159 줄무늬 프레임 / 앞문 개폐식 · GO-160 투명 아크릴(⚠재질 미확인 — 「투명 케이스」로) / D형 손잡이 / 세로형 수납 · GO-161 가로형 수납 / 손잡이 홈 / 투명 · GO-164 격자 선반 / 투명 / 세로형 수납. ⚠엑셀 재질 = 「플라스틱」뿐 → 「아크릴」 표기 금지. | ||
| - 쿠팡 목록 썸네일 표시폭 · Wing 대표이미지 원문 규정 = 미실측/미확인(designer 선제 제안: 쿠팡 상품 URL 직행으로 썸네일 폭 실측). |
상세페이지(860 캔버스)
- group-1 (10카드): ①hero(3종 · 「좋아하는 것만 모아 / 먼지 없이, 보이게」) ②compare-row 3종(옵션1 블랙 스트라이프 가로형 36×22×27 · 옵션2 투명 세로형 27×22×36 · 옵션3 투명 가로형 36×22×27 — GO-161 깊이는 22cm, 22.5 는 각주) ③grid 공감(텍스트만) ④⑤⑥ story 옵션별 상세(각 1장) ⑦grid 공통구조(앞문 · 선반, 텍스트) ⑧grid 고르는 법 ⑨info 다열 규격표 7행×3열 ⑩상품정보 · 주의. 첫 3,000px = hero + 3종 비교. 예상 총 높이 9,000~11,000px.
- GO-164 (6카드 최소형): ①hero(「세워서, 나눠 진열」 · 27×25×36) ②grid 핵심 3(텍스트) ③story 구조(⚠「2단 칸막이」 = 선반 수 단정 금지) ④info 규격 ⑤상품정보 · 주의 ⑥closing. 사진이 엑셀 공용컷이면 「구조 참고용 이미지 · 실제와 다를 수 있음」 고지를 캡션 크기(36px) 로.
- 표시광고: 소싱 이미지는 우리 촬영이 아니다 → 「실제 색상 · 구성은 촬영본과 다를 수 있습니다」 36px 명시.
- 검수 체크리스트 = 860 정확 · 세로 px · 20MB 이하 · 글자 36px+ · 코드/치수 오탈자 · 390 안 깨짐 · 고지 렌더 · 폴드 비율 보고 · accent 단독 36px 미만 금지.
이번 세션에 한 것 (검증 끝)
- ✅DB 등록 — CS팀 엑셀 19개: 매니페스트 빌더
tools\miko-260913\build_cs_manifest.py→data\manifests\case-classification-260913-cs.json(원본 사본data\source-copy\케이스_분류작업(수정)_CS팀.xlsxsha2565a293b3e…d857fb· 보정 2건 GO-161 품명 · GO-170 단가 15.5(Sheet1) · O/P열 3행 밀림 추정값csMappingGuess· 원문csRaw) →import-case-classification.js(개수 매니페스트화 ·--report· 원문 품명 대조 ·detail_page_key기록 · audit 에 omitted/corrections) → run 3case-cs-260913-v1· 백업data\backups\haedali-before-case-classification-2026-09-15T13-24-10-418Z.sqlite3· case:check 통과(정렬 기준 product_code 로 1줄 변경). 마이그레이션 11 =classified_products.detail_page_key(16페이지 키). GO-156~158 은 활성 유지(CS 파일에 없음). - ✅카드 양식 3종(index.html) — 섹션·표 공통
textScale:"case"(36~60px · 390 미리보기 대응) · sectioncompare-row· infocompareCols(N열) + 편집 UI(글자 크기 체계 세그 · 레이아웃 목록 · 비교 열 입력, blur 시 표 다시 그림). web-designer 처방대로sel/seg/fld유지. 회귀 = 쇼케이스 #preview 픽셀 동일(HEAD 대조) · LUG DOM 동일(카드 id 랜덤 외). 조수은 LF 복원. - ✅
tools\miko-260913\page_harvest.py(헤드풀 판매페이지 이미지 긁기) ·make_cutout.py(투명 케이스 흰배경 누끼) · 폰트 6파일. - ⚠2차 수집(연출 · 누끼원본, 에이전트 3): GO-159 연출 0 · 누끼 1 / GO-160 연출 0 · 누끼 1(wildberries 1298440565) / GO-161 연출 0 · 누끼 1(ozon.kz 2622419572) / GO-164 = 확인 필요(1번 일감).
- 부산물: 드라이런이 만든 백업
data\backups\haedali-before-case-classification-2026-09-15T13-23-51-944Z.sqlite3(실 DB 와 같은 내용 · 이관 대상 아님).
손대면 안 되는 것
C:\dev_quarantine\열기 ·C:\dev\dev\.git커밋 · 8799 ·register-autostart.ps1· NAS(Z:) 쓰기 · 한국 사이트 검색 · 1688/타오바오 로그인 시도 · 기존 CDP 포트(9334 외 이미지 생성 용도 제외).- 삭제 전부 §2-5 승인(자기 임시파일 포함).
보고 마커
- 끝나면 답변 끝
시드:·[컨텍스트] N%줄 · notify done · devplan 허브 확인.