# task-2978 · [T3-C1] 삼성·메리츠 약관 적재 + 삼성 시드 content_hash 재적재

## 배경 (T3-C 착수 — 회장 승인 2026-08-19)
- 미팅 단일소스 `memory/meetings/2026-08-18-insuro-t3-batch-decision.md`. 게이트 안전벽 **G-1(renewal)·G-2(content-hash) 완성·배포**(main `1c4e4dd`). 이제 T3-C(화면 비교)의 **실데이터 적재** 단계.
- ★현 문제(G-2 배포 시 발견): 삼성 시드 10건이 **content_hash NULL**(seed_cancer5가 원본약관 없이 excerpt만 적재)→게이트 unverifiable 강등→화면 비교 미발현. 원본 약관으로 재적재해야 해소.
- repo `/home/jay/projects/InsuRo`, origin/main `1c4e4dd`. 담당 dev1(헤르메스, A 약관업로드 배선 원작자). 서버=user systemd `insuro-api`. Supabase INSURO_NEW(prod).

## 확보된 원본 약관 (로컬)
- 삼성: `/home/jay/projects/InsuRo/terms_source/samsung_newnaedonnaesam_16402601_20260701.pdf` (sha256 `182fcf43…` = **시드 상품 terms_sha256과 일치** = 시드 confirmed 10건의 원본)
- 메리츠: `/home/jay/projects/InsuRo/terms_source/meritz_2607_20260713.pdf` (sha256 `958b78c0…`, 무배당메리츠통합간편건강보험 세만기형 2607)

## 작업
1. **삼성 약관 적재**: `pipeline.analyze_product`(또는 A-1 업로드 엔드포인트)로 삼성 약관 정독 → coverage_clause에 **clause_text·axes·content_hash**(G-2 코드가 upsert_clause에서 자동 저장) 적재. sha `182fcf43` dedupe로 **기존 시드 상품(product_id `208c02b0`)에 연결**.
   - ★**시드 cov_id ↔ 정독 clause code 정합성 확인**(오딘 미팅 조건): seed_cancer5의 cov_id(`26-1-9` 등 암5군 10건)가 정독 결과 clause code와 일치해야 (product_id, code) upsert로 **시드 clause에 content_hash가 채워짐**. 불일치 시 어느 code가 안 맞는지 보고(시드 code 하드코딩 vs live split code 차이).
   - 완료 판정: **삼성 시드 confirmed 10건의 coverage_clause.content_hash가 NOT NULL** DB 실측(psycopg2/REST 조회).
2. **메리츠 약관 적재**: 메리츠 약관 정독 → 신규 상품(메리츠화재, product_code 2607) coverage_product + clause(axes·content_hash) 적재.
3. **Drive 규칙 배치**(gdrive full 스코프 필요 — `drive.file`이 아닌 `https://www.googleapis.com/auth/drive`): 두 약관을 `policy_terms/손보/{삼성화재|메리츠화재}/{상품코드}/{판매일}/terms.pdf` 규칙대로. (로컬 terms_source가 원본이므로 Drive 배치 실패해도 적재는 로컬로 진행.)

## 원칙
- Surgical. 기존 엔진·게이트 무변경. 약관 정독은 LLM 비용 크니 async·terms_sha256 캐싱 활용(재정독 금지). 금소법: axes는 정독 근거(SOURCED) 부착.
- 시드 confirmed는 덮어쓰지 말 것(content_hash만 additive 채움, group_id/map_state 무변경).

## 완료 조건
- **삼성 시드 10건 content_hash NOT NULL** DB 실측 + **메리츠 clause>0 적재** DB 실측 + L1 실서버(게이트가 content_hash로 시드 비교 통과 허용하는지).
- `memory/reports/task-2978.md`(시드 content_hash 조회·메리츠 clause 수·code 정합성) + `.done` + ANU 콜백. **비코드/데이터 작업이라 PR 불요 시 result-only 허용**, 프로덕션 DB 쓰기는 멱등·시드 무손상 확인.
- ⚠️ 이후 C-2(화이트리스트 게이트·existing 배선)·C-3(프론트 화면)로 이어짐.