# task-2994 — InsuRo UI 전수 점검 (진단 전용 · 수정 금지)

**레벨**: Lv.2 (진단) · **팀**: dev5-team (마르둑) · **회장 지시** (2026-08-21)

## 배경 — 회장님이 직접 클릭하다 5건을 발견했다
엔진 완성도만 보고되고 **화면은 점검된 적이 없다.** 회장님이 메뉴를 눌러보다 아래를 찾아냈다.

| # | 발견된 문제 | ANU 실측 근거 |
|---|---|---|
| 1 | `신규설계 비교`가 **분석&도구**에 분류됨 | 배포본 `{path:"/new-design-comparison", section:"분석&도구"}`. 특정 고객의 기존계약을 전제하므로 **고객관리** 소속이어야 함 |
| 2 | 용어 불일치 | 같은 화면에서 제목은 "신규**설계** 비교", 입력 라벨은 "신규 **견적** JSON". 설계사에게 견적≠설계 |
| 3 | **신규설계 비교가 JSON 직접 입력** | 가입제안서·약관 PDF 업로드 UI가 **없음**. 설계사가 쓸 수 없는 개발자 화면 |
| 4 | `약관 업로드`가 설계사 메뉴에 노출 | `POST /api/insuro/policy-terms/upload` = **상품 지식 DB 적재**(보험사·상품명·상품코드·약관버전 입력). 관리 작업이지 일상 도구가 아님 |
| 5 | 약관 업로드 설명이 모순 | "업로드하면 판별축 확보 → **이후 보장분석 화면에서 증권과 함께 첨부하면**" = 같은 파일을 두 번 올리라는 뜻으로 읽힘 |

**이 5건은 이미 확정된 사실이다. 재발견에 시간 쓰지 말고 나머지를 찾아라.**

## 목표
**메뉴 전 화면을 실제로 열어보고 같은 유형의 문제를 전수 발굴한다.**
수정은 이 태스크 범위가 **아니다**. 진단 보고서만 낸다.

## 점검 기준 (화면마다 4가지)
1. **섹션 분류** — 이 화면이 속한 메뉴가 맞는가?
   - 판정 기준: **특정 고객을 전제로 하는가**(→ 고객관리) / **고객 무관 범용 도구인가**(→ 분석&도구) /
     **시스템에 데이터를 등록·관리하는가**(→ 관리자)
2. **용어 일관성** — 한 화면 안에서, 그리고 화면 간에 같은 개념을 같은 말로 쓰는가?
   - 특히 설계사 실무 용어: 설계/견적/증권/약관/제안서/담보/보장
3. **실사용 가능성** — **설계사가 이 화면만 보고 목적을 달성할 수 있는가?**
   - JSON·ID·내부 코드를 손으로 넣게 하면 **실패**로 판정한다
   - 필요한 입력 수단(파일 업로드·고객 선택 등)이 화면에 있는가
4. **설명↔동작 일치** — 화면 안내문이 실제 동작과 맞는가? (#5 유형)

## 방법
- **실브라우저로 직접 열어본다.** 번들 정적 분석만으로 끝내지 말 것.
  로그인이 필요하면 회장님 세션을 쓸 수 없으므로, **접근 가능한 범위까지 실제로 열고**
  나머지는 `src/pages/*.tsx` 소스와 `src/config/routes.ts` 로 보완한다. 어느 방식으로 판정했는지 화면마다 명시하라.
- 대상: `src/config/routes.ts` 의 **모든 라우트**. 관리자 전용 포함.
- 각 화면에 대해 위 4기준을 판정하고, 문제가 있으면 **근거(파일:줄 또는 스크린샷)** 를 첨부한다.

## 산출물
`memory/reports/task-2994.md` 에 다음을 담는다.
1. **전 라우트 점검표** — 경로 / 제목 / 현재 섹션 / 4기준 판정 / 판정 방식(실브라우저 or 소스)
2. **문제 목록** — 심각도별. 각 항목에 근거와 제안 조치
   - 심각도 기준: **설계사가 쓸 수 없음 > 분류 오류 > 용어 불일치 > 설명 부정확**
3. **회장님 발견 5건의 위치 확인** — 위 표에 포함시키되 재조사하지 말 것
4. **수정 제안 우선순위** — 무엇부터 고쳐야 하는가. 규모(작음/중간/큼) 표기

## 범위 · 금지 (엄수)
**이 태스크는 진단 전용이다.**
- **코드 수정 0줄.** `src/**` · `server/**` 어떤 파일도 고치지 말 것
- PR 생성 금지. 보고서만 낸다
- 발견한 문제를 "고치는 김에" 손대지 말 것 — 범위 폭발을 막는다
- 수정이 시급하다고 판단되면 **보고서에 적고 ANU 판단을 요청**하라

## allowed_resources (본 task의 capability)

```yaml
allowed_resources:
  paths:
    - "memory/reports/task-2994.md"
  forbidden_paths:
    - "src/**"
    - "server/**"
    - "supabase/**"
    - "ops/**"
    - "scripts/**"
    - ".github/**"
  commands:
    - "npx playwright"
    - "curl"
    - "git"
  merge_policy: "none"
  ttl_hours: 48
```

> 코드 변경이 없는 진단 태스크다. 저장소 파일을 수정하면 범위 위반이다.

## 운영 계약
- 저장소: `/home/jay/projects/InsuRo` (읽기 전용으로 다룰 것)
- 프로덕션: `https://insuro.biz`
- 워크플로우 `/home/jay/workspace/prompts/DIRECT-WORKFLOW.md` · QC `/home/jay/workspace/teams/shared/QC-RULES.md`
- ★ `gh` 호출 시 `GH_TOKEN="$BOT_GITHUB_TOKEN"` 주입 필수(회장 PAT 사용 금지)
- `WORKSPACE_ROOT=/home/jay/workspace` · `CHAT_ID=6937032012` · 수집자 key `ANU_KEY=c119085addb0f8b7`
- 완료 경로는 `finish-task.sh` 실행이 유일하다. 수동 `.done` 금지.

## 완료 조건
전 라우트 점검표 · 문제 목록(근거 첨부) · 판정 방식 명시 · 수정 우선순위 · **코드 변경 0줄**

## 보고
`memory/reports/task-2994.md` 작성 후 표준 완료 콜백 등록. 콜백 프롬프트 **UTF-8 3900 bytes 이하**.