버그 #801
완료됨#739 쇼케이스 진열안 PDF 구조화 → config별 정답키 자동 생성
100%
설명
#739 PoC 후속. 쇼케이스 진열안 PDF(월간)를 config별 정답키(셀→기대 카테고리)로 구조화. 쇼케이스 PDF가 정답의 핵심 소스.
- config = 구수(2~6) × 취급점(일반/마이원와츄원) × 타입(도어형/스텔라형).
- 셀별 expectedUse(케이크/디저트·프리팩) + 기대 카테고리(7그룹).
- 카테고리 소스 2단:
(a) 라벨 있는 페이지(스텔라·3구 이상): 칸별 그룹 라벨 직접 판독(비전).
(b) 무라벨(예: 2구 도어형): 4대 원칙 파생(골든존 34단=와츄원/쁘띠, 캐릭터=12단, 5단 예외). - 산출물은 DDB 정답키 스키마로 저장(#800 업로드 갱신과 연동).
- 삭제 후 재등록 원칙(혼란 방지).
시진 노이(가) 2일 전에 변경
[마감] 쇼케이스 진열안 → config별 정답키 자동 생성 구현·배포 완료.
핵심: 전용 인덱스 br-merchandising-01(V2 업로드) → 새벽 배치 product.restructure_showcase_standard가 페이지별 비전(ai_showcase_cell_extraction)으로 셀 정답키를 ProductCatalogStateTable(pk=SHOWCASE_STANDARD)에 저장. 안전 저장순서(빈소스/전량실패 가드·제자리 upsert·사라진 config만 삭제)·병렬화·Float→Decimal·중복키 병합 반영. 제품 전처리 상태 화면 3번째 row+상세로 확인. 상세 프로세스는 #802 노트 참조.
main 반영 커밋(최종): https://ap-northeast-2.console.aws.amazon.com/codesuite/codecommit/repositories/br_faq_chat/commit/c774a6082090bbbab972722cd6cdd59a0275050e?region=ap-northeast-2
(#801 전체 14커밋: a2fb9c4~c774a60, origin/main 반영 완료)
남은 후속(별도): sk 제목→config 기준 개선(duplicateConfigs 확인 후), 정답키 수동 보정 UI, #803 매장사진 점검.
시진 노이(가) 2일 전에 변경
[#801 후속 개선 — 7월 첫 운영 리뷰 반영]
7월 머천다이징 쇼케이스 가이드로 첫 정답키 구조화를 돌린 뒤, 원본 PPTX·라인업 엑셀·DDB·코드를 교차 분석해 품질 문제 3건을 개선함.
■ 리뷰로 확인한 문제
- 7월 라인업(CAKE_PRODUCT_MASTER 30종)에 없는 옛 제품명('토이스토리5 프렌즈 와츄원' 등 6종/23셀) 혼입
- cake 셀 예시제품 28%(49/172)가 빈 값
- 축약 표기('브이브이이브이')가 마스터 접미사형('브이브이 이브이 케이크')과 매칭 실패
- 근본 원인: 비전 프롬프트가 ai-backend cakeProductMaster.mjs의 6월 하드코딩 34종을 주입받아 스냅을 강제
■ 개선 1 (커밋 b988d72)
- 비전 힌트 사전을 DDB CAKE_PRODUCT_MASTER로 동적 주입(productDictionary payload), 하드코딩은 fallback화. "목록 밖 이름 생성 금지, 확신 없으면 group만" 프롬프트 완화
- 부분 실패 시 커서 시그니처 무효화 → 다음 새벽 자동 재시도(skip 함정 제거)
- '케이크' 접미사 양방향 2차 매칭, 매칭 실패 이름은 unmatched=true로 보존
- 구수 없는 비진열 페이지(표지·원칙·취급품목) 정답키 제외 + 기존 잡음 고아 정리
- web-admin 상세에 '라인업 외' 뱃지 + 요약 칩
- 커밋 URL: https://ap-northeast-2.console.aws.amazon.com/codesuite/codecommit/repositories/br_faq_chat/commit/b988d723fedf75965b186d608304a0d2c92bbcaa?region=ap-northeast-2
■ 개선 2 (커밋 6d375ac)
- 진열 규칙 확정 전까지 2구만 구조화(SHOWCASE_TARGET_DOORS 상수, 3구+는 보류·정답키 보존). 시그니처에 범위를 포함해 상수를 None으로 바꿔 배포하면 다음 새벽 자동 전체 재개
- '2구 표준가이드'는 A/B 두 격자가 한 이미지라 좌표 중복(1구 5단 카드 2개) 발생 → config.variant("A"/"B")로 비전 2회, '2구 표준가이드 (A)/(B)' 분리 저장. (door,tier) 좌표 중복 가드 추가
- 커밋 URL: https://ap-northeast-2.console.aws.amazon.com/codesuite/codecommit/repositories/br_faq_chat/commit/6d375acf7202600dfc9e7f4c487ed1053796ef8d?region=ap-northeast-2
■ 검증
crawler-batch 117/117, ai-backend 314/314, admin-backend 193/193, web-admin 테스트/lint/build 통과.
■ 남은 후속(별도)
- 배포(AiBackend·crawler-batch·web-admin) 후 force 재실행으로 7월 정답키 재생성 필요
- 규칙 확정 시 3구+ 재개, confidence 임계, 제품 그룹 정확도는 #802(마스터 category)와 연동