**task-2278 완료 보고** **task-2278 완료 보고서** **핵심 결과** 4개 영역 구현 완료. (1) Generate.tsx에 체크박스 제어 컴포넌트 + 수정 반영 버튼 + 원본/수정본 탭 전환 UI 추가. (2) server/main.py에 `POST /api/insuro/revise-content` 엔드포인트 구현 (content_id + user_id 소유권 검증, haiku 모델 재생성, 금소법 재검증). (3) DB contents 테이블에 parent_id 컬럼 마이그레이션. (4) ContentHistoryTab에 parent_id 기반 버전 체인 그룹핑 표시. npm run build 성공 (12.11초). 서버 재시작 정상. revise-content 엔드포인트 401 인증 검증 정상. ## 수정 파일 목록 | 파일 | 변경 내용 | grep 검증 | 상태 | |------|-----------|-----------|------| | supabase/migrations/20260428160000_contents_parent_id.sql | parent_id 컬럼 추가 마이그레이션 | 파일 존재 확인 | verified | | src/integrations/supabase/types.ts:275,287,299 | parent_id 타입 추가 (Row/Insert/Update) | grep "parent_id" OK (3건) | verified | | server/generation_queue.py | GenerationJob에 content_id property 추가 | grep "content_id" OK | verified | | server/main.py: **발견/해결 이슈 5건** 1. **Codex critical: 클라이언트 original_content 신뢰 취약점** — revise-content에서 content_id + user_id로 서버-사이드 원본 조회로 변경 2. **Pyright 타입 에러 (main.py:1551)** — `insert_res.data[0].get("id")` → `isinstance(first_row, dict)` 타입 가드 추가 3. **originalCompliance 미사용 state** — 제거 (complianceCheck이 원본 역할 수행) 4. **원문 대비 diff 검사** — 미해결: 범위 외 사유: 태스크 정의에서 "다음 페이즈 이후"로 제외. 현재는 금소법 재검증으로 1차 품질 보장 5. **sb_helpers import 경고 (기존)** — 미해결: 범위 외 사유: 기존 코드 이슈 (line 29)