# CI-1 — test_security_patch 하드코딩 worktree 절대경로 제거

## worktree / branch
- `/home/jay/projects/InsuRo/.worktrees/ci-1` · `task/ci-1-260719` · base `cc7476bfbd9f6b3ae3c99f9a7136cc9f94cd3ada`

## expected_files (정확히 1파일)
```yaml
allowed_resources:
  paths: ["server/tests/test_security_patch.py"]
  new_file_limit: 0
  commands: ["git","python3","pytest"]
  merge_policy: "none"
```

## 문제 (ANU 재현 확인)
`server/tests/test_security_patch.py:5`
`WORKTREE = Path("/home/jay/projects/InsuRo/.worktrees/task-2264-dev2")`
→ 해당 worktree **부재 확정** → `FileNotFoundError` → **11건 연쇄 실패**(단독 실행에서도 재현).

## 수정 요구
- 경로를 **repo 루트 상대 해석**으로 전환(예: `Path(__file__).resolve().parents[2]`). 실제 구조를 확인해 확정할 것.
- ⚠️ **다른 로컬 절대경로로 치환 절대 금지.** 어느 머신·어느 worktree 에서 체크아웃해도 동작해야 한다.
- 검증 대상 파일 3종(`server/main.py`, `public/_headers`, `index.html`)이 **현재 repo 기준**으로 잡히는지 확인.

## 완료 판정
- `python3 -m pytest server/tests/test_security_patch.py -q -p no:randomly` → **11건 전부 PASS**
- 테스트 **개수 감소 0** · skip/xfail 증가 **0**

## ★ 절대 제약 (전 task 공통 — 회장 확정)
- **child PR 생성 0 · main merge 0.** 브랜치 커밋만. 수거는 ANU 가 parent 로 한다.
- **커밋 정확히 1개.**
- **금지**: 테스트 skip · required check 해제 · assertion 완화 · 429 를 정상 기대값으로 변경 · **다른 로컬 절대경로로 치환** · retry 증설 · admin override
- **expected_files 밖 수정 0.** 위반 시 STOP_REPORT.
- 대상 저장소 = **InsuRo**. 작업 디렉토리는 아래 worktree **안에서** 수행.

## 보고
- 보고서: `/home/jay/workspace/memory/reports/<task>.md` (**저장소 밖 · git stage 0**)
- 내용: diff / 근거 / 실행한 명령과 원문 출력 / 테스트 카운트(전후) / MATCH·GAP
- 봇 종료 전 ANU callback(envelope만·UTF-8 ≤3900B, collector=ANU key c119085addb0f8b7)

## goal_assertions (auto-generated)
- `python3 -m pytest server/tests/test_security_patch.py -q -p no:randomly`
