---
task_id: task-1916
type: plan
scope: task
created: 2026-04-17
updated: 2026-04-17
status: completed
---

# 계획서: task-1916

**task**: task-1916
**목표**: @validate_worktree_safety 데코레이터 read_only 분기 수정 + 문서 함수명 정정
**승인**: task-1915 전수조사에서 발견된 CRITICAL + INFO 이슈 2건 수정
**근거**: memory/reports/system3docs-full-audit.md

---

## 목표

1. `@validate_worktree_safety` 데코레이터가 `read_only=True`일 때 git 검증을 skip하도록 수정
2. 통합 테스트 `test_int03_rw_read_no_worktree` PASS 복구
3. 문서에 남아 있는 `_warn_phase_without_explicit_id` 오기를 `_warn_phase_without_task_id`로 정정

## 범위

### 포함
- `scripts/worktree_manager.py`: validate_worktree_safety 데코레이터 수정
- 통합 테스트 전체 127건 회귀 없음 확인
- 문서 함수명 오기 정정 (해당 파일이 존재하는 경우)

### 제외
- worktree_manager.py의 다른 명령어(finish, list 등) 변경 없음
- dispatch.py 코드 변경 없음

## 위임 계획

- 작업 1 (CRITICAL): **불칸(백엔드)** — 데코레이터 로직 수정
- 작업 2 (INFO): **불칸(백엔드)** — 문서 함수명 정정 (코드 관련 문서)
- 테스트 검증: **아르고스(테스터)** — 통합 테스트 전체 실행

## 검증 기준

- 작업 1: `pytest tests/integration/test_phase1_integration.py::test_int03_rw_read_no_worktree` → PASS
- 작업 1: `pytest tests/integration/` → 전체 PASS (0 FAILED)
- 작업 2: `grep -r "_warn_phase_without_explicit_id" memory/plans/` → 0건
- 작업 2: `grep -n "_warn_phase_without_task_id" dispatch.py` → 함수 존재 확인
