# InsuRo 개인정보 P0-1 Drive 프록시 Phase 1.5 — 백엔드 갭 4건 보완 (task-2928, 260809) ANU 독립검증완료·머지+배포 HOLD

- 팀: dev1-team(헤르메스/불칸/아르고스). 브랜치 `task/task-2928-dev1` HEAD `22c3f3c`. worktree `/home/jay/projects/InsuRo/.worktrees/task-2928-dev1`.
- base: **로컬 main `f81085f`(Phase 1 task-2927 포함, origin 미푸시)** 위에 스택. origin/main=`f2b282e`(task-2925). 6파일 +734/-21(마이그레이션 없음, 컬럼 기존).

## 내용 (Codex 교차검증 도출 4갭 보완)
1. **신규 쓰기경로 drive_file_id 배선**: upload_to_drive record_data(main.py L6269) `drive_file_id`, analyze_policy insert(L7044~7059) `drive_file_ids` text[]. 전수점검=추가경로 없음(FCPA는 URL직접파싱, source_file_ref는 감사용 무관).
2. **view(inline) 모드 + 짧은TTL 다회토큰 + Range**: file_ticket_store `peek_ticket`(비소비)/`consume_ticket`(1회소비) 분기, `VIEW_TTL_SECONDS=120`. view=미소비·inline·Accept-Ranges·Range 206/416, download=1회소비·attachment·Range무시. gdrive `fetch_drive_file_range`(부분 메모리적재 OOM회피). 등급별 IDOR 인가는 mode 무관 동일.
3. **미들웨어 ES256 통일**: main.py L377 `["ES256","HS256"]`→`["ES256"]`(알고리즘 컨퓨전 제거).
4. ticket store 멀티워커 TODO(범위밖 주석).

## ANU 독립검증 (clean worktree, CI parity)
- git: `f81085f` ancestor 확인(base 교정 성공 — worktree_manager가 origin/main 잡은 stale base를 로컬 main으로 reset). scope=6파일 정확.
- 코드: 4수정 전부 실재 확인(grep). 
- 테스트: 신규/스코프 41 PASS(view 다회200·Range206·416·download 404·IDOR403·mode400·drive_file_id 배선). 
- 회귀: 봇보고 1377 passed. 유일실패 `test_cors_fail_closed_when_ext_origin_unset`=worktree서 동일재현+수정범위에 CORS/consultation 파일 0 → base 환경(EXT_ORIGIN 미설정) 결함, 코드무관 → **회귀 0**.
- L1: 봇 실서버 curl 404(peek 라이브)/401/200.
- **판정: MERGE-READY**.

## HOLD (회장 조율 대기 — Phase 1과 동시)
- 본 브랜치는 Phase 1(task-2927) 위 스택인데 Phase 1이 origin 미푸시(배포 HOLD). 머지·배포는 **Phase 1 origin push + systemd `insuro-api` 재기동을 회장 승인 하에 동시 진행**.
- Phase 1 HOLD 미해소 항목: DB 마이그레이션 실적용(jsonb 타입 확인)·systemd 재기동·ruleset·소급범위(anyone 제거+소급회수) 회장 결정. → Phase 1.5 단독 배포 불가. **Phase 1 HOLD 해제 시 1.5 함께 배포**.
- finalize-only. finish-task 후 원격 head 확인 필요.

## 후속
- Phase 2=프론트 7곳 배선, Phase 3=anyone 제거+소급회수(회장 소급범위 결정 후).
- 관련: [[project_insuro_drive_public_removal_proxy_p0_1_phase1_task2927_260808]] · [[finish_task_worktree_stale_base_260717]]
