---
task_id: task-2394
type: plan
scope: task
created: 2026-05-03
updated: 2026-05-03
status: completed
---

# 계획서: task-2394 — IDS Phase 6 자연어 라우팅 통합 UI

**task**: task-2394
**목표**: 자연어 입력(예: "supabase 스타일 보험 PPT 5장")을 받아 적합 IDS 스킬로 자동 라우팅하는 모듈 신규 작성. 회장 4 목표 #2(사용 마찰 0) 충족.
**승인**: 회장 2026-05-03 "마지막단계까지 위임"
**근거**: memory/tasks/task-2394.md (IDS plan v1.1 §0, §5 Phase 6)

---

## 목표

- 입력: 자연어 prompt (한국어/영어 혼용)
- 출력: `RoutingDecision { intent, skill, style, size, confidence, needs_confirmation, sla_ms }`
- 라우팅 정확도 ≥ 90% (50개 자연어 샘플 기준)
- SLA: 라우팅 결정 ≤ 2초 (P95) — 규칙 기반이므로 실측은 ≪ 100ms
- 외부 API 직접 호출 차단 (IDS §0.5 "디자인팀 라우팅" 게이트)

## 범위

### 포함
- `scripts/ids_natural_routing.py`: 라우팅 엔진 (rule-based intent classifier + routing matrix + confidence + SLA tracker + 외부 API 차단 가드)
- `tests/dev6/test_ids_phase6_natural_routing.py`: 회귀 테스트 (16+ 케이스, 50개 샘플 정확도 검증, SLA, 차단 동작, dual version 교차)
- 메모리 피드백 자동 준수: 디자인팀 라우팅, dual version 교차(satori/threadauto)
- Codex G1 사전 검증 결과 기록

### 제외 (다음 페이즈 이후)
- Claude haiku 호출 (의도 분류는 규칙 기반으로 충분 — 3 Step Why 참조)
- 산출물 실제 생성 (Phase 1-5 의존, 본 Phase는 라우팅까지)
- 사용자 confirmation UI (라우팅 결정에 `needs_confirmation` 플래그만 노출, UI는 호출자 책임)

## 위임 계획

- **단일 파일 모듈 + 테스트**: 페룬(팀장)이 직접 작성 (Sonnet 위임 시 변동성 ↑, 규칙 매트릭스는 결정적 작성이 더 빠름).
  - 예외 적용: 작업 규모가 단일 함수 클래스 1개 + 테스트 1개로 제한적, 외부 API 호출 없음, 결정적 규칙 정의
- 보고서/3문서: 페룬

## 검증 기준

- `python3 -m pytest tests/dev6/test_ids_phase6_natural_routing.py -v` → 16+ PASS
- 50개 자연어 샘플 정확도 ≥ 90% (테스트 내부 어설션)
- SLA 라우팅 P95 ≤ 2000ms (실측은 1ms 이하 예상)
- 외부 API mock 차단 테스트 PASS
- `python3 scripts/codex_gate_check.py --task-id task-2394` PASS
- `python3 scripts/g3_independent_verifier.py --task-id task-2394` PASS
- L1: `python3 scripts/ids_natural_routing.py` 직접 실행으로 5개 자연어 샘플 라우팅 출력 확인
