# Agent 미팅: InsuRo T3 배치안 결정

**날짜**: 2026-08-18
**소집 이유**: T3(증권+약관 세트→지식DB 확대) 배치안을 codex 불능 상태에서 다면 검증(회장 지시 3사이클). 특히 ①명칭매칭 격리 ②MVP/Phase ③리스크.
**참여 페르소나**: 오딘(아키), 불칸(API안정성), 마아트(QC독립검증), 로키(레드팀·필수)
**미팅 모드**: hybrid **토론 깊이**: thorough **총 사이클 수**: 3(예정)

---

## Cycle 1 (independent)

### 페르소나 의견 요지
**오딘(아키)**: clause_linker 격리 조건부동의. ①위치=`policy_extract`(policy_grouping에 두면 순환의존) ②격리=출력타입 강제(`ClauseLink`에 group_id/axes 부재→grouping 결정 실어나르기 타입불가) ③"회귀 범위밖" 이견→positive 가드(import-direction 테스트) 추가 ④강등=기존 경로③(cold-start) 재사용. Phase 순서 동의(단 linker 위치가 비순환 유일조건)·A에서 HITL supabase 저장 필수·시드 code↔live split code 정합성 테스트. 최대부채=비확정 정독 axes 캐시 부재→반복 LLM 과금.
**불칸(API안정)**: async=신규 아닌 `generation_queue` 재사용(main.py:7051, analyze_product 이미 async·concurrency=3·부분실패격리). 조건=pending axes 캐싱·잡 멱등키·부분실패 노출. 시드=CLI 무조건(service_role HTTP 노출 반대). clause_linker=정독 no-throw 계약 승계·링크상태 enum(LINKED/AMBIGUOUS/UNMATCHED)·실패율 1급필드·담보실패 500금지.
**마아트(QC)**: F1=공식비교 CONFIRMED 유일경로=path①(clause_id 확정매핑 재사용), ②LEARNED_RULE·③AUTO_MAP은 탐색용 제외. F2=★기존담보 CoverageRow에 clause_id/axes 필드 부재→항상 UNKNOWN→T3-B에 CoverageRow 스키마확장+엔진 재배선 명시해야 목표달성. F3=시드 진단비 0건. 쟁점2 이견(중대): comparison_gate는 name-mislink 못막음(방어축 직교)·자기정합 통과(틀린clause+그 axes→교차검증 당연일치→CONFIRMED). 조건=name-match는 HITL제안 전용 or name+2차근거 정합·terms_sha256 불일치시 code동일 재사용금지. 검증=DB/L1실서버·오연결0 골든셋·화면JSON·CI_WATCH_HANDOFF.
**로키(레드팀·DA성향)**: clause_id 신뢰전환=게이트 봉인전제 붕괴. ★axis_signature 저해상도(renewal·가입금액 누락)→갱신형vs비갱신형 동일 시그니처→교차검증 통과. ★★clause_text/payout_condition=완전 비게이트 채널(게이트가 지급조건↔담보 결합 무검증, 금소법 설명의무 핵심). 개정약관 code 재사용 사각. 금소법 P0=삼성 암5군만 발현·disclaimer 무력화 실증(PR#225). 조건=clause_text 내용해시 대조·명칭충돌1:N→HITL·renewal/금액 교차검증·약관업로드 PII/인증/파일검증·분모+행배지+편중고지.

### 수렴점 (4인 일치)
- 배치안 방향(격리 모듈화·MVP=A+B·CLI 시드) 타당.
- ★name-match를 자동 CONFIRMED 승격에 쓰면 게이트가 못막는 오비교(자기정합 통과) — 로키·마아트 독립 확증.
- clause_linker 위치=policy_extract·출력타입 격리·전용 회귀가드(오딘·로키·마아트).
- async=generation_queue 재사용·HITL supabase·비확정 axes 캐시(불칸·오딘).
- 금소법 편파노출 P0(로키·마아트 F1/F3).

### Cycle 1 미해결 → Cycle 2 심화
- Q1. name-match 오연결(자기정합 통과) 해결책: (A)HITL 제안 전용(자동발현0→MVP는 C까지) vs (B)name+2차근거(한도·지급조건 정합)+clause_text 해시→제한적 자동발현. **MVP 범위 재정의**.
- Q2. 기존담보 CoverageRow clause_id/axes 배선을 B에 포함 vs 별도 Phase.
- Q3. axis_signature 저해상도(renewal/금액) 보강을 T3에 넣나 별도 후속 게이트인가.

---

## Cycle 2 (sequential 심화 + DA)

### 페르소나 의견
**오딘(DA)**: ★"화면 출력 없게 정의된 MVP는 MVP 아니라 테스트 하네스". 실측: grouping 비교 화면 유일경로=`/new-design-comparison` textarea JSON 수동입력 디버그페이지(파일업로드·analyze-policy 연동 0). ★T3-B가 clause_id를 `CoverageRecord.name`에 붙여도 엔진 기존측 소비타입은 `policy_normalizer.CoverageRow`(clause_id 없는 다른 타입)→**산출물이 엔진입력에 안 닿음**(CoverageRow 교차절단 리팩터 필요=B 범위초과·Surgical 위반). 후회: HITL제안전용+시드10건=콜드스타트 아사·격리 명목상. **대안A(강추)=삼성 시드 픽스처+"데모 불러오기" 버튼으로 name-match·리팩터·HITL 없이 화면에 진짜 CONFIRMED 비교. 대안B=B 삭제, clause_id는 HITL(C)에서**.
**로키(공격재검증)**: 합의안(b)(2차근거+clause_text해시) 4구멍: ①renewal은 별도 갱신조항에 삶→담보조항 해시로 못잡음→갱신형 붕괴 통과 ②해시를 linker에만=flag신뢰 함정(해시는 게이트 불변식이어야) ③한도/지급조건 별표참조면 본문해시 무력 ④해시=같은텍스트만 증명, 오독 영속화. axis_signature renewal 보강=T3-B 활성화 **차단 선행조건**. clause_text 비게이트 방어=게이트에 content_hash 불변식(생산=linker/검증=gate 분리). ★회장 "삼성만 자동비교" 밀어붙임 안전7조건(화이트리스트10·hash핀·renewal프리체크·인라인정직·읽기전용·killswitch)=name-match linker 전체 없이 최소슬라이스 가능.
**마아트(비관습+판정)**: 비관습=신규측 CONFIRMED목록+"기존증권 자동확인불가" 갭플래그(리스크 高=false gap 부당권유). ★더 안전한 사촌안=**동일상품 자기약관 clause를 동치주장 없이 세부내용 dossier로만 표시**(리스크 中). 완료판정: T3-A=3중필터 DB실측·행정조항0·L1실서버·멱등(cmd_seed 카운트=환각, "적재1건=행정조항·실적재0" 사고 박제). T3-B=홀드아웃 골든셋 오연결율0+뮤테이션 음성대조(comparison_gate가 자기정합 오연결 원리적으로 못잡음).

### DA 판정 + 수렴
- 오딘 DA "MVP화면발현0=하네스" + 로키 화이트리스트7조건 + 마아트 dossier 사촌안 = **3인 수렴**: 명칭매칭은 비교승격 아닌 세부내용 dossier로, 비교 CONFIRMED는 삼성 시드 화이트리스트+HITL로, 게이트 renewal/hash 강화 선행.

---

## Cycle 3 (최종 + Temporal)

### 재구성 최종안 제시 → 4인 판정
**A→G→C→B→D, MVP=A+G+C** (아래 최종 합의).
- **마아트 조건부동의(3)**: ①G renewal·content-hash 구멍재현 회귀테스트 원격/CI 실재(로컬GREEN 불인정) ②C 홀드아웃 골든셋 오연결율0+read-only write0+killswitch 실브라우저E2E ③MVP발현="신규설계vs삼성시드" 한정 정직노출 배너 명시(기존고객 실대조는 D전 미발현·경계 은폐금지). 순차전제: A행정조항 못거르면 G헛봉인/G미완이면 C오비교P0/D=engine.py existing UNKNOWN 공백 유일 정당해소.
- **로키 조건부수용(2구멍+2kill)**: H1=renewal provenance없는 맨-bool·10년vs20년vs재가입형 동일→갱신구조(주기/재가입) 축 승격. H2=content-hash root는 sha256핀 원본약관 원문에 뿌리(linker 자기추출텍스트면 순환)+경쟁사(업로드)측 hash핀 없는 비대칭 명시. kill=hash-pin MISS 즉시 OFF(fail-closed)·NOT_COMPARABLE 비율상한. **G가 C보다 반드시 먼저 머지·배포**.
- **오딘 조건부동의(3)**: ①G renewal 편입=axis_signature UNIQUE키 변경→signature backfill/버전필드 동반(없으면 기존 학습룰 orphan 소실) ②content-hash 게이트확장=5키 strict-eq 잠금테스트 협의선행 ③C에 existing측 clause_id 시드 명시(삼성10건 고정맵)—group_id 조인만으론 existing UNKNOWN→NEW_ONLY만 뜸. B dossier격하=라이브리스크 제거(옳음).

### Temporal Interrogation (오딘)
- [HOUR1] axes.py renewal 편입(리프)·grouping_rule 재키잉 backfill [OPEN]·content_hash 필드위치 [OPEN]
- [HOUR2-3] 게이트 entry content_hash 키+REASON_EXCLUDED enum [OPEN]·linker 출력타입 group_id/axes 미포함 [RESOLVED]·renewal 프리체크 IF [OPEN]
- [HOUR4-5] 5키 잠금테스트·t2970·t2974 회귀 [OPEN]·L1 content_hash 500 재현 [OPEN]
- [HOUR6+] 멱등2회·행정조항0·killswitch [OPEN]·G/C PR 분리(runtime↔artifact) [RESOLVED]·배포순서 G머지→backfill→C시드 [OPEN]

---

## 최종 합의 사항

**재구성 T3 — 안전 우선. Phase 순서 A→G→C→B→D. MVP=A+G+C("보이는 안전한 최소").**

1. **T3-A** 약관 업로드 배선 + 시드 적재 (진행중 task-2975). 완료판정=3중필터 DB실측·행정조항 confirmed 0·L1 실서버·멱등2회.
2. **T3-G(신규·선행)** 게이트 강화 — (a)axis_signature에 renewal 편입 **+ signature backfill/버전필드**(UNIQUE키 마이그레이션) (b)renewal을 갱신구조(주기/재가입) 축 승격+provenance 결속 (c)content-hash를 comparison_gate 불변식(생산=linker/검증=gate 분리, root=terms_sha256 원본약관 원문) (d)5키 잠금테스트 협의. 완료=구멍 재현 회귀테스트 원격/CI 실재.
3. **T3-C** 삼성 시드 화이트리스트 최소 자동비교=화면 첫 발현 — existing측 clause_id 시드 명시(삼성10건 고정맵)·화이트리스트·hash핀·renewal프리체크·행별 인라인 정직노출·읽기전용·killswitch(hash-pin MISS OFF·NOT_COMPARABLE 비율상한)·경쟁사측 비대칭 명시. 완료=홀드아웃 골든셋 오연결율0+read-only write0 실브라우저E2E.
4. **T3-B** clause_linker=세부내용 dossier 표시전용(비교 CONFIRMED 승격 금지·group_id/axes 미포함·content_hash만 방출·policy_extract 위치·import-direction 가드).
5. **T3-D** HITL 확정 API/UI=기존담보 CONFIRMED 승격은 설계사 확정에서만(engine.py existing UNKNOWN 공백 유일 정당해소).

**순서 강제**: G 먼저 머지·배포 후 C. runtime PR(G)↔artifact PR(C) 분리. MVP 발현은 "신규설계 vs 삼성 시드" 한정→정직노출 배너 필수.

**회장 비전 정합**: ①증권↔약관 명칭매칭=살림(용도=세부내용 dossier B). ②비교=삼성 화이트리스트(C 즉시화면)+HITL(D 확장). "쓸수록 똑똑해지는 지식창고"=D(HITL 확정 축적)에서 실현.

## 미해결 항목
- G의 grouping_rule signature backfill 전략(마이그레이션) [D-SPEC].
- 5키 strict-eq 잠금테스트 수정 헤임달 협의.
- C existing측 삼성 10건 clause_id 고정맵 소스.

## 다음 단계
- 계획서 plan.md Phase 재정의(2→3 사이 G 삽입), 배치안 T3-batch-plan에 재구성 반영, 체크리스트에 3대 안전조건+Temporal OPEN 항목.
- 회장 결정 요청 후 T3-A(진행중) 완료판정 강화→G→C 순차.
