---
task_id: task-1973
type: checklist
scope: task
created: 2026-04-20
updated: 2026-04-20
status: completed
---

# 체크리스트: task-1973

**task**: task-1973

---

## Phase 1 — 불칸(백엔드)

- [x] A. anu_provider.py: `import subprocess` → `import asyncio` 전환
- [x] B. `_run_claude_cli` 동기 함수 → `_run_claude_cli_async` 비동기 함수로 전환
- [x] C. subprocess.run → asyncio.create_subprocess_exec 사용
- [x] D. subprocess.TimeoutExpired → asyncio.TimeoutError 에러 핸들링
- [x] E. anyio.to_thread.run_sync 래퍼 제거
- [x] F. generate() 함수에서 직접 _run_claude_cli_async() await

## Phase 2 — 아르고스(테스터)

- [x] A. test_anu_provider.py: subprocess.run mock → asyncio.create_subprocess_exec mock
- [x] B. test_main.py: subprocess.run mock → 새로운 mock 패턴
- [x] C. conftest.py: mock_subprocess_claude fixture 영향 없음 확인 (ai_parser용)

## 검증

- [x] subprocess.run|call|check 0건 확인
- [x] pytest 139 passed (회귀 0건)
- [x] tsc 0 errors
- [x] 서버 정상 기동 확인 (port 8001, /api/status → ok)
- [ ] QC 검증 완료
- [ ] 최종 보고
