---
task_id: task-2278
type: plan
scope: task
created: 2026-04-28
updated: 2026-04-28
status: completed
---

# 계획서: task-2278

**task**: task-2278
**목표**: 금소법 warn 판정 시 수정 제안 반영 재생성 + 재검증 + 버전 히스토리 구현
**승인**: 아누 2026-04-28 "금소법 수정 반영 + 재생성 + 버전 히스토리"
**근거**: /home/jay/workspace/memory/tasks/task-2278.md

---

## 목표

1. Generate.tsx에서 금소법 warn 시 수정 제안 체크박스 + "수정 반영" 버튼 추가
2. 서버에 POST /api/insuro/revise-content 엔드포인트 구현 (소유권 검증 포함)
3. DB contents 테이블에 parent_id 컬럼 추가 (버전 체인)
4. 프론트에서 원본/수정본 탭 전환 UI 구현
5. ContentHistoryTab에서 parent_id 기반 버전 체인 표시
6. npm run build 성공

## 범위

### 포함
- Generate.tsx: 체크박스 + 수정 반영 버튼 + 원본/수정본 탭
- server/main.py: revise-content 엔드포인트
- DB 마이그레이션: contents.parent_id
- Supabase types.ts: parent_id 타입 추가
- ContentHistoryTab.tsx: 버전 체인 표시
- generate-status 응답에 content_id 포함

### 제외 (다음 페이즈 이후)
- 원문 대비 diff 검사 (재생성 품질 고급 검증)
- 다중 수정 히스토리 (3단계 이상 체인)
- 수정본 롤백 기능

## 위임 계획

- 백엔드 (revise-content, generate-status 수정): **토르** (sonnet)
- 프론트엔드 (Generate.tsx, ContentHistoryTab.tsx): **프레이야** (sonnet)
- DB 마이그레이션 + types.ts: **토르** (sonnet)
- 테스트: **헤임달** (sonnet)

## 검증 기준

- 빌드: `cd /home/jay/projects/InsuRo && npm run build` → 성공
- 서버: `POST /api/insuro/revise-content` → 200 응답
- 타입: types.ts에 parent_id 존재
- 히스토리: ContentHistoryTab에서 버전 체인 그룹핑 로직 존재
