# task-2981-r2 · 인슈로 — 담보명 1:1 매칭 정정 + 가입제안서 파싱(1c) 재개

## 배경
- t2981 Phase 1: 세트((문서+약관)) 업로드 배선·보장분석 axes 확장 완료. 그러나 **담보 매칭을 담보코드 방향으로 시도**(증권 파서가 coverage.code 안 뽑아 전건 unresolved).
- ★**회장 정정(2026-08-20) + codex 합일**: 담보코드는 동일 회사도 상품별 상이 → **매칭 기준 무의미**. 담보명 1:1 매칭이 정본.
- repo `/home/jay/projects/InsuRo`(main 49c17a92). PR #233 OPEN(머지 HOLD). 담당 dev2(오딘).

## 작업
1. **★담보명 1:1 매칭 (담보코드 폐기)**:
   - **정규화 2단**: 정규화(띄어쓰기·괄호·특약접두어·약어·숫자표기) 후 **exact 우선 → 제한적 fuzzy**(오매칭 위험 낮은 범위).
   - **순서**: 같은 세트로 올라온 **증권/제안서 담보명 ↔ 약관 담보명** 정규화 매칭 → **약관 clause 추출** → clause를 **axes에 사상** → **회사간 동일 그룹 판단 + 담보 자체 구분**.
   - ★**axes는 2차 의미판별 레이어**(1차 매칭 수단 아님). 담보코드 파서 확장 코드 제거/비활성.
   - 게이트 봉인 불침해(t2970/2974/2977/G-1/G-2)·name-match 금지 불변식은 **회사간 grouping 결정**에 유지(담보명 매칭은 *같은 세트 내 문서↔자기약관 조인*=데이터 링킹이라 별개, T3-B clause_linker 설계와 정합).
2. **가입제안서 파싱(1c) 재개**: 샘플 PDF `/home/jay/workspace/memory/samples/proposal_meritz_725046310202601305.pdf`(강혁 메리츠 20년 가입제안서)로 **담보명·한도·보험료 안정 추출**. ★최소목표=안정 추출. 레이아웃 차이·필드 다양성은 **샘플 축적 후 단계 확장**(과설계 금지).
3. **★문서쌍 발현 실측(회장 약관 제공 2026-08-20)**: 제안서에 맞는 건강가입 약관 `/home/jay/workspace/memory/samples/terms_meritz_the건강한_5_10_5_2601.pdf` 확보됨. 제안서+약관 **세트 업로드 → 담보명 1:1 매칭 → clause 확보 → 기존측 UNKNOWN 탈출 실발현** 실측(이전 결합 0은 문서쌍 불일치 탓=올바른 fail-closed였음). 오매칭 0 유지.

## 완료조건 (실측)
- **담보명 매칭 실측**: 증권/제안서 담보명 ↔ 약관 담보명 정규화 매칭 → clause 확보 → axes 그룹 판단 발현(기존측 UNKNOWN 탈출). 오매칭 0.
- **1c 추출 실측**: 샘플 제안서에서 담보명·한도·보험료 개별 추출.
- 게이트 봉인 회귀 GREEN·오비교 0. report `memory/reports/task-2981-r2.md` + `.done` + ANU 콜백. 머지 HOLD.
- ⚠️ 콜백 prompt UTF-8 ≤3900 bytes 봉투만.

★ 담당 dev2(오딘).
