# task-723.1 완료 보고서: ThreadAuto "잔존수당" → "잔여수수료" 전수 교체

## SCQA

**S**: ThreadAuto 프로젝트 내 콘텐츠/프롬프트/테스트 파일 21개에서 "잔존수당"이라는 용어가 185건 사용되고 있었다.

**C**: "잔존수당"은 보험업계에서 사용하지 않는 표현이며, 올바른 용어는 "잔여수수료"이다. 제이회장님이 용어 오류를 지적하여 전수 교체가 필요했다.

**Q**: 21개 파일 185건의 "잔존수당"을 "잔여수수료"로 교체하고, JSON 유효성과 기존 테스트를 모두 유지할 수 있는가?

**A**: 전수 교체 완료. 21개 파일 185건 모두 교체, 잔존 0건 확인. JSON 유효성 검증 통과 (9개 파일), Python 구문 검증 통과 (7개 파일). pytest 456건 통과 (기존 실패 1건은 본 작업 범위 외).

---

## 작업 내용

"잔존수당" → "잔여수수료" 단순 텍스트 치환. 로직 변경 없음.

## 수정 파일 목록 (21개)

### 소스 파일 (10개, 교체 121건)
- `content/evergreen_topics.json` — 13건
- `content/logic_maps/수수료.json` — 6건
- `content/prompts_v2.py` — 1건
- `data/hook_bank.json` — 2건
- `data/logic_map.json` — 5건
- `prompts/pipeline/01_angle.md` — 6건
- `prompts/pipeline/02_structure.md` — 12건
- `prompts/pipeline/03_writing.md` — 31건
- `prompts/pipeline/04_hooking.md` — 27건
- `prompts/pipeline/05_review.md` — 18건

### 출력/테스트 파일 (11개, 교체 64건)
- `output/cardnews_task712_result.json` — 26건
- `output/task709_cardnews_result.json` — 2건
- `output/test_contrast_verification.py` — 2건
- `output/text_task678_direct.json` — 1건
- `output/verify_contrast.py` — 10건
- `output/video_content.json` — 26건
- `tests/test_five_stage_pipeline.py` — 24건 (교체 건수 팀원 보고 기준, 실제 sed 치환 수)
- `tests/test_hook_bank_manager.py` — 2건
- `tests/test_logic_map_manager.py` — 4건
- `tests/test_text_trimming.py` — 4건
- `tests/test_two_stage_pipeline.py` — 1건

## 테스트 결과

- **pytest**: 456 passed, 1 failed (29.14s)
- **잔존 grep**: `grep -rn "잔존수당"` → **0건** (워크트리 제외)
- **JSON 유효성**: 9개 JSON 파일 모두 통과
- **Python 구문**: 7개 .py 파일 모두 통과

### ⚠️ 기존 테스트 실패 1건 (본 작업 범위 외)
- `tests/test_cta_linebreak.py::TestFactDbContainsBusinessPage::test_fact_db_contains_business_page`
- 원인: fact_db.md에 "사업단 페이지" 문자열 부재 (task-348.1 시점 테스트, 본 교체와 무관)

## 발견 이슈 및 해결

### 자체 해결 (3건)
1. **교체 대상이 예상 3개 파일보다 훨씬 많음 (21개)** — 전체 프로젝트 grep으로 누락 없이 식별
2. **output/ 디렉토리 내 생성된 콘텐츠에도 잔존수당 존재** — output/ 파일도 교체 포함
3. **tests/ 파일 내 테스트 데이터에도 잔존수당 존재** — 테스트 기대값도 함께 교체하여 테스트 통과 유지

### 범위 외 미해결 (1건)
1. **test_cta_linebreak.py 기존 실패** — 범위 외 사유: "사업단 페이지" 관련 이슈로 본 용어 교체와 무관. 별도 작업으로 처리 필요.

## 셀프 QC 체크리스트
- [x] 1. 다른 파일 영향: 워크트리(.worktrees/) 내 파일은 미수정 (별도 브랜치 관리 영역)
- [x] 2. 엣지 케이스: "장기잔존수당" → "장기잔여수수료" 등 복합어도 정상 교체 확인
- [x] 3. 작업 지시 일치: 전수 교체 + grep 0건 + pytest 통과 조건 충족
- [x] 4. 에러/보안: 단순 텍스트 치환, 보안 이슈 없음
- [x] 5. 테스트 커버리지: 기존 456건 통과 유지
- [x] 6. 이슈 해결: 발견 3건 자체 해결, 범위 외 1건 사유 명시
