3.0 KiB
3.0 KiB
미개발 분류 (Gap Taxonomy) — 킨텍스
감사 시 각 지점을 아래 유형으로 분류하고 근거(파일:라인)와 심각도를 붙인다.
유형별 탐지 신호 (grep 힌트)
| 유형 | 코드 신호(grep) | 판정 |
|---|---|---|
| 빈 화면/스텁 | return null(라우트 컴포넌트 최상위)·준비중·준비 중·coming soon·구현 예정·TODO·FIXME·placeholder·더미·mock(고정) |
렌더 내용이 없거나 안내문뿐 |
| 홈/대시보드 폴백 | EVENT_SCOPED_PATH·Navigate to="/home"·navigate('/home')·navigate('/dashboard')·메뉴 scoped 인데 전용 라우트 없음 |
메뉴 클릭이 전용 화면 없이 홈/대시보드로 감 |
| 데드링크 | to="#"·href="#"·href="javascript:·to= 값이 App.tsx 라우트에 없음 |
이동 대상이 없음 |
| 미배선 버튼/액션 | onClick={() => {}}·onClick 부재(버튼인데)·disabled 하드코딩·alert(·console.log('TODO |
눌러도 동작 없음 |
| 미구현 API | 프론트 api.get/post('/api/...') 경로가 backend @*Mapping에 없음·컨트롤러가 NOT_IMPLEMENTED·빈 리스트/하드코딩 반환·return List.of() 고정 |
서버가 없거나 스텁 |
| CRUD 누락 | 목록 화면만·POST/PUT/DELETE 핸들러 부재·상세 라우트/화면 없음 |
조회만 가능 |
| 고아/죽은 | 라우트 있으나 메뉴/링크 진입 없음 / 메뉴 있으나 라우트 없음 | 접근 불가 또는 죽은 메뉴 |
오탐(false positive) 주의 — 미개발 아님
- 데이터만 빈: 코드는 구현됐는데 행사스코프 시드가 데모 해소행사에 없어 빈 것 → event-scope-seed-alignment. 미개발 아님, 데이터 이슈로 별도 표기(담당=testdata).
- 역할 게이트로 미노출: 권한상 안 보이는 것(관리자 전용 등)은 미개발 아님.
- degraded 폴백: API 실패 시 의도적 폴백(그라디언트·안내) 있는 것은 정상 처리.
- 의도적 외부/준비중: iOS TestFlight "준비중" 등 명시적 로드맵 항목은 "계획됨"으로 표기(미개발과 구분).
심각도
- P0: 핵심 업무 흐름(로그인 후 주요 도메인 진입·부스/옥션/정산/관람객 핵심 CRUD) 차단.
- P1: 주요 화면이 빈/폴백/데드링크. 메뉴에 있으나 동작 안 함.
- P2: 부가·엣지·관리자 세부·모바일 mock.
정본 대조
docs/PLANNING.md(M1~M18·§5B 공통·역할/트랙)·docs/design.md(SCR 인벤토리)에 있는데 미구현인 것을 최우선. 기획에 없는 것은 "범위 외"로 표기.
4자 체인 스캔 순서
AppShell.tsxGROUPS/NavItem → 메뉴·to·scoped목록App.tsx<Route>→ 라우트·컴포넌트 목록- 각 컴포넌트 파일 → 렌더 내용 판정(위 신호)
- 컴포넌트가 부르는
*Api.ts/api.*경로 → backend@*Mapping대조 - 공개 사이트:
PublicShell·screens/public/*동일 절차 - (선택)
mobile/app/*→ API 배선 여부