---
task_id: task-2428
type: checklist
scope: task
created: 2026-05-03
updated: 2026-05-03
status: completed
---

# 체크리스트: task-2428

**task**: task-2428

---

## Phase G1 — 설계 게이트
- [x] A. 3문서 (plan/context-notes/checklist) 완성
- [x] B. Codex 사전 검증 PASS (5건 우려 인지·context-notes 보완)
- [x] C. 3 Step Why A-B-C 일관성 검증

## Phase 2-1 — retry_loop ↔ hybrid-image 통합 (이나리)
- [x] A. `_render_with_seed` placeholder 제거, PATTERNS dict dispatch 구현 (importlib spec_from_file_location)
- [x] B. pattern key 매핑 ('h1_photo_card' ↔ 'h1') 구현
- [x] C. 6축 hint를 design_tokens dict prefix("hint_*")로 주입
- [x] D. 빌드 검증: `python3 -m py_compile skills/satori-cardnews/scripts/retry_loop.py` rc 0

## Phase 2-1b — 패턴 6축 hint 소비 (이나리)
- [x] A. h1~h5 패턴이 design_tokens hint_* 키 graceful 무시 (회귀 0)
- [x] B. 시드 기반 procedural variation: gradient theme rotation, accent shape 추가
- [x] C. 빌드 검증: `python3 -m py_compile skills/hybrid-image/patterns/*.py` rc 0
- [x] D. 신규 `_pil_render.py` — procedural PIL renderer 5종 (Satori CLI 호환성 우회)

## Phase 2-2 — 25장 stratified 실 렌더링 (벤자이텐)
- [x] A. 5 패턴 × 5 변형 = 25 샘플 생성
- [x] B. 각 PNG에 메타 JSON: std_mean, ΔE, spatial_diff, area_ratio, OCR_korean_ratio, retry_count
- [x] C. SUMMARY.md: 27장 통계 + 환경 BLOCKED 명시 + 패턴별 평균 retry

## Phase 2-3 — extras (벤자이텐)
- [x] A. supabase_h4.png + meta (Supabase #3ecf8e green, ΔE=0.54)
- [x] B. financial_h4.png + meta (Brex #FF6E2B orange, ΔE=0.0)

## Phase 2-4 — 회귀 테스트 (카구야)
- [x] A. test_real_render_25.py: 25장 batch + adversarial 5건 + smoke + artifact integrity = 32 tests
- [x] B. 적대 케이스 5건 모두 FAIL/BLOCKED 검출 검증

## Phase 3 — 회장 시각 confirm 패키지 (아마테라스)
- [x] A. 25장 중 random 5장 (재현 시드 명시) — h1_v1, h2_v3, h3_v2, h4_v3, h5_v4
- [x] B. 7장 정량 라벨링 (std_mean, ΔE, spatial_diff, retry_count)
- [x] C. 회장 시각 평가 체크리스트 (한글 / 단조 / 박스 1종 / 5 패턴 분화 / design-md 적용)

## QC
- [x] 마아트 Q-01~Q-10 평가: **96/100 PASS**
- [x] 로키 DQ 적대 평가: 1차 4건 → CRITICAL/HIGH 2건 surgical 보완 (L-01 결정성, L-02 H2 silent pass)

## 검증
- [x] py_compile PASS
- [x] pytest test_real_render_25.py: **32/32 PASS**
- [x] L1 스모크: 27장 PNG 산출 + 27 meta JSON + cross-process 결정성 sha256 일치
- [x] 보고서 작성 완료
- [ ] finish-task.sh 호출 (최종 단계)
