# task-1257.1: v2.5 코드 검증 후속 — 4건 정리 수정

**팀**: dev3-team (다그다)
**레벨**: Lv.1
**작업자**: 루(Lugh, 백엔드)

---

## SCQA

**S**: image_workflow.py v2.5 코드가 운영 중이며, task-1255.1(2팀 검증)에서 코드-정본 간 불일치 4건이 발견되었다.

**C**: Phase 0.5/1.5의 QC 항목명이 정본(BQ-01~05, PQ-01~07)과 불일치하고, Phase 1.5의 즉시 PASS 기준값이 하드코딩되어 Phase 3.5의 상수 참조 패턴과 불일치한다.

**Q**: 정본과 코드 간 일관성을 맞추고, 기존 테스트 회귀 없이 수정할 수 있는가?

**A**: 4건 중 3건 수정 완료 (1건은 작업 지시에 따라 스킵). Phase 0.5에서 BQ-01~05, Phase 1.5에서 PQ-01~07 코드명 통일, 즉시 PASS 값 상수화, BQ-05 설명 정본 정렬 완료. pyright 0 errors, pytest 34/34 passed, 회귀 0건.

---

## 수정 내역

### 1. Phase 0.5/1.5 QC 코드명 통일
- Phase 0.5 체크리스트 # 열: `1~5` → `BQ-01~BQ-05` (line 543-547)
- Phase 0.5 출력 형식: `항목1~항목5` → `BQ-01~BQ-05` (line 555-559)
- Phase 1.5 체크리스트 # 열: `1~7` → `PQ-01~PQ-07` (line 608-614)
- Phase 1.5 출력 형식: `항목1~항목7` → `PQ-01~PQ-07` (line 629-635)
- Phase 1.5 cycle_focus: `항목 1,2` → `PQ-01,PQ-02`, `항목 4,6` → `PQ-04,PQ-06` (line 587-588)

### 2. Phase 1.5 즉시 PASS 값 상수화
- `immediate_pass = ESCALATION_RULES["plan_qc_immediate_pass"]` 변수 추가 (line 584)
- 하드코딩 `12점` → `{immediate_pass}점` f-string 참조로 변경 (line 620)
- 참고: `ESCALATION_RULES["plan_qc_immediate_pass"]`는 이미 존재 (line 82)

### 3. dispatch.py pyright — 스킵
- 작업 지시에 따라 수정 대상 아님

### 4. Phase 0.5 BQ-05 표현 정렬
- 판정 기준 변경: `과장 표현, 법적 위험, 경쟁사 직접 비교 없음` → `이전 FAIL 패턴 미포함 확인 (knowhow 파일의 실패 패턴 참조; 예: 과장 표현, 법적 위험, 경쟁사 직접 비교)` (line 547)

---

## 산출물

- `/home/jay/workspace/prompts/image_workflow.py` (수정)

## 검증 결과

- pyright: 0 errors, 0 warnings
- pytest: 34/34 passed (0.09s), 회귀 0건
- black: OK, isort: OK
- BQ-01~05 코드명 프롬프트 내 사용 확인
- PQ-01~07 코드명 프롬프트 내 사용 확인
- `ESCALATION_RULES["plan_qc_immediate_pass"]` 상수 참조 확인
- BQ-05 설명 정본 일치 확인

## 발견 이슈 및 해결

### 자체 해결 (1건)
1. **Pyright 일시적 "not accessed" 경고** — f-string 내 `{immediate_pass}` 참조를 Pyright가 일시적으로 감지 못함. 직접 `pyright` 실행으로 0 errors 확인, 실제 문제 아님.

### 범위 외 미해결 (0건)
없음.
