# [Lv.1] 소식지 관리 카드에 손보/생보 구분 배지 추가

## allowed_resources
```yaml
allowed_resources:
  paths:
    - "src/pages/AdminNewsletters.tsx"
    - "src/lib/insurerType.ts"
    - "src/lib/**/*.test.ts"
    - "src/components/newsletter/ReviewQueue.tsx"
  forbidden_paths:
    - ".github/**"
    - "extension/**"
    - "server/**"
  commands: ["npm","npx","vite","git"]
  merge_policy: "none"
  ttl_hours: 12
```
> ★ base=현 origin/main. 근거: 회장 요청 — 소식지 관리 탭 카드에서 손보/생보를 한눈에 구분할 표식.

## 배경
"소식지 관리" 탭 카드(회사명·제목·분석완료 배지·👁️·🗑️)에서 회사가 **손해보험사(손보)인지 생명보험사(생보)인지** 한눈에 안 보임. 각 카드에 **손보/생보 배지**를 추가.

## 작업
### 1) 분류 헬퍼 `src/lib/insurerType.ts` 신규
- `classifyInsurer(companyName: string): "손보" | "생보" | "미분류"` 순수 함수.
- **큐레이션 우선 + 회사명 키워드 휴리스틱 fallback**:
  - 키워드: 이름에 `생명`·`라이프`·`생보` → **생보** / `손해보험`·`화재`·`해상`·`손보` → **손보**. (한국 보험사명은 유형이 이름에 박혀 있어 full name 기준이면 정확: "라이나손해보험"=손보, "신한라이프"·"KB라이프"=생보, "메리츠화재"=손보, "NH농협손해보험"=손보 vs "NH농협생명"=생보.)
  - 큐레이션 맵(정확도): 주요사 정확 매칭 override — 손보(삼성화재·현대해상·DB손해보험·KB손해보험·메리츠화재·한화손해보험·롯데손해보험·흥국화재·MG손해보험·NH농협손해보험·하나손해보험·AXA손해보험·캐롯손해보험·카카오페이손해보험·라이나손해보험 등) / 생보(삼성생명·한화생명·교보생명·신한라이프·KB라이프·NH농협생명·미래에셋생명·동양생명·흥국생명·라이나생명·메트라이프·처브라이프·DB생명·ABL생명·하나생명 등).
  - 둘 다/어느 것도 아니면 휴리스틱 → 그래도 불명이면 `"미분류"`.
- ★ 용어는 **정확히 "손보"/"생보"만**(회장 지시: 손해보험사/생명보험사/손보/생보 4개 용어 한정). 배지 라벨은 "손보"·"생보".

### 2) 카드에 배지 렌더 (`AdminNewsletters.tsx`)
- 각 소식지 카드(소식지 관리 탭)에 `classifyInsurer(item.company_name)` 결과 배지 표시.
- 시각 구분: 손보/생보 색상 다르게(예: 손보=파랑 계열, 생보=보라/초록 계열 — 기존 "분석 완료" 초록과 겹치지 않게). "미분류"는 회색.
- 위치: 회사명 옆 또는 상단(카드 레이아웃 자연스럽게). 기존 "분석 완료" 배지·아이콘과 정렬 깨지지 않게.
### 3) (선택·trivial) 검토 대기 큐(ReviewQueue) 항목에도 동일 배지 재사용.

## 제약
- src/ 만. server·extension 불변. 기존 카드 기능(업로드·👁️·🗑️·인라인 편집·분석완료 배지) 회귀 0. 새 API 호출 없음(순수 프론트 분류).

## 검증
- `npm run build` PASS + tsc 0. 신규 테스트(`insurerType.test.ts`): DB손해보험/메리츠화재/NH농협손해보험→손보, KB라이프/삼성생명/신한라이프→생보, 라이나손해보험→손보·라이나생명→생보(이름 구분), 빈문자열/미상→미분류.
- ★ **실렌더 스크린샷 육안 필수**: 카드마다 손보/생보 배지가 정확히 뜨는지(회장 스크린샷의 DB손해보험·KB손해보험·NH농협손해보험·라이나손해보험·롯데손해보험·메리츠화재 = 전부 손보로).

## 완료 (★ 순서 B)
- src/ 만. **dev6 금지** — dev2(오딘). 커밋 → push → **★ push 확인** → **npm run build PASS 확인** → finish-task foreground 1회 → .done. ANU 독립검증(실렌더)·머지·재배포는 ANU.

## goal_assertions (auto-generated)
- `npm run build`
