---
task_id: task-2429
type: checklist
scope: task
created: 2026-05-03
updated: 2026-05-03
status: in-progress
---

# 체크리스트: task-2429

**task**: task-2429

---

## Phase 0 — 사전 게이트 (마르둑)

- [x] A. revert 사실 확인 (commit f64bcb1)
- [x] B. 3문서 업데이트 (plan/context/checklist)
- [x] C. Codex 사전 검증 (5 risks 모두 본 task 작업과 1:1 대응 → 의도 일치)
- [x] D. Worktree 생성 (`.worktrees/task-2429-dev5`)

## Phase 1 — 구현 (엔키)

- [x] A. task-2423 mmlfcp 셀렉터 부활 (`scrapeMmlfcpMatrix`, `waitForMmlfcpMatrix`, `scrapeOhmyManagerMatrix` 분기, `scrapeLegacyOhmyManagerMatrix`)
- [x] B. `[InsuRo Helper Trace]` prefix 단계별 로그 추가 (27건, 요구 8개 항목 모두 포함)
- [x] C. silent fail 단계별 alert 메시지 (`_lastMmlfcpTrace` 진단 객체 + 셀렉터/셀 카운트 표시)
- [x] D. legacy fallback 진입 로그
- [x] E. JWT 만료 정책 #10 보존 (refreshInsuroButtonByJwt 변경 없음)

## Phase 2 — 테스트 (닌기르수)

- [x] A. `__tests__/fixtures/mmlfcp-real-dom.html` 작성 (회장 F12 캡처 기반, 32줄)
- [x] B. matrix-detection.test.ts: 정상 케이스 (보험사 3, 담보 2, 매트릭스 6셀)
- [x] C. silent fail 케이스 (premium_lists/companyInfo 비우면 `_mmlfcpPending` sentinel)
- [x] D. legacy fallback 케이스 (mmlfcp 셀렉터 0개 → null)
- [x] E. JWT 만료 시 isJwtValid → false
- [x] F. scrapeOhmyManagerMatrix 위임 검증

## Phase 3 — 검증 (마르둑)

- [x] A. vitest 전체 PASS (matrix-detection 10 + host-matching 19 = 29개)
- [x] B. npm run build 성공 (12.16s, dist/ 생성)
- [x] C. content.js 변경 grep 검증 (`[InsuRo Helper Trace]` 27건, scrapeMmlfcpMatrix 10건)
- [x] D. PR #98 생성 + Gemini 리뷰 대응 (HIGH 2건 auto-fix 해결, MEDIUM 4건 DEFER)
- [x] E. 회장 Edge 시연 가이드 (보고서)

## 검증 (.done 전)

- [x] L1 스모크: vitest 29 PASS + 빌드 성공 + trace 로그 콘솔 출력 확인
- [x] G3 독립 검증 (Lv.2 작업, 게이트 지시 Lv.3 — 별도 검증 스크립트 적용)
- [ ] 보고서 작성 (SCQA + 모델 사용 기록 + 머지 판단)
- [ ] finish-task.sh 실행
