---
task_id: task-2981
project: insuro-composite-workbench-phase1
created: 2026-08-20
level: Lv.3
status: in-progress
owner: ANU
---

# 계획서 — 인슈로 복합설계 워크벤치 Phase 1 (입력·파싱 계층)

## 목표
보장분석·신규설계 **둘 다 (문서 + 약관) 세트 업로드로 통일**하고, 각 세트에서 담보를 파싱하되 **양측 담보 모두에 clause_id/axes를 부착**해 자동 매칭이 가능하게 만든다. (상위 비전: `../insuro-policy-analysis_260812/composite-design-workbench-vision_260820.md`)

## 범위 / 포함
1. **세트 업로드 배선** — 신규설계=(가입제안서+약관), 보장분석=(증권+약관). 업로드 API가 세트 단위를 받도록.
2. **가입제안서 파싱** — 담보별 (한도, **보험료**) 개별 추출. 회사별 최대 한도 기준.
3. **보장분석 확장** — 현재 증권만 받고 axes 없음(`CoverageRow`에 clause_id/axes 부재) → **약관 파싱해 담보에 clause_id/axes 부착**. ★신규 설계축 grouping 엔진(`policy_grouping`) **재사용**(이름 매칭 금지 불변식 보존).
4. **UI 세트 업로드** — 보장분석·신규설계 두 업로드 화면 모두 "세트(문서+약관)" 입력으로.

## 범위 / 제외 (후속 Phase)
- 가성비 계산(단위한도당 보험료) = Phase 2
- 복합설계 조립(회사·담보 선택 + 한도조정 + 예상보험료) = Phase 3
- 비교표·워크벤치 화면 = Phase 3 (5사이클 미팅 결과 반영)
- 최종안 ↔ 기존 비교 발현·HITL(D) = 후속

## Dream State Mapping
### CURRENT STATE
- 보장분석: 증권 PDF만 입력(`/api/insuro/analyze-policy`), `CoverageRow`에 clause_id/axes 부재, 대구분 정규식만. 라이브.
- 신규설계축: 약관 파싱→clause→axes→grouping 엔진 완성(A/G/C 배포, main 49c17a92). 삼성10·메리츠 적재.
- [TODO: 가입제안서 파서 존재 여부·보험료 파싱 가능성 실측 수치]
### THIS PLAN
- 양측 입력을 (문서+약관) 세트로 통일 + 양측 담보에 clause_id/axes 부착 → 기존측 100% UNKNOWN 해소, 자동 매칭 성립.
- 측정: 보장분석 담보 axes 부착률, 제안서 담보별 보험료 추출률, 게이트 봉인 회귀 GREEN.
### 12-MONTH IDEAL
- [TODO: 복합설계 워크벤치 완성(가성비·복합조립·기존비교) — 비전 문서 참조]
### 정합성 체크
- [ ] 이번 계획이 워크벤치 비전과 같은 방향인가?
- [ ] 게이트 봉인·오비교 방지 불변식을 가로막지 않는가?
- [ ] name-match 금지·grouping 엔진 재사용으로 기술부채 없이 확장 가능한가?

## 위임 계획
- 담당 후보: **dev2(오딘)** — T3 엔진(grouping/comparison_gate/게이트봉인) 직접 컨텍스트.
- Lv.3+ → 3문서 정식화 후 회장 승인 → 위임.

## 검증 기준 (실측)
- 세트 업로드 E2E(신규설계·보장분석 각 1건) — 문서+약관 세트가 파싱까지.
- 가입제안서 담보별 (한도, 보험료) 추출 실측(샘플 제안서).
- 보장분석 담보 clause_id/axes 부착 실측(약관 파싱 경유) + grouping 엔진 재사용 확인.
- 게이트 봉인 회귀(t2970/2974/2977/G-1/G-2) GREEN, 오비교 0.

## 남은 확인 (구현 전)
- 가입제안서 실제 샘플로 담보별 보험료 파싱 가능성.
- 보장분석 약관 파싱이 신규축 엔진과 스키마 정합.
