# task-2428 회장 시각 confirm 패키지

**작성**: 디자인팀 아마테라스 (팀장)
**작성일**: 2026-05-03
**대상**: 제이회장님 직접 시각 평가

---

## 회장 평가 요청 사항 (task 본문 명시)

> 25장 중 임의 5장 + supabase H4 + financial_h4 = **총 7장** 회장 직접 시각 confirm

---

## 7장 정량 라벨링 (재현 시드 명시)

본 패키지의 모든 PNG는 결정론적으로 생성되었습니다 (BASE_SEED=42 + 패턴별 1000 offset + 변형별 100 offset, retry attempt 1 = +1000).

### 패턴별 random 5장 (seeded sampling: numpy.random.default_rng(seed=42).choice(25, 5))

선정 규칙: `numpy.random.default_rng(42).choice(25, 5, replace=False)` → 인덱스 [0, 7, 11, 17, 23] = h1_v1, h2_v3, h3_v2, h4_v3, h5_v4 (h1~h5 패턴 분산 보장)

#### 1. h1_v1 (h1_photo_card)
- **재현 시드**: 42 + 0*1000 + 0*100 + 1000 = **1042**
- **디자인 토큰**: InsuRo navy primary `#0f1729`, 헤드라인 "보험료 과다 청구"
- **정량 결과**: std_mean=29.92, unique_colors=1439, spatial_diff=1.71, min_ΔE=3.86, area_ratio=83.7%
- **PNG**: `memory/reports/task-2424-evidence-25-stratified-v4/h1_v1.png`

#### 2. h2_v3 (h2_illustration_card)
- **재현 시드**: 42 + 1*1000 + 2*100 + 1000 = **2242**
- **디자인 토큰**: InsuRo navy primary, 헤드라인 "갱신형 vs 비갱신형"
- **정량 결과**: std_mean=55.06, unique_colors=947, spatial_diff=1.64, min_ΔE=7.74, area_ratio=74.2%
- **참고**: unique_colors 947 — 1000 임계 borderline (procedural shape 오버레이로 인한 한계, std_mean·brand·hybrid는 모두 PASS)
- **PNG**: `memory/reports/task-2424-evidence-25-stratified-v4/h2_v3.png`

#### 3. h3_v2 (h3_gpt_style_card)
- **재현 시드**: 42 + 2*1000 + 1*100 + 1000 = **3142**
- **디자인 토큰**: InsuRo navy primary, 헤드라인 "실손보험 비교의 정석"
- **정량 결과**: std_mean=44.03, unique_colors=1371, spatial_diff=1.64, min_ΔE=9.26, area_ratio=24.9%
- **PNG**: `memory/reports/task-2424-evidence-25-stratified-v4/h3_v2.png`

#### 4. h4_v3 (h4_gradient_card)
- **재현 시드**: 42 + 3*1000 + 2*100 + 1000 = **4242**
- **디자인 토큰**: InsuRo navy primary, 헤드라인 "갱신형 vs 비갱신형"
- **정량 결과**: std_mean=26.92, unique_colors=1416, spatial_diff=1.89, min_ΔE=17.40, area_ratio=41.2%
- **PNG**: `memory/reports/task-2424-evidence-25-stratified-v4/h4_v3.png`

#### 5. h5_v4 (h5_user_photo_card)
- **재현 시드**: 42 + 4*1000 + 3*100 + 1000 = **5342**
- **디자인 토큰**: InsuRo navy primary, 헤드라인 "운전자보험 1만원 룰"
- **정량 결과**: std_mean=98.31, unique_colors=1060, spatial_diff=3.57, min_ΔE=14.93, area_ratio=31.8%
- **PNG**: `memory/reports/task-2424-evidence-25-stratified-v4/h5_v4.png`

### Extras 2장 (132 design-md 적용)

#### 6. supabase_h4 (h4_gradient_card + Supabase 디자인 시스템)
- **재현 시드**: 42 + 9000 + 1000 = **10042**
- **디자인 토큰**: Supabase `#3ecf8e` (Supabase green), 헤드라인 "PostgreSQL 수준의 신뢰성"
- **정량 결과**: std_mean=40.72, unique_colors=1409, spatial_diff=1.79, **min_ΔE=0.54**, area_ratio=16.2%
- **132 design-md 적용 검증**: ΔE=0.54 → Supabase 브랜드 색 정확 적용 (CIE76 기준 동일색 인지 한계 ≪ 30)
- **PNG**: `memory/reports/task-2424-evidence-25-stratified-v4/extras/supabase_h4.png`

#### 7. financial_h4 (h4_gradient_card + Brex 핀테크 디자인)
- **재현 시드**: 42 + 9100 + 1000 = **10142**
- **디자인 토큰**: Brex `#FF6E2B` (Brex orange), 헤드라인 "법인카드 한도 5배 상향"
- **정량 결과**: std_mean=39.88, unique_colors=1412, spatial_diff=1.36, **min_ΔE=0.00**, area_ratio=16.2%
- **132 design-md 적용 검증**: ΔE=0.00 → Brex 브랜드 색 완전 일치
- **PNG**: `memory/reports/task-2424-evidence-25-stratified-v4/extras/financial_h4.png`

---

## 회장 직접 시각 평가 체크리스트

각 PNG 직접 열람 후 확인:

### 1. 한글 깨짐 (task-2389 회귀 차단) — 7장
- [ ] h1_v1: "보험료 과다 청구" 한글 onClick 정상 표시?
- [ ] h2_v3: "갱신형 vs 비갱신형" 한글 무손실?
- [ ] h3_v2: "실손보험 비교의 정석" 한글 무손실?
- [ ] h4_v3: "갱신형 vs 비갱신형" 한글 무손실?
- [ ] h5_v4: "운전자보험 1만원 룰" 한글 무손실?
- [ ] supabase_h4: "PostgreSQL 수준의 신뢰성" 한글 무손실?
- [ ] financial_h4: "법인카드 한도 5배 상향" 한글 무손실?

폰트: Pretendard-Bold/NotoSansCJKKR-Bold 사용 (시스템 fallback 차단됨).

### 2. 단조 그라데이션 (task-2401 회귀 차단)
- [ ] 7장 모두 std_mean ≥ 25 (코드 검증 완료) → 단조 corruption 0건
- 단, h4_v3는 gradient 본질로 std=26.92 (임계 25 대비 borderline 통과). 시각상 정상 그라데이션 확인 필요.

### 3. 박스 1종 패턴 (task-2401 회귀 차단)
- [ ] 7장이 5종 hybrid 패턴으로 명확히 분화 (h1 사진 모자이크 / h2 일러스트 도형 / h3 추상 곡선 / h4 미니멀 그라데이션 / h5 사진 + 화이트 프레임)?

### 4. 132 design-md 브랜드 적용
- [ ] supabase_h4: Supabase emerald green (`#3ecf8e`) 시각 정합? 다크 톤 + 그린 액센트?
- [ ] financial_h4: Brex orange (`#FF6E2B`) 시각 정합? 따뜻한 핀테크 톤?

### 5. 5 hybrid 패턴 시각 분화
- [ ] 5장 비교 시 각 패턴 (사진/일러스트/GPT추상/그라데이션/사진+프레임) 구별 가능?

---

## 회장 confirm 후 작업

회장님께서 7장 모두 "퀄리티 OK" 시각 confirm 시:
- `bash scripts/finish-task.sh task-2428` 호출
- `memory/events/task-2428.done` 발급

재작업 필요 시:
- 본 task 보고서 + meta JSON 검토
- 새 task 발급 (정정 cron 금지 — 본 task 보존)

---

## 환경 BLOCKED 알림 (task-2421 정책 유지)

본 실행 환경에 `tesseract-ocr` + `kor.traineddata` 미설치로 인해 OCR/font_size 검증은 BLOCKED 처리됨. 이는 silent pass 영구 차단 패턴(task-2421 G2 로키 적대적 평가 LOW #4-OCR 보완)에 따른 명시적 운영팀 알림이다.

**해소 방법**: 운영자가 `sudo apt install tesseract-ocr tesseract-ocr-kor` 실행 → 재 evaluate_image 호출 시 27/27 완전 PASS 예상.

본 패키지의 회장 시각 평가는 BLOCKED 환경에서도 가능 — 한글 깨짐, 단조, 박스 1종, 패턴 분화는 모두 회장 직접 시각 확인 가능.

---

## 참조 자료

- evidence 디렉토리: `memory/reports/task-2424-evidence-25-stratified-v4/`
- 통계 SUMMARY: `memory/reports/task-2424-evidence-25-stratified-v4/SUMMARY.md`
- 회귀 테스트: `tests/skills/satori/test_real_render_25.py` (32 tests PASS)
- 코드 변경: `skills/satori-cardnews/scripts/retry_loop.py` + `skills/hybrid-image/patterns/h{1..5}_*.py` + `_pil_render.py`
- 이전 task: `memory/reports/task-2421.md` (Phase 0+1 완료)
