hwss-investigation-agent-frontend
HWSS 프론트엔드 가이드
로컬 실행 방법, 화면마다 부르는 API, 폴더와 파일마다 맡은 역할을 정리했습니다. 역할 문장은 파일 맨 위 또는 첫 export 위 주석의 첫 문장을 옮겼고, UI 킷은 components/ui/README.md 에서 가져왔습니다. 파일 이름을 누르면 GitHub 소스로 가고, 최근 변경된 파일은 강조됩니다. 섹션 제목 옆 말풍선으로 댓글을, 이슈 버튼으로 GitHub 이슈를 남길 수 있습니다.
dev 기준 #2181 머지 11/13 17:36 · 커밋 b8b358b4 · 계기 Merge pull request #2181 from fdxchatgpt/feat/proto-front-parity-20261112
프로토·프론트 화면 차이 9건 동일화 (야간 20261112 아침 확인) 완료 · 2026-11-13 17:48 KST 빌드 · 빌드 런
화면이 데이터를 가져오는 길
proxy.ts1차 가드 — access 쿠키 없으면 /auth/startapp/…/page.tsx화면 진입점 →_components_lib/queries.tsqueryOptions →lib/api/client.ts(ky)/api/v1/*next.config.ts rewrites → 백엔드
화면은 백엔드 주소를 모릅니다. 같은 오리진의 /api/v1 로만 부르고 Next.js 가 넘깁니다. 백엔드 없이 개발할 때는 MSW 가 이 요청을 브라우저에서 가로챕니다.
폴더 이름이 뜻하는 것
- (auth)
- 로그인·온보딩 (URL 에 안 붙음)
- (workspace)
- 앱 쉘 안 화면
- (popup)
- 별도 창 화면
- _components
- 그 화면 전용 컴포넌트
- _lib
- 그 화면 쿼리·규칙
- [reportNo]
- 동적 경로 파라미터
- components/ui
- 프리미티브·UI 킷
- mocks/
- MSW 목 응답
- e2e/
- Playwright 스모크·수용 시나리오
시작하기
로컬 실행
Node 22 · pnpm(corepack) · 모든 명령은 hwss-investigation-agent-frontend/ 에서 실행
접속 주소
http://localhost:3000
로그인http://localhost:3000/login
/api/v1/* → BACKEND_ORIGIN (기본 http://localhost:8080, next.config.ts rewrites)http://localhost:3187 — pnpm test:e2e 가 MSW 를 켜고 자동 기동 (CI 는 빈 포트를 골라 E2E_PORT 로 넘김)백엔드 가이드 · 로컬 실행 · Swagger
브라우저는 같은 오리진의 /api/v1 로만 요청하고 Next.js 가 백엔드로 넘깁니다. 그래서 세션 쿠키(httpOnly)가 자동으로 붙고, 백엔드 주소를 바꿀 때는 BACKEND_ORIGIN 만 바꾸면 됩니다.
로그인과 가드
1차 가드 — proxy.ts 가 /user/*·/admin/*·/onboarding 요청에 access 쿠키가 없으면 /auth/start?from=원래경로 로 보냅니다. 이 진입점이 SSO 여부를 보고 WebAgent 콜백이나 로그인 화면으로 넘깁니다.
2차 가드 — 앱 쉘이 GET /api/v1/auth/me 로 세션을 확인합니다. 401 이면 재발급을 한 번 시도하고, 실패하면 로그인으로 보냅니다.
백엔드와 함께 띄울 때 로그인은 사번 H2016-0071(시드 시스템 관리자) / 비밀번호는 백엔드를 띄울 때 준 AUTH_LOCAL_PASSWORD 값입니다.
LNB 메뉴는 코드에 적혀 있지 않고 권한 API 응답으로 그립니다. 화면이 아직 없는 메뉴는 비활성으로 보이며, 화면을 붙일 때 components/common/workspace-menu.ts 의 MENU_ROUTES 에 한 줄 추가합니다.
개발 서버 띄우기
# 최초 1회 corepack enable pnpm install # ① 백엔드와 함께 — 백엔드(8080)를 먼저 띄운다 pnpm dev # ② 백엔드 없이 — MSW 가 /api/v1 요청을 가로채 계약 모양의 목 응답을 준다 NEXT_PUBLIC_API_MOCKING=enabled pnpm dev # ③ 다른 백엔드 주소로 BACKEND_ORIGIN=http://10.0.0.5:8080 pnpm dev
# 최초 1회 corepack enable pnpm install # ① 백엔드와 함께 — 백엔드(8080)를 먼저 띄운다 pnpm dev # ② 백엔드 없이 — MSW 목 응답 $env:NEXT_PUBLIC_API_MOCKING="enabled"; pnpm dev # ③ 다른 백엔드 주소로 $env:BACKEND_ORIGIN="http://10.0.0.5:8080"; pnpm dev
환경변수는 매번 앞에 붙이는 대신 .env.local 에 적어 둬도 됩니다(커밋되지 않음). ② 에서 아직 화면용 더미가 없는 엔드포인트도 계약 스켈레톤(mocks/handlers.generated.ts)이 성공 응답을 돌려주므로 404 가 나지 않습니다.
환경변수 lib/env.ts
BACKEND_ORIGIN | 선택 | 백엔드 origin — next.config.ts rewrites가 /api/v1을 이 주소로 프록시한다 — 값: URL, 기본 http://localhost:8080 |
AUTH_GUARD_DISABLED | 선택 | 백엔드 auth 구현 전 로컬 개발용 가드 해제 스위치 — 값: true / false, 기본 false |
NEXT_PUBLIC_API_MOCKING | 선택 | MSW 브라우저 모킹 활성화 (개발·E2E 전용, 클라이언트에서도 사용) — 값: enabled / disabled, 기본 disabled |
NEXT_DIST_DIR | 선택 | E2E 개발 서버가 일반 개발 서버와 빌드 잠금을 공유하지 않도록 분리한다. — 값: .next / .next-e2e, 기본 .next |
새 환경변수는 lib/env.ts 의 zod 스키마에 등록하고 env.X 로 읽습니다. process.env 를 직접 읽지 않습니다(클라이언트 컴포넌트의 NEXT_PUBLIC_* 만 예외). 시크릿에는 NEXT_PUBLIC_ 접두사를 붙이지 않습니다.
pnpm 명령 package.json scripts
pnpm dev | 명령 | 개발 서버 (http://localhost:3000). |
pnpm build | 명령 | 프로덕션 빌드 (standalone 출력 — Dockerfile 이 사용). |
pnpm start | 명령 | 빌드 결과 실행. |
pnpm lint | 명령 | ESLint — 역할 경계 import 규칙·TanStack Query 규칙 포함. |
pnpm format | 명령 | Prettier 일괄 적용. |
pnpm format:check | 명령 | 포맷이 안 된 파일 검사. |
pnpm typecheck | 명령 | TypeScript 타입 검사. |
pnpm test | 명령 | Vitest 단위·컴포넌트 테스트. |
pnpm test:coverage | 명령 | vitest run --passWithNoTests --coverage |
pnpm test:e2e | 명령 | bddgen 후 Playwright E2E(스모크·수용 시나리오) — MSW 를 켠 dev 서버(3187)를 자동 기동. 최초 1회 pnpm exec playwright install chromium. |
pnpm test:e2e:prod | 명령 | bddgen && E2E_SERVER=prod playwright test |
pnpm test:e2e:real | 명령 | bddgen && playwright test --project=real |
pnpm test:e2e:coverage | 명령 | bddgen && E2E_COVERAGE=1 playwright test && node --max-old-space-size=6144 scripts/e2e-coverage-report.mjs |
pnpm test:mutation | 명령 | stryker run |
pnpm openapi:gen | 명령 | 백엔드 openapi.json 스냅샷 → lib/api/schema.d.ts · mocks/handlers.generated.ts 생성. |
pnpm check:openapi | 명령 | 생성물이 스냅샷과 같은지 검사만 (갱신 안 함). |
pnpm check:design-tokens | 명령 | node scripts/check-design-tokens.mjs |
pnpm check:content-page | 명령 | node scripts/check-content-page.mjs |
pnpm check | 명령 | PR 전 전체 검사 — format:check → lint → typecheck → check:openapi → check:design-tokens → check:content-page → test → build. |
CI(.github/workflows/frontend-check.yml, 사내 러너)는 프론트 코드가 바뀐 PR·dev 푸시에서 pnpm check, pnpm check:openapi, pnpm test:e2e 를 돌립니다. 백엔드 API 계약이 바뀌면 백엔드에서 ./gradlew :hwss-api:exportOpenApiSpec 후 여기서 pnpm openapi:gen 을 같은 PR 에 커밋합니다.
시작하기
코드 배치·경계 규칙
원문: docs/guides/frontend-module-guide.md · docs/rules/frontend.md
코드를 어디에 둘까
app/<route>/_components | 한 화면에서만 쓰는 컴포넌트 |
app/<route>/_lib | 한 화면의 쿼리(queries.ts)·순수 계산·필터 규칙 |
components/user · admin | 한 콘솔의 여러 화면이 같이 쓰는 것 |
components/common | User·Admin 양쪽에서 실제로 같은 의미로 쓰는 것 (예상만으로 올리지 않는다) |
components/ui | shadcn 프리미티브와 UI 킷 — 업무 의미를 담지 않는다 |
lib/ | 유틸, API 클라이언트, 여러 화면이 함께 쓰는 쿼리(세션·메뉴·위탁사·컬렉션·챗봇 등) |
넘지 않는 경계 eslint no-restricted-imports
common · ui · lib | app·components/user·components/admin 를 import 하지 않는다 |
user ↔ admin | User 화면·컴포넌트와 Admin 화면·컴포넌트는 서로 import 하지 않는다 |
(popup) ↛ 다른 route · admin | 별도 창 화면은 다른 route·components/admin 을 import 하지 않는다 — 함께 쓰는 코드는 components/user 로 |
frontend ↔ backend | HTTP API 로만 통신한다 — 코드 직접 참조 금지 |
폴더 경계는 권한 보장이 아닙니다. 권한 검증은 서버(API)가 합니다.
상태는 섞지 않는다
서버 상태 | API 응답 — TanStack Query 캐시가 유일한 출처. 전역 스토어에 복사하지 않는다 |
URL 상태 | 공유·새로고침에 살아야 하는 조건(필터·쪽 번호) — search param (lib/url) |
폼 | React Hook Form + zod |
전역 UI | 여러 화면이 공유하는 UI 상태만 Zustand |
지역 상태 | 그 외는 useState 우선 |
API 호출
lib/api/client.ts | 유일한 호출 경로(ky) — apiGet·apiPost… 401 이면 재발급 후 재시도, success:false 는 오류로 던진다 |
_lib/queries.ts | 화면별 queryOptions 팩토리. queryFn 안에서 fetch 를 직접 쓰지 않는다 |
lib/api/schema.d.ts | 백엔드 OpenAPI 스냅샷에서 생성한 타입 — 손으로 고치지 않는다 |
테스트 배치: 순수 함수는 옆에 Vitest, 상호작용은 Testing Library, API 의존 컴포넌트는 MSW(mocks/server.ts), 핵심 흐름·수용 시나리오(e2e/features/**/*.feature)는 Playwright(e2e/).
변경 추적
최근 변경
최근 14일 · PR 320건 (최근 20건 표시)
dev 에 머지된 PR 중 이 가이드 범위의 파일을 바꾼 것입니다. 파일을 누르면 아래 해당 행으로 이동하고, 7일 이내에 바뀐 파일 행은 주황색으로 강조됩니다. PR 제목은 로그인하면 보입니다.
화면 · API
화면 지도
라우트 → 호출 API → 백엔드 컨트롤러 → E2E
화면마다 부르는 API — 각 라우트 폴더(_lib·_components 포함)의 apiGet·apiPost… 호출을 모아 백엔드 OpenAPI 계약의 컨트롤러와 짝지었습니다. 컨트롤러 이름을 누르면 백엔드 가이드의 해당 파일 행으로 갑니다. 메뉴 표시는 LNB 메뉴 코드(MENU_ROUTES)입니다.
/auth/resumepage.tsx | 루트 | 세션 이어받기 — `proxy.ts` 가 access 쿠키 없는 화면 요청을 여기로 보낸다. |
/auth/unregisteredpage.tsx | 루트 | SSO 로그인은 됐지만 사용자 디렉터리(스마트심사 뷰)에 없거나 비활성인 사번 — 백엔드 SSO 콜백이 여기로 보낸다 (S-008 2-2). E2E account.spec.ts |
/loginpage.tsx | 인증 | 로그인 화면. E2E login.spec.ts · account.spec.ts |
/onboardingpage.tsx | 인증 | 최초 로그인 온보딩 화면. |
/user/investigations/analysis-conditionspage.tsx | User | `사전분석조건` 열람 창 — 워크스페이스 상단에서 `window.open` 으로 띄운다(기준선 「워크스페이스 공통 — 상단」 동작 2번). |
/user/investigations/report-before-changepage.tsx | User | `변경 전 보기` 창 — 사고조사 화면의 반영 하이라이트 바가 `window.open` 으로 띄운다(결정 20261020). |
/user/investigations/report-snapshotpage.tsx | User | `AI 보고서 다시 보기` 창 — 보고서 초안 화면이 `window.open` 으로 띄운다(프로토타입 `report-snapshot` 팝업). |
/admin/agent-studiopage.tsx메뉴 AGENT_MANAGEMENT | Admin | LNB `에이전트 스튜디오` 의 대표 주소 — 첫 탭(스키마 정의)으로 보낸다.GETadmin/agent-studio/document-type-schemas/{…}/studio-configs → openapi 에 없음POST{…}/classify/shape-alignment → openapi 에 없음POST{…}/classify/studio-configs → openapi 에 없음GET{…}/classify/studio-configs/{…} → openapi 에 없음POST{…}/extract/studio-configs → openapi 에 없음GET{…}/extract/studio-configs/{…} → openapi 에 없음DELETE{…}/{…} → openapi 에 없음GET{…}/{…} → openapi 에 없음PATCH{…}/{…} → openapi 에 없음POST{…}/{…}/classify → openapi 에 없음PUT{…}/{…}/classify/pages → openapi 에 없음POST{…}/{…}/extract → openapi 에 없음PUT{…}/{…}/extract/fields → openapi 에 없음POST{…}/{…}/extract/fields/confirm → openapi 에 없음POST{…}/{…}/files → openapi 에 없음DELETE{…}/{…}/files/{…} → openapi 에 없음GET{…}/{…}/files/{…}/content → openapi 에 없음POST{…}/{…}/report → openapi 에 없음POST{…}/{…}/report/tabs/{…}/run → openapi 에 없음 |
/admin/agent-studio/schemapage.tsx | Admin | 보고서 설정 위탁사를 URL search param(`?company=`)으로 받으므로 본체는 Suspense 경계 안에 둔다. |
/admin/agent-studio/testpage.tsx | Admin | /admin/agent-studio/test 화면 진입점. |
/admin/application-formspage.tsx메뉴 APPLICATION_FORM | Admin | /admin/application-forms 화면 진입점. |
/admin/approval-centerpage.tsx메뉴 APPROVAL_CENTER | Admin | 상태 필터는 서버에서 읽어 넘긴다 — 클라이언트 화면이 `useSearchParams` 를 쓰지 않아 Suspense 경계가 필요 없고, 모르는 값(오래된 링크·손으로 고친 주소)은 여기서 기본값으로 떨어진다.POST{…}/approve → openapi 에 없음GET{…}/files/{…}/content → openapi 에 없음POST{…}/reject → openapi 에 없음 |
/admin/approval-center/reviewpage.tsx | Admin | 검토할 요청은 `?id=` 로 받는다(프로토타입 경로 그대로). |
/admin/audit-logspage.tsx메뉴 AUDIT_LOG | Admin | /admin/audit-logs 화면 진입점. |
/admin/classification-mappingspage.tsx메뉴 CLASSIFICATION_MAPPING | Admin | 고른 위탁사를 URL search param 으로 읽으므로(`useSearchParams`) 본체는 Suspense 경계 안에 둔다. |
/admin/client-workspacepage.tsx메뉴 CLIENT_WORKSPACE | Admin | /admin/client-workspace 화면 진입점. |
/admin/dashboard/lifecyclepage.tsx | Admin | /admin/dashboard/lifecycle 화면 진입점. |
/admin/dashboardpage.tsx메뉴 DASHBOARD | Admin | 통계 대시보드는 메뉴 `DASHBOARD`의 독립 URL이다. |
/admin/dashboard/unmappedpage.tsx | Admin | /admin/dashboard/unmapped 화면 진입점. |
/admin/hospital-aliasespage.tsx메뉴 HOSPITAL_ALIAS | Admin | 관리자 · 병원 명칭 매핑 (`/admin/hospital-aliases`) — 결정 [20260910 병원 마스터 매칭](docs/decisions/20260910-hospital-master-matching.md) §6, 프로토타입 `app/(workspace)/admin/hospital-a… |
/admin/knowledgepage.tsx메뉴 KNOWLEDGE_MANAGEMENT | Admin | 열린 폴더를 URL search param 으로 읽으므로(`useSearchParams`) 본체는 Suspense 경계 안에 둔다 — 경계가 없으면 프리렌더 단계에서 빌드가 막힌다. |
/admin/mail-accountpage.tsx메뉴 MAIL_ACCOUNT | Admin | 프로토타입 기준: 좌측 통합 설정 폼, 우측 실제 발송 로그. |
/admin/organizationpage.tsx메뉴 ORGANIZATION | Admin | /admin/organization 화면 진입점. |
/adminpage.tsx | Admin | `/admin`은 화면이 아니라 권한 기반 콘솔 진입점이다. |
/admin/permissionspage.tsx메뉴 PERMISSION | Admin | /admin/permissions 화면 진입점. |
/admin/report-disposal-logspage.tsx메뉴 REPORT_DISPOSAL_LOG | Admin | /admin/report-disposal-logs 화면 진입점. |
/admin/report-send-logspage.tsx메뉴 REPORT_SEND_LOG | Admin | 조건·쪽 번호를 URL search param 으로 읽으므로(`useSearchParams`) 본체는 Suspense 경계 안에 둔다. |
/admin/report-typespage.tsx메뉴 REPORT_TYPE | Admin | 관리자 · 보고서 유형 설정 (`/admin/report-types`) — 야간 20260930 NT02. |
/user/agent/[sessionId]page.tsx | User | /user/agent/[sessionId] 화면 진입점. |
/user/agentpage.tsx메뉴 AGENT | User | 에이전트 — 새 대화 시작 (`/user/agent`). |
/user/conversationspage.tsx메뉴 USAGE_HISTORY | User | 조건·쪽 번호를 URL search param 으로 읽으므로(`useSearchParams`) 본체는 Suspense 경계 안에 둔다. |
/user/investigations/[reportNo]page.tsx | User | 사고조사 워크스페이스 (P1-2). E2E analysis-condition-question-toggle.spec.ts · investigation-workspace.spec.ts · journey.spec.ts · image-system-integration.spec.ts · report-draft-essential.spec.ts · workspace-classification-essential.spec.ts · workspace-extraction-essential.spec.ts · workspace-intake-essential.spec.ts · workspace-viewer.spec.ts · screen-min-width.spec.ts |
/user/investigationspage.tsx메뉴 INVESTIGATION_AGENT | User | 조건·쪽 번호를 URL search param 으로 읽으므로(`useSearchParams`) 본체는 Suspense 경계 안에 둔다. E2E investigation-list.spec.ts · investigation-workspace.spec.ts · login.spec.ts · access.spec.ts · account.spec.ts · investigation-list.spec.ts · full-journey.spec.ts · image-system-integration.spec.ts · investigation-list-essential.spec.ts · workspace-viewer.spec.ts · screen-min-width.spec.ts · smoke.spec.ts · user-collections.spec.ts |
/user/knowledgepage.tsx메뉴 KNOWLEDGE_COLLECTION | User | 탭 상태를 URL search param 으로 읽으므로(`useSearchParams`) 목록 본체는 Suspense 경계 안에 둔다. |
/userpage.tsx | User | `/user`는 화면이 아니라 권한 기반 콘솔 진입점이다. |
/user/profilepage.tsx | User | 내 정보 (`/user/profile`) — 사용자 카드가 가리키는 읽기 전용 화면. |
/page.tsx | 루트 | / 화면 진입점. |
components/user/investigation/ | 공용 | 여러 화면이 함께 쓰는 호출POSTinvestigation-reports/{…}/classification-results/latest/ai-confirmations → ClassificationResultControllerPOSTinvestigation-reports/{…}/classification-results/latest/manual-assignments → ClassificationResultControllerPOSTinvestigation-reports/{…}/extraction-results/latest/field-corrections → ExtractionResultControllerPUT{…}/cards/{…}/items/{…} → openapi 에 없음PUT{…}/cards/{…}/items/{…}/report-reflection → openapi 에 없음POST{…}/confirmation → openapi 에 없음POST{…}/confirmation-reset → openapi 에 없음PUT{…}/latest → openapi 에 없음POST{…}/latest/discard → openapi 에 없음PUT{…}/latest/sections/{…} → openapi 에 없음POST{…}/latest/sections/{…}/revert → openapi 에 없음PUT{…}/report-reflection → openapi 에 없음 |
lib/auth/ | 공용 | 여러 화면이 함께 쓰는 호출 |
lib/chat/ | 공용 | 여러 화면이 함께 쓰는 호출 |
lib/collection-approvals/ | 공용 | 여러 화면이 함께 쓰는 호출 |
lib/collection-folders/ | 공용 | 여러 화면이 함께 쓰는 호출GET{…}/deletion-summary → openapi 에 없음 |
lib/collections/ | 공용 | 여러 화면이 함께 쓰는 호출POST{…}/delete → openapi 에 없음POST{…}/description/generate → openapi 에 없음GET{…}/download → openapi 에 없음POST{…}/file-approvals → openapi 에 없음POST{…}/files → openapi 에 없음POST{…}/reindex → openapi 에 없음GET{…}/status → openapi 에 없음 |
lib/customer-companies/ | 공용 | 여러 화면이 함께 쓰는 호출 |
lib/customer-onboarding/ | 공용 | 여러 화면이 함께 쓰는 호출 |
lib/diseases/ | 공용 | 여러 화면이 함께 쓰는 호출 |
lib/hospital-master/ | 공용 | 여러 화면이 함께 쓰는 호출GET{…}/regions → openapi 에 없음 |
lib/mail-account/ | 공용 | 여러 화면이 함께 쓰는 호출 |
화면 · API
아직 화면이 부르지 않는 API
백엔드 계약 240개 중 116개
백엔드에는 있지만 어느 화면도 부르지 않는 엔드포인트 — 화면을 붙일 차례인 API 를 찾을 때 봅니다. 주소를 변수로 조합해 부르는 호출은 잡히지 않을 수 있습니다.
루트
hwss-investigation-agent-frontend/GitHub
빌드·린트·테스트·배포 설정
(루트)56GitHub
앱 루트 — 루트 레이아웃, Provider(TanStack Query·MSW), 전역 스타일.
app/ · 화면
app/ (루트·앱 쉘)GitHub
루트 레이아웃·Provider·(workspace) 공통 레이아웃·(popup) 별도 창 화면
app/9GitHub
앱 루트 — 루트 레이아웃, Provider(TanStack Query·MSW), 전역 스타일.
layout.tsx이력0.0% | 레이아웃 | / 아래 화면이 함께 쓰는 레이아웃. |
page.tsx이력0.0% | 화면 | / 화면 진입점. |
globals.css이력2일 전 · #2118 | 스타일 | Tailwind·shadcn 테마 토큰과 전역 스타일. |
error.tsx이력테스트100.0% | 컴포넌트 | 설명 주석 없음 |
global-error.tsx이력테스트100.0% | 컴포넌트 | 설명 주석 없음 |
msw-provider.tsx이력테스트100.0% | 컴포넌트 | NEXT_PUBLIC_API_MOCKING=enabled일 때만 MSW 워커를 기동한다. |
not-found.tsx이력테스트100.0% | 컴포넌트 | 설명 주석 없음 |
providers.tsx이력0.0% | 컴포넌트 | 설명 주석 없음 |
favicon.ico이력 | 파일 | 파비콘. |
app/(popup)/user/1GitHub
/user 화면.
layout.tsx이력0.0%6일 전 · #1939 | 레이아웃 | 보조 창도 사용자 콘솔 화면이라 **같은 메뉴 가드**를 거친다 — 앱 쉘(LNB)만 없다. |
app/(popup)/user/investigations/analysis-conditions/1GitHub
/user/investigations/analysis-conditions 화면.
app/(popup)/user/investigations/analysis-conditions/_components/1GitHub
/user/investigations/analysis-conditions 화면에서만 쓰는 컴포넌트.
analysis-conditions-view.tsx이력96.8%6일 전 · #1955 | 컴포넌트 | `사전분석조건` 열람 — 저장된 분석 요청(조건)을 **읽기 전용**으로 그린다(기준선 「워크스페이스 공통 — 상단」 동작 2번: 전 필드 잠금·실행 버튼 없음·계약 전부 펼침). |
app/(popup)/user/investigations/report-before-change/1GitHub
/user/investigations/report-before-change 화면.
app/(popup)/user/investigations/report-before-change/_components/1GitHub
/user/investigations/report-before-change 화면에서만 쓰는 컴포넌트.
report-before-change-view.tsx이력100.0%3일 전 · #2094 | 컴포넌트 | `변경 전 보기` 창 본문 — 챗봇 `AI 보고서 반영` 직전 요약 판을 `AI 보고서 확인` 단계 모양 그대로 읽기 전용으로 그린다 (결정 20261020 2항). |
app/(popup)/user/investigations/report-snapshot/1GitHub
/user/investigations/report-snapshot 화면.
app/(popup)/user/investigations/report-snapshot/_components/1GitHub
/user/investigations/report-snapshot 화면에서만 쓰는 컴포넌트.
report-snapshot-view.tsx이력100.0%3일 전 · #2094 | 컴포넌트 | `AI 보고서 다시 보기` 창 본문 — 초안의 근거가 된 요약 버전에서 **반영한 항목만** 읽기 전용으로 그린다(화면 안 창과 같은 `ReportSnapshot`). |
app/(popup)/user/investigations/_components/3GitHub
/user/investigations 화면에서만 쓰는 컴포넌트.
popup-missing-target.tsx이력테스트100.0%6일 전 · #1955 | 컴포넌트 | 팝업 창을 띄운 쪽이 건(·판)을 넘기지 않았을 때(주소를 직접 고친 경우)의 화면 — 조회할 대상이 없어 경고 안내만 보인다. |
popup-window-header.tsx이력테스트100.0%6일 전 · #1950 | 컴포넌트 | 사고조사 화면에서 띄우는 읽기 전용 팝업 창(`AI 보고서 다시 보기`·`챗봇 반영 전 보고서`)의 머리말 — 제목·안내 줄과 오른쪽 닫기 아이콘 버튼. |
use-report-evidence-source.ts이력테스트100.0%4일 전 · #1999 | 훅 | 보고서 팝업 창(`AI 보고서 다시 보기`·`챗봇 반영 전 보고서`)이 근거를 이 창 안의 모달 문서 뷰어로 열 때 쓰는 세 가지를 만든다. |
app/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/1GitHub
/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709 화면.
results.json이력 | 파일 | 설명 주석 없음 |
app/ · 화면
app/(auth)/GitHub
로그인·최초 로그인 온보딩
app/(auth)/auth/resume/1GitHub
/auth/resume 화면.
page.tsx이력테스트100.0%3일 전 · #2097 | 화면 | 세션 이어받기 — `proxy.ts` 가 access 쿠키 없는 화면 요청을 여기로 보낸다. |
app/(auth)/auth/resume/_components/1GitHub
/auth/resume 화면에서만 쓰는 컴포넌트.
session-resume.tsx이력테스트95.7%3일 전 · #2097 | 컴포넌트 | 화면 이동 — 테스트가 갈아 끼울 수 있게 객체로 둔다(`vi.spyOn(resumeNavigation, "replace")`). |
app/(auth)/auth/start/1GitHub
/auth/start 화면.
route.ts이력테스트100.0%2일 전 · #2114 | 모듈 | 로그인 진입점 — 세션이 없을 때 `proxy.ts`·`lib/api/client.ts` 가 모두 여기로 보낸다(S-008 2-2). |
app/(auth)/auth/unregistered/1GitHub
/auth/unregistered 화면.
app/(auth)/login/_components/1GitHub
/login 화면에서만 쓰는 컴포넌트.
login-form.tsx이력테스트98.1%오늘 · #2181 | 컴포넌트 | SSO 로그인 폼이 제출되는 백엔드 경로 — 응답은 login.fcc 자동 제출 HTML 이다(S-008 2-2). |
app/(auth)/onboarding/_components/1GitHub
/onboarding 화면에서만 쓰는 컴포넌트.
onboarding-form.tsx이력테스트95.0%오늘 · #2181 | 컴포넌트 | 설명 주석 없음 |
app/ · 화면
app/(workspace)/user/GitHub
User Console 화면
app/(workspace)/user/3GitHub
/user 화면.
layout.tsx이력0.0%6일 전 · #1939 | 레이아웃 | /user 아래 화면이 함께 쓰는 레이아웃. |
page.tsx이력0.0% | 화면 | `/user`는 화면이 아니라 권한 기반 콘솔 진입점이다. |
error.tsx이력테스트100.0% | 컴포넌트 | 콘솔 레이아웃(쉘) 안쪽 오류 경계 — 화면 하나의 렌더링 오류가 LNB 까지 지우지 않게 한다. |
app/(workspace)/user/agent/1GitHub
/user/agent 화면.
page.tsx이력테스트97.1%2일 전 · #2108 | 화면 | 에이전트 — 새 대화 시작 (`/user/agent`). |
app/(workspace)/user/agent/[sessionId]/1GitHub
/user/agent/[sessionId] 화면.
page.tsx이력테스트97.9%2일 전 · #2108 | 화면 | /user/agent/[sessionId] 화면 진입점. |
app/(workspace)/user/agent/_components/7GitHub
/user/agent 화면에서만 쓰는 컴포넌트.
chat-composer.tsx이력96.8%4일 전 · #2040 | 컴포넌트 | 질문 입력 — 프로토타입 `ChatComposer` 의 배치(입력칸 + 하단 칩 줄 + 원형 전송 버튼)를 따른다. |
chat-conversation.tsx이력96.0%6일 전 · #1939 | 컴포넌트 | 주고받은 줄을 아래로 누적해 그린다 — 야간 20260930 NX03. |
chat-delete-header-button.tsx이력100.0%2일 전 · #2108 | 컴포넌트 | 답변을 기다리는 동안 머리줄 `대화 삭제`가 잠긴 이유. |
chat-screen-frame.tsx이력100.0%2일 전 · #2108 | 컴포넌트 | 대화 화면의 틀 — 프로토타입 `agent-chat-screen` 의 머리줄·배경·입력창 페이드를 따른다. |
chat-source-list.tsx이력테스트91.3%5일 전 · #1975 | 컴포넌트 | 답변 근거 목록 — 프로토타입 근거 칩(`지식컬렉션` 표식 + 문서명 + `p.N` + 펼침 화살표)의 모양을 따른다. |
knowledge-collection-dialog.tsx이력100.0% | 컴포넌트 | 에이전트 대화의 배경지식(지식 컬렉션) 고르기 — 문서보관함 팝업(`KnowledgeFilePicker`)에 대화의 규칙을 얹는다. |
chat-sent-attachments.test.tsx이력 | 테스트 | ChatSentAttachments |
app/(workspace)/user/agent/_lib/9GitHub
/user/agent 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
answer-stream.ts이력테스트98.1% | 모듈 | SSE 본문을 이벤트 단위로 나눈다. |
ask-stage.ts이력92.3% | 모듈 | 질문 전송이 지금 어느 단계인지 — 대기 줄의 안내 문구를 고른다. |
chat.ts이력테스트100.0%4일 전 · #2040 | 모듈 | 에이전트 채팅 화면이 응답을 읽는 규칙 — 야간 20260930 NX03. |
context-capacity.ts이력테스트100.0% | 모듈 | 범용 대화 용량 — 화면이 그리는 막대·이어 가기 안내와 입력 잠금(결정 20261102-agent-chat-context-capacity). |
queries.ts이력98.1% | 쿼리 | 목록 계열(LNB `최근 항목`·사용 내역)을 무효화한다. |
ask-chat-mutation.test.ts이력 | 테스트 | sendChatQuestion — 새 대화가 미리 준비한 첨부 |
ask-chat-request.test.ts이력 | 테스트 | 질문 전송 요청 — 10초 timeout 없이 보낸다 |
title-refresh.test.ts이력 | 테스트 | 맥락의 첫 답변 판정 |
use-session-knowledge.ts이력100.0% | 훅 | 진행 중인 대화의 배경지식 바꾸기 — 사고조사 챗봇의 「참조 지식컬렉션」과 같은 흐름이다(결정 20261019 「개정 2026-10-28」). |
app/(workspace)/user/conversations/1GitHub
/user/conversations 화면.
page.tsx이력테스트100.0%3일 전 · #2094 | 화면 | 조건·쪽 번호를 URL search param 으로 읽으므로(`useSearchParams`) 본체는 Suspense 경계 안에 둔다. |
app/(workspace)/user/conversations/_components/2GitHub
/user/conversations 화면에서만 쓰는 컴포넌트.
usage-history-view.tsx이력97.9%2일 전 · #2122 | 컴포넌트 | 사용 내역 (`/user/conversations`). |
usage-list-skeleton.tsx이력66.7%3일 전 · #2094 | 컴포넌트 | 사용 내역 행 자리 — 실제 행(`h-18`: 구분 아이콘 · 제목·구분 두 줄 · 오른쪽 시각)과 같은 틀. |
app/(workspace)/user/conversations/_lib/2GitHub
/user/conversations 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
usage-filter.ts이력테스트100.0% | 모듈 | 사용 내역(`/user/conversations`)의 조회 조건을 URL search param 에 싣는 규칙 — 사고조사 목록과 같은 방식 (`docs/guides/frontend-module-guide.md` §6 — 공유 가능한 화면 조건은 URL 이 소유한다). |
usage-retention.ts이력테스트100.0% | 모듈 | 사용 내역 행의 보관 만료 표시 규칙(결정 20261023 2·3항). |
app/(workspace)/user/investigations/1GitHub
/user/investigations 화면.
page.tsx이력테스트100.0%6일 전 · #1939 | 화면 | 조건·쪽 번호를 URL search param 으로 읽으므로(`useSearchParams`) 본체는 Suspense 경계 안에 둔다. |
app/(workspace)/user/investigations/[reportNo]/16GitHub
/user/investigations/[reportNo] 화면.
page.tsx이력테스트0.0% | 화면 | 사고조사 워크스페이스 (P1-2). |
workspace-analysis-conditions.test.tsx이력 | 테스트 | 상단 `사전분석조건` |
workspace-analysis.test.tsx이력어제 · #2148 | 테스트 | 추출완료 워크스페이스 |
workspace-arrow-keys.test.tsx이력어제 · #2162 | 테스트 | 낱장 키보드 이동 |
workspace-change-detected-bar.test.tsx이력2일 전 · #2113 | 테스트 | 추가 서류 감지 상단 바 |
workspace-chat-dock.test.tsx이력5일 전 · #1975 | 테스트 | 워크스페이스 우측 사고조사 챗봇 독 |
workspace-classification.test.tsx이력오늘 · #2181 | 테스트 | 미분류검출 워크스페이스 |
workspace-disclosure-room.test.tsx이력 | 테스트 | 상단 `공시실` |
workspace-initial-collapse.test.tsx이력 | 테스트 | 워크스페이스 처음 접힘 |
workspace-low-confidence-field.test.tsx이력어제 · #2147 | 테스트 | 추출 검수 — 저신뢰 항목 바로가기의 필드 강조 |
workspace-reanalysis.test.tsx이력5일 전 · #1981 | 테스트 | 상단 `다시 분석` 그룹의 단계별 모양 |
workspace-reclassification-reserved.test.tsx이력 | 테스트 | 재분류 예약 안내 |
workspace-saved-edit-gate.test.tsx이력7일 전 · #1871 | 테스트 | 강제 게이트 — 분류 ~ 추출 완료 |
workspace-summary-source.test.tsx이력4일 전 · #2008 | 테스트 | 요약 근거·스캔 문서함 — 뷰어가 열리는 자리 |
workspace-transfer-lock.test.tsx이력 | 테스트 | 보고서 전송 완료 — 문서함 폭 잠금 |
workspace-view-only.test.tsx이력오늘 · #2189 | 테스트 | 조회 전용 워크스페이스 |
app/(workspace)/user/investigations/[reportNo]/_components/45GitHub
/user/investigations/[reportNo] 화면에서만 쓰는 컴포넌트.
analysis-conditions-button.tsx이력100.0%4일 전 · #2043 | 컴포넌트 | 상단 `사전분석조건` 버튼 — 펼친 GNB(상태 뱃지 오른쪽, `다시 분석` 그룹 뒤)와 접힌 슬림 바 두 곳에 같은 버튼이 선다(기준선 「워크스페이스 공통 — 상단」). |
analysis-summary-center.tsx이력테스트93.3%2일 전 · #2124 | 컴포넌트 | 요약·해석 센터 — `AI 보고서 확인` 부터 `보고서 전송 완료` 까지 네 단계를 한 화면이 맡는다 (S-014 §6·§7, 화면 계획 「AI 보고서」·「보고서 검수」·「보고서 초안 편집」·「전송」, work-plan 「요약·해석 화면 본격 구현」 ④). |
center-header.tsx이력테스트100.0% | 컴포넌트 | 결과 센터(분류 확인·추출완료·분석완료)의 머리 — 원형 아이콘 + 20px 제목 + 설명 한 줄. |
classification-issue-dialog.tsx이력테스트93.8%오늘 · #2181 | 컴포넌트 | `정보 추출 진행 불가` — 프로토타입 `ClassificationIssueModal`. |
classification-panel.tsx이력테스트98.1%오늘 · #2181 | 컴포넌트 | 뷰어 오른쪽 `문서 분류` 패널 — 프로토타입 document-viewer 의 「문서 분류값」 자리. |
classification-review-actions.tsx이력100.0%오늘 · #2181 | 컴포넌트 | `정보 추출` 이 막힌 기본 사유 — 미분류·저신뢰가 남아 있을 때. |
classification-review-center.tsx이력테스트100.0%오늘 · #2181 | 컴포넌트 | 분류 확인 화면 (W07) — `미분류검출` 센터. |
classification-select.tsx이력100.0% | 컴포넌트 | `문서 분류값` 검색 입력(부분 일치 자동완성) + Select — 분류 검수의 `ClassificationPanel` 과 추출 이후의 `ExtractionPanel` 이 함께 쓴다. |
concurrency-limit-notice.tsx이력테스트100.0% | 컴포넌트 | 동시 작업 한도 경고 — 화면 맨 위 가운데에 떠서 4.2초 뒤 사라진다(프로토타입 `workspace-client` 의 경고 띠, WBS 29.12.3). |
disclosure-room-button.tsx이력100.0%4일 전 · #2043 | 컴포넌트 | `공시실` 버튼 — 접힌 슬림 바와 요약·보고서 센터의 단계 안내 줄 두 곳에 같은 버튼이 선다 (기준선 「워크스페이스 공통 — 상단」 슬림 바 · 「AI 보고서」·「보고서 검수」·「보고서 초안 편집」 구성). |
document-box-section.tsx이력95.2%어제 · #2150 | 컴포넌트 | 문서함 섹션 하나 — 머리(폴더 또는 병원 제목·장수)와 그 안의 낱장 평면 목록. |
document-box.tsx이력테스트100.0%오늘 · #2181 | 컴포넌트 | 스캔 문서함 — 프로토타입 `document-panel` 의 배치를 따른다. |
document-page-risk-tags.tsx이력테스트100.0%2일 전 · #2102 | 컴포넌트 | 낱장 행의 위험 태그 — 파일명 말줄임 영역 밖에 놓인다(결정 20261109-low-confidence-row-text-tags). |
document-page-row.tsx이력97.6%어제 · #2150 | 컴포넌트 | 문서함 낱장 한 행 — 그룹 박스 머리(이 낱장이 박스의 첫 장일 때)와 낱장 줄을 함께 그린다. |
extraction-panel.tsx이력테스트97.1%3일 전 · #2094 | 컴포넌트 | 뷰어 오른쪽 `정보추출 결과 · 편집` 패널 — 프로토타입 document-viewer 의 추출값 패널을 따른다. |
extraction-review-center.tsx이력테스트100.0%어제 · #2152 | 컴포넌트 | 추출완료 화면 (N06) — `EXTRACTION_COMPLETED` 센터. |
hospital-match-dialog.tsx이력테스트91.5%어제 · #2135 | 컴포넌트 | `분석 요청 전 확인 — 병원 지정` — 프로토타입 `HospitalMatchingModal`. |
insured-mismatch-confirm-dialog.tsx이력83.3%어제 · #2162 | 컴포넌트 | `분석 요청 전 확인 — 피보험자와 다른 이름` — 프로토타입 `ReferenceMismatchModal`. |
investigation-chat-dock.tsx이력테스트96.2%4일 전 · #2040 | 컴포넌트 | 설명 주석 없음 |
investigation-workspace.tsx이력96.8%오늘 · #2181 | 컴포넌트 | 사고조사 워크스페이스 — 프로토타입 workspace-client 의 골격(GNB 70px + 스테퍼 68px + 좌 문서 패널 / 중앙 상태 센터 / 우 사고조사 챗봇 독)을 따르는 풀블리드 화면. |
low-confidence-confirm-dialog.tsx이력100.0%어제 · #2152 | 컴포넌트 | `분석 요청 전 확인 — 저신뢰 추출 항목` — 프로토타입 `LowConfidenceExtractionConfirmationModal`. |
page-edit-card.tsx이력100.0%4일 전 · #2043 | 컴포넌트 | `문서 편집 · 저장 전 N건` 카드 — 문서함 목록 맨 위에 선다(기준선 「저장 전에는 목록 맨 위 … 카드에 변경 목록과 `되돌리기`·`편집 저장` 을 두고, 다음 단계 버튼은 모두 막는다」). |
page-image-viewer.tsx이력테스트95.2%오늘 · #2181 | 컴포넌트 | 드래그한 패널 너비를 허용 범위로 자른다. |
processing-failure-dialog.tsx이력테스트100.0%5일 전 · #1987 | 컴포넌트 | 실패 안내의 조치 — 모달과 실패 센터가 같은 값을 받는다. |
reanalysis-actions.tsx이력테스트100.0%2일 전 · #2113 | 컴포넌트 | 상단 `다시 분석` 그룹(S-012 §4-1) — 펼친 GNB(상태 뱃지 오른쪽)와 접힌 슬림 바 두 곳에 같은 그룹이 선다. |
reanalysis-confirm-dialog.tsx이력테스트100.0%2일 전 · #2113 | 컴포넌트 | `다시 분석` 실행 전 확인 창(S-012 §4-2) — `증분` 은 요약이 만들어진 뒤에만, 나머지 범위는 항상 거친다. |
report-draft-editor.tsx이력테스트100.0%2일 전 · #2121 | 컴포넌트 | 초안 편집기가 요구하는 조치 — 읽기 전용이면 넘기지 않는다. |
report-generating-center.tsx이력100.0%4일 전 · #2018 | 컴포넌트 | 보고서 생성이 거치는 단계 — 프로토타입 `workflow-status-centers.tsx` 의 `summarizing` 단계 그대로다. |
report-mail-confirm-dialog.tsx이력100.0%7일 전 · #1871 | 컴포넌트 | `메일 전송` 확인 창 — 프로토타입 `SmartReviewModal` 과 같은 틀(전송 대상·보고서 버전, `취소`·`전송하기`)에 받는 사람을 더한다. |
report-reflection-bar.tsx이력100.0%4일 전 · #2043 | 컴포넌트 | 챗봇 `AI 보고서 반영` 하이라이트 바 — `변경`·`추가` 범례, 바뀐 줄 수, `변경 전 보기`, `표시 끄기`(결정 20261008 3·4항, 20261020 1항). |
resize-rail.tsx이력테스트100.0% | 컴포넌트 | 패널 사이 세로 경계 — 끌어서 폭을 바꾸고, 더블클릭으로 기본 폭으로 돌린다. |
saved-page-edit-gate-card.tsx이력100.0%4일 전 · #2043 | 컴포넌트 | 문서함에 내려 주는 게이트 한 벌 — 꼴과 실행 경로를 함께 든다. |
slim-bar-stage-actions.tsx이력100.0% | 컴포넌트 | 접힌 슬림 바의 단계 액션 자리 — 상단을 접으면 센터의 단계 안내 줄도 함께 접히므로(기준선 「슬림 바 … 센터의 단계 안내 줄도 함께 접힌다」), 그 줄의 단계 버튼(`AI 보고서 생성 완료`·`초기화`·`보고서 항목 선택 완료`·`AI 보고서 다시 보기`)은 슬림 바로 옮겨 선다. |
smart-review-confirm-dialog.tsx이력100.0%7일 전 · #1871 | 컴포넌트 | `스마트심사 전송` 확인 창 — 프로토타입 `SmartReviewModal` 과 같은 틀(전송 대상·보고서 버전, `취소`·`전송하기`)이다. |
source-page-button.tsx이력테스트100.0% | 컴포넌트 | 결과의 근거 낱장을 뷰어로 여는 버튼 — 분류 확인(N05)·추출 확인·요약(N06) 센터가 함께 쓴다. |
start-classification-button.tsx이력100.0%2일 전 · #2103 | 컴포넌트 | `AI 분류 시작` 버튼 — `서류 대기`(확정전) 센터의 착수 액션. |
transfer-history.tsx이력100.0% | 컴포넌트 | 전송 이력 — 확정 전까지 분할 스캔이 계속 들어오므로(S-004 §2), 조사자가 "지금까지 몇 번, 마지막이 언제"를 보고 확정 시점을 판단한다. |
viewer-stage-actions.tsx이력100.0%오늘 · #2181 | 컴포넌트 | 문서 뷰어 아래 줄의 단계 액션 자리 — 뷰어가 열리면 센터가 가려지므로(`hidden`, 언마운트하지 않는다), 분류 검수 단계의 `문서 확인 (N)`·`정보 추출` 을 뷰어 위에서도 누를 수 있게 한다(프로토타입 `ClassificationRiskActions` 가 뷰어 아래 줄에도 선다). |
workflow-stepper.tsx이력100.0% | 컴포넌트 | 진행 단계 스테퍼 — 화면 기준선 「워크스페이스 공통 — 상단(GNB·진행 스텝)」의 7단계 + `N / 7` 카운터 표기를 따른다. |
workspace-center.tsx이력테스트100.0%오늘 · #2181 | 컴포넌트 | 워크스페이스 가운데 영역 — 프로토타입 workflow-status-centers 의 센터 카드 스케일(원형 아이콘 + 24px 제목 + 16px 본문)을 따른다. |
workspace-header.tsx이력테스트100.0%오늘 · #2189 | 컴포넌트 | 워크스페이스 GNB — 프로토타입 investigation-workspace-gnb 의 배치(뒤로가기 + 에이전트 아이콘 + 제목·뱃지 / 오른쪽 메타 칩)를 따른다. |
workspace-skeleton.tsx이력100.0%3일 전 · #2094 | 컴포넌트 | 사고조사 워크스페이스 첫 진입 — 업무 머리글(70px)·진행 단계(68px) 아래, 왼쪽 스캔 문서함과 가운데 센터로 나뉜 화면 전체 틀. |
analysis-condition-terms-disclosure.test.tsx이력어제 · #2147 | 테스트 | 분석 조건 약관 칸 `공시실에서 찾기 ↗` |
report-mail-send.test.tsx이력4일 전 · #2044 | 테스트 | 보고서 전송 — `메일 전송` |
smart-review-send.test.tsx이력7일 전 · #1871 | 테스트 | 보고서 전송 — `스마트심사 전송` |
app/(workspace)/user/investigations/[reportNo]/_lib/41GitHub
/user/investigations/[reportNo] 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
analysis-conditions-window.ts이력테스트92.9% | 모듈 | 상단 `사전분석조건` — 노출 단계 판정과 팝업 창 열기 한 곳. |
analysis-knowledge-start.ts이력테스트100.0% | 모듈 | 분석 조건 ③ 지식컬렉션의 첫 선택 — 서버와 같은 범위 모양(`fileIds` 가 비면 컬렉션 전체). |
concurrency-limit-notice.ts이력테스트96.4% | 모듈 | 1인 동시 AI 분석 요청 한도(WBS 29.12.3)에 걸린 착수의 화면 알림 — 프로토타입의 상단 경고 띠와 같은 동작이다. |
disclosure-room.ts이력테스트100.0% | 모듈 | 상단·센터의 `공시실` — 노출 판정, 받은 링크의 판정, 안내 문구 한 곳. |
document-box-head.ts이력테스트100.0%4일 전 · #2053 | 모듈 | 펼친 문서함 머리의 상태 뱃지 — 프로토타입 `document-panel` 머리와 같다. |
document-box-width.ts이력테스트100.0% | 모듈 | 스캔 문서함 폭 — 프로토타입 워크스페이스와 같은 범위(220~420px)·기본값(370px)이다. |
document-change-notice.ts이력테스트100.0%2일 전 · #2113 | 모듈 | 확정 이후 문서 변경(`changedAfterConfirm`) 안내 문구 — 상단 경고 바와 문서함 위 `문서 변경 감지` 카드가 함께 읽는다. |
extraction-review.ts이력테스트100.0%오늘 · #2158 | 모듈 | 추출 결과(`GET .../extraction-results/latest`)를 화면이 읽는 규칙 — 순수 계산만 둔다. |
hospital-match.ts이력테스트100.0%어제 · #2138 | 모듈 | 조사자가 `병원 찾기`에서 목록에 없는 병원으로 진행하기로 한 항목 표시. |
hospital-segments.ts이력테스트100.0%어제 · #2152 | 모듈 | 병원 묶음 경계 라벨 — 백엔드 `HospitalFolderAllocator.COVER_LABEL` 과 같다. |
initial-collapse.ts이력테스트100.0% | 모듈 | 워크스페이스 상단(GNB·진행 스텝)과 왼쪽 스캔 문서함의 접힘 규칙 — 결정 20261019-workspace-initial-collapse, 문서함은 결정 20261105-document-box-default-expanded 로 개정. |
page-classification.ts이력테스트100.0%오늘 · #2181 | 모듈 | 분류 결과를 낱장 단위로 읽는 순수 계산 — 문서함·뷰어·분류 확인 화면이 같은 판정을 쓴다. |
page-edits.ts이력테스트100.0%오늘 · #2181 | 모듈 | 스캔 문서함의 **낱장 편집(저장 전)** 모델 — 순수 계산만 둔다. |
page-keyboard.ts이력테스트100.0% | 모듈 | 열린 낱장을 ↑/↓ 키로 앞뒤 낱장으로 옮기는 규칙 — 순수 계산(프로토타입 스캔 문서함 키보드 이동). |
report-before-change-window.ts이력테스트90.9% | 모듈 | `변경 전 보기` — 챗봇 `AI 보고서 반영` 직전 보고서를 별도 창으로 연다(결정 20261020). |
report-mail-gate.ts이력테스트100.0%4일 전 · #2044 | 모듈 | 초안을 준비하는 중이라 보낼 수 없을 때의 안내 — 버튼 `title` 로 보인다. |
report-snapshot-window.ts이력테스트90.9% | 모듈 | `AI 보고서 다시 보기` — 별도 창 열기 한 곳. |
saved-edit-gate.ts이력테스트100.0% | 모듈 | 저장한 문서 편집이 **마지막 분류 실행에 반영되지 않았을 때** 문서함 맨 위에 서는 게이트 — 순수 판정만 둔다. |
scan-sections.ts이력테스트97.0%오늘 · #2170 | 모듈 | 문서함이 그리는 보기 — 이미지시스템 폴더별 또는 병원별. |
summary-sources.ts이력 | 모듈 | 요약 근거 표시 규칙은 사용자 콘솔과 관리자 실행 테스트가 같이 쓰는 공통 모듈로 옮겼다 — 이 파일은 route 안의 import 경로를 유지하는 재export 다(`lib/collections/queries` 와 같은 방식). |
summary-stage.ts이력테스트100.0%7일 전 · #1921 | 모듈 | 요약·해석 센터의 단계 — 글로벌 상태 → 단계 매핑과 단계 안내 문구만 여기 두고, 구역·카드·byte 규칙은 사용자·관리자(실행 테스트)가 같이 쓰는 공통 모듈(`components/common/summary/summary-stage.ts`)에 있다(아래 재export). |
top-bar-buttons.ts이력테스트100.0%4일 전 · #2043 | 모듈 | 상단 바 버튼의 크기 토큰 한 곳 — `다시 분석` 그룹·`사전분석조건`·`공시실`·접기/펼치기가 같은 줄에 서므로 높이·글자·아이콘이 어긋나면 바로 보인다. |
workspace-refresh.ts이력테스트100.0% | 모듈 | 사용자 조치(분류 확정·분석 요청 …)가 백엔드에서 상태 전이를 일으켰을 수 있을 때, 워크스페이스의 **진행 상태와 상세**, 그리고 **조사 목록**을 다시 받게 한다. |
workspace-steps.ts이력테스트100.0% | 모듈 | 워크스페이스 상단 스테퍼의 단계 정의 — 화면 기준선 「워크스페이스 공통 — 상단(GNB·진행 스텝)」의 7단계 골격과 `N / 7` 카운터, 그리고 그 절의 활성 위치 표를 그대로 옮긴 것이다. |
workspace-transition-lock.tsx이력테스트100.0%2일 전 · #2103 | 컴포넌트 | 서버 진행 상태가 바뀔 때까지 다시 제출하면 안 되는 사고조사 단계 전환 조치. |
use-case-settings.test.tsx이력 | 테스트 | 조사건에 고정한 설정 조회 |
workspace-transition-actions.test.tsx이력2일 전 · #2103 | 테스트 | 요약 확정 거절 |
use-application-form-templates.ts이력100.0% | 훅 | 분석 조건 입력이 읽는 청약서 폼 설정 — 관리자 `청약서 폼 설정` 가운데 이 조사건이 인입될 때 고정한 판. |
use-claim-type-options.ts이력100.0% | 훅 | 분석 조건 1번 청구유형 선택지 — 이 조사건이 인입될 때 고정한 목록. |
use-classification-actions.ts이력100.0%2일 전 · #2103 | 훅 | 분류 확인(W07)의 세 조치 — 수동 확정·AI 일괄 확정·정보 추출 시작 — 과 그 뒤의 캐시 갱신을 한 곳에 둔다. |
use-disclosure-room.ts이력100.0% | 훅 | `공시실` 누르기 — 링크를 받아 있으면 새 탭으로 열고(`noopener,noreferrer`), 없으면 안내 토스트, 조회 실패는 오류 토스트다(결정 20261017-customer-onboarding-status-api 4항). |
use-extraction-actions.ts이력100.0%2일 전 · #2103 | 훅 | 청약서 폼 설정을 받지 못한 채 분석을 시작하려 할 때의 안내 — 서버 문구가 없는 자리라 화면이 정한다. |
use-page-drag.ts이력88.9% | 훅 | 끌고 있는 낱장 — 어느 폴더에서 출발했는지까지 들고 있어야 놓을 수 있는 자리를 가릴 수 있다. |
use-page-edit-actions.ts이력테스트81.8%2일 전 · #2102 | 훅 | 스캔 문서함의 낱장 편집 — **저장 전 상태**와 `편집 저장` 조치를 한 곳에 둔다 (`use-classification-actions`·`use-extraction-actions`·`use-summary-actions` 와 같은 자리). |
use-processing-retry.ts이력테스트100.0%2일 전 · #2103 | 훅 | 처리 실패 `다시 시도` — 실패한 단계부터 새 실행을 만든다(S-004 §8-6). |
use-progress-sync.ts이력100.0% | 훅 | 진행 상태가 바뀌었을 때 화면의 나머지를 따라 맞춘다 — **주소(`status=`)와 상세 캐시** 둘이다. |
use-reanalysis-actions.ts이력테스트97.1%2일 전 · #2113 | 훅 | 워크스페이스 상단 `다시 분석` 그룹의 조치(S-012 §4) — 범위 조회, 확인 창의 열림/닫힘, 실행과 그 뒤의 캐시 갱신을 한 곳에 둔다. |
use-report-events.ts이력테스트100.0% | 훅 | 서버가 보내는 변경 신호 이름 — 백엔드 `ReportChangedEvent.Type` 과 같다. |
use-report-mail-send.ts이력100.0%2일 전 · #2103 | 훅 | 전송을 마친 뒤의 알림 — 보낸 초안 버전을 그대로 적는다(프로토타입 `…보고서 vN를 전송했습니다.`). |
use-smart-review-transfer.ts이력100.0%2일 전 · #2103 | 훅 | 스마트심사는 받았는데 그 사이 건 상태가 바뀌어 `보고서 전송 완료` 로 옮기지 못했다는 서버 코드. |
use-summary-actions.ts이력테스트100.0%2일 전 · #2103 | 훅 | 요약·해석 센터의 조치(S-014 §6·§7) — 확정·초기화·항목 수정·반영 체크·초안 생성·구역 수정·되돌리기·초안 폐기 — 와 그 뒤의 캐시 갱신을 한 곳에 둔다. |
app/(workspace)/user/investigations/_components/5GitHub
/user/investigations 화면에서만 쓰는 컴포넌트.
investigation-list-filters.tsx이력98.2% | 컴포넌트 | 사고조사 목록 필터 줄 — 화면 기준선 「사고조사 목록」의 조회 조건(검색 · 소속 · 위탁사 · 청구유형 · 진행 상태 다중 선택 · 접수일자 범위 · 초기화 · 조회)을 계약에 맞춰 쓴 것이다. |
investigation-list-view.tsx이력94.1%오늘 · #2189 | 컴포넌트 | 사고조사 목록 (P1-1). |
processing-failure-badge.tsx이력테스트100.0% | 컴포넌트 | 처리 실패 뱃지 — 목록의 `상태` 열과 워크스페이스 헤더가 함께 쓴다. |
risk-sub-status-badges.tsx이력100.0% | 컴포넌트 | 위험 서브 상태 뱃지들 — 목록의 `위험` 열과 워크스페이스 헤더가 함께 쓴다. |
workflow-status-badge.tsx이력테스트100.0% | 컴포넌트 | 글로벌 상태 뱃지 하나 — 목록의 `상태` 열과 워크스페이스 헤더가 함께 쓴다. |
app/(workspace)/user/investigations/_lib/4GitHub
/user/investigations 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
list-filter.ts이력테스트100.0% | 모듈 | 화면이 다루는 조건. |
org-scope.ts이력테스트100.0% | 모듈 | 담당자를 알 수 없는 행의 표시 — 상세 화면과 같은 문구라 `./investigator.ts` 가 갖는다. |
view-stage.ts이력테스트100.0% | 모듈 | 목록에서 **남의 건을 열 수 있는 단계** 판정 한 곳 — 순수 계산만 둔다. |
queries.ts이력테스트100.0% | 쿼리 | queryOptions 팩토리 — queryKey와 queryFn을 한 곳에 묶는다. |
app/(workspace)/user/knowledge/1GitHub
/user/knowledge 화면.
page.tsx이력테스트100.0%오늘 · #2168 | 화면 | 탭 상태를 URL search param 으로 읽으므로(`useSearchParams`) 목록 본체는 Suspense 경계 안에 둔다. |
app/(workspace)/user/knowledge/_components/6GitHub
/user/knowledge 화면에서만 쓰는 컴포넌트.
addition-request-banners.tsx이력100.0%오늘 · #2168 | 컴포넌트 | 문서 추가 승인 대기·반려 배너 — 요청별 파일명, 승인 대기는 `{요청자} · {요청 시각} 요청`, 반려는 `({처리 시각} · {처리자})` 와 사유, 바로 조작(`요청 취소`·`제거`·`다시 승인요청`). |
collection-detail-view.tsx이력테스트95.3%오늘 · #2168 | 컴포넌트 | 사용자 지식 컬렉션 상세 — 화면에서는 폴더 브라우저의 말단 폴더 안(`embedded`)에만 그린다. |
collection-info-dialog.tsx이력100.0%오늘 · #2168 | 컴포넌트 | 컬렉션 `상세보기` — 케밥 메뉴에서 여는 컬렉션 정보 창(프로토타입 `CollectionActionMenu` 의 `컬렉션 상세`). |
collection-list-view.tsx이력92.5%오늘 · #2168 | 컴포넌트 | 사용자 지식 컬렉션 — 폴더 브라우저(공용 컬렉션 + 내 컬렉션). |
file-rename-dialog.tsx이력테스트95.5%오늘 · #2168 | 컴포넌트 | `파일명 수정` — 내 컬렉션(개인 컬렉션) 파일만(docs/decisions/20260916-knowledge-collection-file-rename-removal.md 2026-10-07 개정). |
share-conversion-dialog.tsx이력90.9%오늘 · #2168 | 컴포넌트 | 무엇을 보내는지 — 파일 표에서 체크한 파일의 새 요청, 또는 반려된 요청 한 건을 다른 대상으로 다시 보내기. |
app/(workspace)/user/knowledge/_lib/2GitHub
/user/knowledge 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
collection-detail.ts이력테스트100.0%오늘 · #2168 | 모듈 | 지식컬렉션 상세 화면의 표시 규칙. |
collection-list.ts이력테스트100.0%오늘 · #2168 | 모듈 | 지식 컬렉션 화면(폴더 브라우저·검색 결과·상세)의 표시 규칙 — 백엔드 enum 을 화면 어휘로 옮긴다. |
app/(workspace)/user/profile/1GitHub
/user/profile 화면.
app/(workspace)/user/profile/_components/2GitHub
/user/profile 화면에서만 쓰는 컴포넌트.
profile-email-form.tsx이력100.0%오늘 · #2181 | 컴포넌트 | 내 정보의 이메일 편집 — 기준선 「내 정보」: 입력하는 대로 검사하고, `되돌리기`는 바꿨을 때, `저장`은 바꿨고 오류가 없을 때 켜진다. |
profile-view.tsx이력테스트100.0%오늘 · #2181 | 컴포넌트 | 내 정보 (`/user/profile`) — 로그인한 직원의 계정 정보를 보여 주고, 이메일만 본인이 고친다. |
app/(workspace)/user/profile/_lib/3GitHub
/user/profile 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
email-edit.ts이력테스트100.0% | 모듈 | 내 정보 이메일 편집 규칙 — 기준선 「내 정보」: 빈 값·형식은 입력하는 대로 검사하고, 다른 직원과의 중복은 서버가 판정한다. |
profile-format.ts이력테스트100.0% | 모듈 | 값이 없는 HR 항목을 화면에서 비워 두지 않는다. |
queries.ts이력100.0% | 쿼리 | 내 정보 화면 전용 호출. |
app/ · 화면
app/(workspace)/admin/GitHub
Admin Console 화면
app/(workspace)/admin/3GitHub
/admin 화면.
layout.tsx이력0.0%6일 전 · #1939 | 레이아웃 | /admin 아래 화면이 함께 쓰는 레이아웃. |
page.tsx이력0.0% | 화면 | `/admin`은 화면이 아니라 권한 기반 콘솔 진입점이다. |
error.tsx이력테스트100.0% | 컴포넌트 | 콘솔 레이아웃(쉘) 안쪽 오류 경계 — 화면 하나의 렌더링 오류가 LNB 까지 지우지 않게 한다. |
app/(workspace)/admin/agent-studio/1GitHub
/admin/agent-studio 화면.
app/(workspace)/admin/agent-studio/schema/1GitHub
/admin/agent-studio/schema 화면.
page.tsx이력0.0%6일 전 · #1939 | 화면 | 보고서 설정 위탁사를 URL search param(`?company=`)으로 받으므로 본체는 Suspense 경계 안에 둔다. |
app/(workspace)/admin/agent-studio/test/1GitHub
/admin/agent-studio/test 화면.
app/(workspace)/admin/agent-studio/_components/37GitHub
/admin/agent-studio 화면에서만 쓰는 컴포넌트.
classify-editor.tsx이력테스트100.0%4일 전 · #1924 | 컴포넌트 | 1단계 CLASSIFY 2depth 문서종 편집기 — 확정 기획대로 이름·설명만 노출한다. |
classify-stage.tsx이력100.0%4일 전 · #1924 | 컴포넌트 | 1단계 CLASSIFY 카드 — 1depth·2depth 문서종 설정 하나다(요약 설정은 2단계, 결정 20261020-studio-run-result-field-types 5항). |
config-version-sync.tsx이력100.0%어제 · #2135 | 컴포넌트 | 단계 머리의 `수정 초기화` 왼쪽 — 그 단계 Studio 에이전트의 지시서(Config) 버전 버튼(`v6 · 배포`). |
deploy-bar.tsx이력테스트100.0%오늘 · #2184 | 컴포넌트 | AI 보고서까지 테스트를 마친 실행을 배포한다 — 서버가 실행을 검증해 배포 기록을 남긴다(결정 20261111 3·4항). |
document-viewer.tsx이력48.0%3일 전 · #2086 | 컴포넌트 | 첨부 원본 뷰어. |
extract-coverage-notice.tsx이력테스트100.0%오늘 · #2149 | 컴포넌트 | 안내 제목을 정하는 건수 — `total` 은 알릴 문서종 전체 |
extract-doc-type-picker-dialog.tsx이력83.3%7일 전 · #1871 | 컴포넌트 | 2단계에서 분류 문서종 하나를 고르는 창 — `추출 스키마 추가`·`항목 옮기기`가 함께 쓴다. |
extract-stage.tsx이력테스트98.7%2일 전 · #2122 | 컴포넌트 | EXTRACT 안의 하위 화면 — 추출 스키마 설정 / 요약 설정(요약 그룹) |
extraction-field-card.tsx이력테스트100.0%어제 · #2135 | 컴포넌트 | 카드 머리의 유형 표기 — 목록이면 `String 목록` |
extraction-workbench.tsx이력테스트96.2%3일 전 · #2086 | 컴포넌트 | 2단계 정보 추출 작업대 — 왼쪽 문서 업로드·미리보기(선택), 오른쪽 추출 스키마 설정. |
instruct-dialogs.tsx이력테스트100.0%7일 전 · #1868 | 컴포넌트 | 보고서 설정 단계의 대화상자 — 다른 위탁사에서 복사 · 프롬프트 변수 설명 · 다른 탭에서 복사. |
instruct-stage.tsx이력테스트100.0%4일 전 · #1924 | 컴포넌트 | 스키마 정의 3단계 INSTRUCT(보고서 설정) — 위탁사를 고르고 그 위탁사의 보고서 탭 지침을 편집한다. |
insurer-instruct-layout.tsx이력테스트98.3%어제 · #2135 | 컴포넌트 | 스키마 정의 3 INSTRUCT `보고서 설정` — 위탁사 보고서 탭(= 보고서 에이전트 Instruct 노드)마다 공통 보고서 유형 지침(프롬프트·출력 JSON 골격)과 보고서 유형별 본문을 관리한다. |
new-doc-type-form.tsx이력테스트100.0%4일 전 · #1924 | 컴포넌트 | 1단계 `2depth 문서종 추가` — 편집기 자리에 빈 폼을 띄운다. |
next-step-bar.tsx이력테스트100.0%오늘 · #2149 | 컴포넌트 | 실행 테스트 아래 플로팅 — 이 단계를 마치고 다음 단계로 간다(결정 20261103-studio-test-version-risk-review 6항). |
output-schema-field.tsx이력테스트100.0% | 컴포넌트 | 보고서 탭의 출력 JSON 골격 편집기·뷰어. |
report-panel.tsx이력테스트98.3%오늘 · #2184 | 컴포넌트 | 실행 테스트 3단계 — 탭마다 만든 AI 보고서 결과와, 그 탭에 조립한 프롬프트 조각 |
schema-deploy-notice.tsx이력100.0%오늘 · #2161 | 컴포넌트 | 스키마 정의 — 저장본이 배포본과 다를 때의 안내와 `배포본으로 되돌리기` 확인 창, 배포 대기 안내와 `적용` 확인 창. |
schema-stage-actions.tsx이력100.0%4일 전 · #1924 | 컴포넌트 | 스키마 정의 단계 머리 오른쪽의 상태·`수정 초기화`·`저장` 묶음과, 결과 알림·버튼 이름에 붙는 단계 표식. |
schema-studio-load.tsx이력100.0%4일 전 · #1924 | 컴포넌트 | 스키마 정의 1·2단계 — Studio 가장 최근 지시서를 받는 중·받지 못했을 때의 단계 본문. |
schema-view.tsx이력테스트97.0%어제 · #2132 | 컴포넌트 | 스키마 정의 — 문서 분류(CLASSIFY)·추출 스키마(EXTRACT)·요약 설정(SUMMARY_GROUP)은 전 위탁사 공통, 보고서 설정(INSTRUCT)은 위탁사별. |
shape-alignment-notice.tsx이력100.0%어제 · #2132 | 컴포넌트 | 스키마 정의 — 분류 저장에 이어 한 Import 형태 맞춤이 실패했을 때의 안내와 `다시 맞추기` (결정 20261111-studio-import-shape-regeneration 6항). |
stage-progress.tsx이력100.0%오늘 · #2184 | 컴포넌트 | 실행 테스트 단계(분류·추출·AI 보고서)가 도는 동안 메인 화면 가운데에 보이는 진행 중 표시 — 회전 아이콘 + 제목 + 한 줄 설명. |
step-bar.tsx이력100.0%오늘 · #2149 | 컴포넌트 | 실행 테스트에서 단계의 진행 상태 |
studio-feedback.tsx이력테스트97.0%7일 전 · #1871 | 컴포넌트 | 알림이 가리키는 단계 — 첫 줄 앞에 원형 번호 + 단계 이름 표식으로 붙는다(`① CLASSIFY`) |
studio-prompt-editor.tsx이력테스트100.0% | 컴포넌트 | 보고서 베이스 프롬프트·요약 그룹 프롬프트가 같이 쓰는 편집기 — 분석 조건 변수 칩·변수 설명 창·오류·글자 수까지 같다 (결정 20261021-studio-derived-document-processing-state 7항). |
studio-select.tsx이력100.0%오늘 · #2184 | 컴포넌트 | 스튜디오 셀렉트 — 펼친 목록까지 프로젝트 모양(흰 면·`border` 테두리·`shadow-pop`, 행 `muted` 강조, 고른 행 브랜드 글자 + ✓). |
studio-shell.tsx이력100.0%2일 전 · #2122 | 컴포넌트 | 에이전트 스튜디오 공통 틀 — 제목·탭. |
studio-ui.tsx이력테스트100.0%2일 전 · #2122 | 컴포넌트 | 에이전트 스튜디오 화면이 함께 쓰는 표현 조각 — 단계 머리·선택 행·세그먼트 탭·상태 알약·검증 표시. |
summary-doc-type-dialog.tsx이력95.7%어제 · #2132 | 컴포넌트 | 요약 설정이 기대는 기준 — 문서종 목록은 분류 버전, 고를 수 없는 문서종은 추출 버전이 정하고 저장은 추출 버전의 짝에 들어간다 (결정 20261105-studio-summary-doctype-picker 4·5항). |
summary-group-editor.tsx이력테스트100.0%어제 · #2132 | 컴포넌트 | 요약 설정이 기대는 기준 세 가지 — 문서종 목록은 분류 버전, 고를 수 없는 문서종은 추출 버전, 저장은 추출 버전의 짝이다. |
test-attach-column.tsx이력테스트96.8%오늘 · #2186 | 컴포넌트 | 실행 테스트 왼쪽 열 — 첨부 문서 관리(추가·삭제·모두 비우기)와 낱장 목록을 한 열에 둔다(결정 20261029-studio-test-attach-list-column). |
test-classify-panel.tsx이력96.3%오늘 · #2149 | 컴포넌트 | 1단계 오른쪽 패널 — 위는 모든 낱장에 공통인 **검수 현황**(남은 건수·바로가기·일괄 확정), 아래는 지금 보는 낱장 하나의 **판정 카드**다. |
test-extract-panel.tsx이력테스트83.1%오늘 · #2186 | 컴포넌트 | 목록에서 눌러 이동할 칸 — 저신뢰 추출과 연계 정보 불일치가 같은 모양으로 넘긴다 |
test-view.tsx이력테스트97.0%오늘 · #2186 | 컴포넌트 | 설명 주석 없음 |
use-reference-page.ts이력테스트100.0%3일 전 · #2086 | 훅 | 참고 문서의 한 쪽을 그림 주소로 만든다. |
use-schema-step.ts이력100.0%5일 전 · #1974 | 훅 | 스키마 정의의 단계 탭 — 주소 `?tab=` 과 화면 안의 탭 선택을 맞춘다. |
app/(workspace)/admin/agent-studio/_lib/47GitHub
/admin/agent-studio 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
agent-studio.ts이력테스트100.0%7일 전 · #1894 | 모듈 | 에이전트 스튜디오 설정 모델 — 문서 분류(CLASSIFY)·정보 추출(EXTRACT)·보고서 설정(INSTRUCT)을 한 벌로 다룬다. |
attach-limits.ts이력테스트100.0%6일 전 · #1915 | 모듈 | 실행 테스트 첨부 문서의 제한(결정 20261106-studio-test-classify-run 2·10항): 개수 제한 없음 · 파일당 50MB · 누적 1,000쪽 이하 · 같은 파일 거절. |
claim-hospital-sources.ts이력테스트100.0%오늘 · #2149 | 모듈 | KCD 코드를 소수점 첫째 자리까지로 맞춘다 — 형식이 다르면 공백만 뺀 대문자 그대로 둔다 |
classify-review.ts이력테스트100.0%오늘 · #2149 | 모듈 | 문서종 Select 후보를 대분류(1depth)별로 묶은 한 덩어리 |
config-versions.ts이력테스트100.0%2일 전 · #2112 | 모듈 | 에이전트 스튜디오 config 버전 — 1단계 분류(CLASSIFY)·2단계 추출 스키마(EXTRACT)는 저장할 때마다 버전이 하나씩 쌓인다 (결정 20261021-studio-config-version-sync 4~7항). |
deployment-api.ts이력테스트96.7%오늘 · #2161 | 모듈 | 에이전트 스튜디오 배포 기록 — 서버가 정본이다(결정 20261111-studio-server-deployment-management). |
extract-coverage.ts이력테스트100.0%7일 전 · #1906 | 모듈 | 분류·추출 문서종 비교 — 두 목록은 독립이고 라벨(Studio `oneOf[].const` 값)로만 잇는다 (결정 20261104-studio-extract-doc-types-independent 6·7항). |
extract-review-gate.ts이력테스트100.0%오늘 · #2186 | 모듈 | 실행 테스트 2단계 추출 검수 — 필수 확인 항목(저신뢰 추출 · 연계 정보 불일치)을 모으고, 한 번 확인했는지로 다음 단계를 연다. |
extraction-reference-check.ts이력테스트100.0% | 모듈 | 정보 추출 결과를 스마트심사 연계값(사건 정보)과 맞춰 보는 대조 규칙. |
extraction-schema.ts이력100.0% | 모듈 | 추출 항목 정의 → 추출 결과 JSON 스키마(뷰어의 `JSON 스키마` 펼침). |
file-drag.ts이력테스트100.0%2일 전 · #2118 | 모듈 | 파일을 끌고 있는 드래그인가 — 텍스트·이미지 선택 같은 다른 드래그는 첨부 칸이 반응하지 않는다 |
instruct-api.ts이력테스트100.0% | 모듈 | 에이전트 스튜디오 3단계 INSTRUCT 저장소 — 위탁사별 탭·프롬프트·출력 JSON 골격·탭 × 보고서 유형 본문은 서버가 정본이다 (결정 20261021-studio-instruct-db-storage). |
instruct-prompt.ts이력테스트100.0%6일 전 · #1958 | 모듈 | 에이전트 스튜디오 3 INSTRUCT — 탭(= 보고서 에이전트 Instruct 노드)의 프롬프트·출력 JSON 골격·보고서 유형별 본문 규칙. |
insurer-tabs.ts이력테스트100.0%6일 전 · #1958 | 모듈 | 에이전트 스튜디오 3 INSTRUCT — 위탁사별 보고서 탭. |
original-pages.ts이력테스트42.3%3일 전 · #2058 | 모듈 | 실행 테스트 원본 보기 — 서류마다 서버가 PDF 로 바꿔 Studio 에 올려 둔 것을 받아 PDF 뷰어(pdf.js)로 한 쪽씩 그린다 (결정 20261106-studio-test-classify-run 2항). |
page-layout.ts이력0.0% | 모듈 | 문서 한 장의 영역 좌표 — 원본 그림이 없는 문서(표본 파일)를 뷰어가 이 좌표로 그린다. |
reference-document.ts이력테스트100.0%3일 전 · #2086 | 모듈 | 추출 스키마 설정 탭의 「참고할 문서」 — 관리자가 올린 파일을 브라우저 안에서 그대로 읽어 보여 준다. |
report-prompt-variables.ts이력테스트89.8%오늘 · #2149 | 모듈 | 보고서 생성 프롬프트의 건별 변수 값 — 분석 조건을 `{{변수}}` 자리에 들어갈 사람이 읽는 글로 펼친다. |
run-engine.ts이력테스트100.0% | 모듈 | 실행 테스트 — 올린 문서를 인식 → 분류 → 추출 순서로 모의 실행한다. |
run-instruct.ts이력테스트92.1%6일 전 · #1958 | 모듈 | 실행 테스트 3단계(AI 보고서) 모의 실행 — 저장본의 프롬프트·본문 조각을 조립하고, 추출값으로 결과 문장을 만든다. |
run-output.ts이력100.0% | 모듈 | 실행 테스트 AI 보고서 탭 결과 → 사고조사 보고서와 같은 구역(`SummarySectionView`). |
sample-document.ts이력테스트100.0% | 모듈 | 화면 검토용 가상 문서 — 문서종 정의(추출 항목)로 원본 한 장의 그림과 글자 영역을 만든다. |
sample-values.ts이력100.0% | 모듈 | 추출 키별 표본 값 — 백엔드 연동 전 검토용 가상 문서·추출 결과를 채운다. |
schema-issues.ts이력테스트100.0%5일 전 · #1974 | 모듈 | 스키마 정의 저장 검사 결과를 화면에 옮기는 계산 — 입력란별 문구, 막힌 저장 뒤 이동할 칸. |
schema-restore-default.ts이력테스트100.0%2일 전 · #2112 | 모듈 | `배포본으로 되돌리기`의 Studio 몫 — 가장 최근 버전이 되돌릴 버전(배포본, 배포 기록이 없으면 default)이 아니면 그 값으로 새 버전을 쌓는다 (결정 20261021 6항, 20261111-studio-server-deployment-management 7항). |
schema-service.ts이력테스트100.0% | 모듈 | 정보 추출 스키마 서비스 — 원본에서 항목을 뽑아 스키마를 만들고, 스키마로 값을 추출하고, 저장 전에 검사한다. |
shape-alignment.ts이력테스트85.0%어제 · #2132 | 모듈 | 분류 지시서 저장에 이어 서버가 한 Import 형태 맞춤 — 분류 형태가 바뀌면 추출·요약 지시서를 새 형태로 만든다 (결정 20261111-studio-import-shape-regeneration). |
source-document.ts이력테스트100.0%3일 전 · #2086 | 모듈 | 정보 추출 검토에 올리는 원본 문서의 형식·용량 규칙과 글자 영역 모양. |
stage-save.ts이력테스트97.8%7일 전 · #1911 | 모듈 | 스키마 정의 단계별 저장·수정 초기화 — CLASSIFY · EXTRACT · SUMMARY_GROUP · INSTRUCT 가 각자 자기 몫만 저장하고 되돌린다. |
studio-config-content.ts이력테스트96.4% | 모듈 | 에이전트 스튜디오 1단계 분류·2단계 추출 스키마의 `동기화` — 고른 Studio 지시서(Config) 값을 화면 값으로 옮긴다 (결정 20261102-studio-config-sync-fill-screen). |
studio-config-save.ts이력테스트93.5%오늘 · #2161 | 모듈 | 에이전트 스튜디오 1단계 분류·2단계 추출 스키마 저장 — 원본 지시서를 복제해 화면 값으로 새 Studio 지시서를 만든다 (결정 20261103-studio-config-save-new-config). |
studio-config-versions-api.ts이력테스트100.0%2일 전 · #2112 | 모듈 | 에이전트 스튜디오 1단계 분류·2단계 추출 스키마의 「config 버전 선택」 목록 — 그 단계 Studio 에이전트의 지시서(Config) 목록이다 (결정 20261029-studio-config-version-list-from-studio). |
studio-deployment.ts이력테스트100.0%2일 전 · #2112 | 모듈 | 에이전트 스튜디오 배포 판정 도우미 — 배포 기록은 서버가 정본이다(`deployment-api.ts`, 결정 20261111-studio-server-deployment-management). |
studio-store.ts이력테스트100.0%5일 전 · #1972 | 모듈 | 에이전트 스튜디오 저장소 — 백엔드 연동 전까지 이 브라우저의 localStorage 에 한 벌을 둔다. |
summary-doc-type-rows.ts이력테스트100.0%7일 전 · #1928 | 모듈 | 요약 그룹 `문서종 변경` 모달 왼쪽 목록 — 분류 문서종을 고를 수 있는 것과 고를 수 없는 이유로 나눈다 (결정 20261105-studio-summary-doctype-picker 3항). |
summary-group-api.ts이력테스트100.0% | 모듈 | 에이전트 스튜디오 2단계 `요약 설정`의 요약 그룹 저장소 — 서버(`/api/v1/admin/agent-studio/summary-groups`)가 정본이다 (결정 20261019-studio-summary-tab-doc-groups). |
summary-group.ts이력테스트100.0% | 모듈 | 요약 그룹 편집 규칙과 1단계 문서종 삭제. |
test-run-api.ts이력테스트97.5%오늘 · #2186 | 모듈 | 실행 테스트 1단계 분류·2단계 추출 실연동 — `/api/v1/admin/agent-studio/test-runs` (결정 20261106-studio-test-classify-run, 20261107-studio-test-extract-run). |
test-session.ts이력테스트100.0%2일 전 · #2118 | 모듈 | 실행 테스트 화면 상태 — `스키마 정의` 탭에 갔다 돌아와도 첨부·결과·수정값이 남도록 메모리에 둔다. |
extraction-libs.test.ts이력3일 전 · #2086 | 테스트 | 스키마로 값 추출 — 형식별 판정 |
field-types.test.ts이력 | 테스트 | 추출 항목 유형 — String·Number·Integer·Boolean + 목록, 표는 따로 |
instruct-request.test.ts이력 | 테스트 | INSTRUCT 저장 요청 |
summary-group-api.client.test.ts이력 | 테스트 | 요약 그룹 API 호출 |
test-run-api.upload.test.ts이력3일 전 · #2091 | 테스트 | 서류 올리기 — 고른 순서 |
studio-seed.json이력 | 파일 | 설명 주석 없음 |
use-schema-deployment.ts이력테스트100.0%2일 전 · #2112 | 훅 | 스키마 정의의 배포 안내 기준 — 가장 최근 저장본이 서버 배포 기록(결정 20261111-studio-server-deployment-management)과 같은지. |
use-schema-studio-versions.ts이력테스트100.0%5일 전 · #1974 | 훅 | 스키마 정의 1·2단계가 기대는 Studio 값 — 단계별 config 버전 목록, 화면을 연 때 고정한 가장 최근 지시서와 그 내용, default(배포) 지시서 내용, 그리고 단계 본문을 그려도 되는지(받는 중·받지 못함·받음). |
app/(workspace)/admin/application-forms/1GitHub
/admin/application-forms 화면.
app/(workspace)/admin/application-forms/_components/4GitHub
/admin/application-forms 화면에서만 쓰는 컴포넌트.
application-form-settings.tsx이력97.5%오늘 · #2189 | 컴포넌트 | 관리자 · 청약서 폼 설정 본문 (`/admin/application-forms`). |
modified-badge.tsx이력100.0% | 컴포넌트 | 확정본과 다른 청약서 유형·계약별 추가 블록·조사자 직접입력 변수에 붙이는 표시(결정 20261028 5항). |
question-editor-dialog.tsx이력테스트88.9%오늘 · #2165 | 컴포넌트 | 설명 주석 없음 |
template-variable-palette.tsx이력테스트94.4%어제 · #2154 | 컴포넌트 | 조사자 직접입력 변수 — 칩 한 줄(변수 · 수정 · 삭제)이 처음 모습이고, 수정 아이콘이나 `변수 추가` 를 누르면 아래에 편집 칸이 열리며 같은 버튼을 다시 누르면 닫힌다(결정 20261102 4항). |
app/(workspace)/admin/application-forms/_lib/5GitHub
/admin/application-forms 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
application-form-draft.ts이력테스트100.0% | 모듈 | `확정` 한 번에 저장하는 화면 초안의 내용 — 유형별 질문·안내 문구·운영 메모와 조사자 직접입력 변수. |
application-form-limits.ts이력테스트100.0% | 모듈 | 서버 계약(`ApplicationFormQuestion`·`ApplicationFormVariable` 등)의 입력 규칙 — 어기면 `확정` 이 400 으로 거절되므로 화면이 먼저 막는다(결정 20261102 13항). |
question-variable-chip.ts이력테스트100.0% | 모듈 | 편집 목록의 질문 본문 안 변수 칩 — 문구·정의 여부·툴팁. |
queries.ts이력100.0% | 쿼리 | 관리자 화면이 읽는 현재 설정의 캐시 키. |
use-application-form-settings.ts이력88.2% | 훅 | 서버가 편집 기준 버전 불일치를 알리는 코드 — 다른 관리자가 먼저 저장했다. |
app/(workspace)/admin/approval-center/1GitHub
/admin/approval-center 화면.
app/(workspace)/admin/approval-center/review/1GitHub
/admin/approval-center/review 화면.
app/(workspace)/admin/approval-center/review/_components/3GitHub
/admin/approval-center/review 화면에서만 쓰는 컴포넌트.
approval-review-view.tsx이력95.0%3일 전 · #2094 | 컴포넌트 | 관리자 — 지식컬렉션 승인 검토 (N06). |
review-decision-panel.tsx이력96.0%4일 전 · #2035 | 컴포넌트 | 승인 판단 패널 — 프로토타입 검토 화면(`ReviewActionPanel`)과 같은 모양·문구다. |
review-file-table.tsx이력62.5% | 컴포넌트 | 검토 대상 파일 — 프로토타입의 공용 파일 표(`CollectionFileTable`)와 같은 열 순서·표기를 공용 `DataTable` 로 그린다: 이름 · 파일 형태 · 크기 · 상태 · 처리 단계 · 업데이트 일시 · 보기, 하단에 쪽 이동. |
app/(workspace)/admin/approval-center/_components/8GitHub
/admin/approval-center 화면에서만 쓰는 컴포넌트.
decision-button-styles.ts이력100.0% | 모듈 | 승인센터 결정 버튼의 모양 — 프로토타입 `.secondary-btn` / `.primary-btn` 규격(높이 40px·둥근 8px). |
approval-detail-dialog.tsx이력87.8%4일 전 · #2035 | 컴포넌트 | 목록에서 요청 한 건을 여는 팝업 — 프로토타입의 두 팝업(공용컬렉션 승인 요청 / 문서 추가 요청)을 한 골격으로 합쳤다. |
approval-list-filters.tsx이력100.0%2일 전 · #2122 | 컴포넌트 | 목록 머리 — 건수 요약과 상태 필터. |
approval-list-view.tsx이력97.6% | 컴포넌트 | 관리자 — 지식컬렉션 승인 목록 (N06, 승인센터 메뉴). |
approval-table-columns.tsx이력100.0%오늘 · #2189 | 컴포넌트 | 승인 목록의 열 정의. |
approval-type-chip.tsx이력100.0% | 컴포넌트 | 요청 유형 칩 — 상태 뱃지와 구분되도록 모서리만 각지게 한다(프로토타입 승인 목록의 유형 칩). |
reject-reason-field.tsx이력100.0% | 컴포넌트 | 반려 사유 칸 — "반려"를 누르면 그 자리에 열린다(프로토타입 승인 팝업·검토 화면과 같은 모양). |
review-file-viewer.tsx이력테스트87.5% | 컴포넌트 | 승인 검토의 파일 뷰어 — 공통 문서 뷰어(`DocumentViewerDialog`)에 승인 미리보기 쿼리를 이어 준다. |
app/(workspace)/admin/approval-center/_lib/5GitHub
/admin/approval-center 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
approval.ts이력테스트96.1%오늘 · #2189 | 모듈 | 관리자 지식컬렉션 승인센터(N06)의 표시 규칙 — 목록과 검토 화면이 함께 쓴다. |
queries.ts이력테스트100.0% | 쿼리 | 승인 목록 조회 조건 — 백엔드 `CollectionApprovalController.ApprovalListFilter` 와 같은 값이다. |
decision-requests.test.ts이력 | 테스트 | 승인 처리 요청의 시간 제한 |
viewer-requests.test.ts이력 | 테스트 | 승인 검토 뷰어 요청 — 10초 timeout 없이 받는다 |
use-approval-decision.ts이력91.7% | 훅 | 승인 요청 한 건의 승인·반려 — 목록의 상세 팝업과 검토 화면이 함께 쓴다. |
app/(workspace)/admin/audit-logs/1GitHub
/admin/audit-logs 화면.
page.tsx이력테스트100.0%3일 전 · #2094 | 화면 | /admin/audit-logs 화면 진입점. |
app/(workspace)/admin/audit-logs/_components/5GitHub
/admin/audit-logs 화면에서만 쓰는 컴포넌트.
audit-log-filters.tsx이력100.0% | 컴포넌트 | 감사 로그 필터 줄. |
audit-log-view.tsx이력94.6%2일 전 · #2122 | 컴포넌트 | 설명 주석 없음 |
integration-exchange-detail-dialog.tsx이력100.0%6일 전 · #1939 | 컴포넌트 | 연동 교환 한 건의 상세 — 요청·응답 본문은 여기서만 보인다(목록 응답에 본문이 없다, 결정 20261023 §4). |
integration-exchange-filters.tsx이력94.7% | 컴포넌트 | 「연동 기록」 탭의 필터 줄 — 감사 로그 필터와 같은 조회 규칙(`useFilterDraft`). |
integration-exchange-view.tsx이력89.7%6일 전 · #1939 | 컴포넌트 | 설명 주석 없음 |
app/(workspace)/admin/audit-logs/_lib/4GitHub
/admin/audit-logs 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
audit-log.ts이력테스트100.0%2일 전 · #2112 | 모듈 | 셀렉트 항목 순서 — 적재 지점이 늘어나면 백엔드 enum 이 먼저 늘고 여기가 따라간다. |
integration-exchange.ts이력테스트100.0% | 모듈 | 감사 로그 화면의 탭. |
queries.ts이력100.0% | 쿼리 | 한 쪽의 행 수. |
audit-log-export.test.ts이력 | 테스트 | 감사 로그 CSV 내보내기 조건 |
app/(workspace)/admin/classification-mappings/1GitHub
/admin/classification-mappings 화면.
page.tsx이력테스트100.0%3일 전 · #2094 | 화면 | 고른 위탁사를 URL search param 으로 읽으므로(`useSearchParams`) 본체는 Suspense 경계 안에 둔다. |
app/(workspace)/admin/classification-mappings/_components/7GitHub
/admin/classification-mappings 화면에서만 쓰는 컴포넌트.
classification-mapping-table.tsx이력95.7%오늘 · #2180 | 컴포넌트 | 로딩 중 표 자리 — 왼쪽 폴더 목록 카드와 오른쪽 배정 카드. |
classification-mapping-view.tsx이력100.0%오늘 · #2189 | 컴포넌트 | 설명 주석 없음 |
load-client-mapping-dialog.tsx이력96.4%오늘 · #2180 | 컴포넌트 | `다른 위탁사 매핑 불러오기` — 매핑을 확정한 위탁사를 고르고 그 위탁사의 폴더를 골라, 그 폴더의 저장본 분류로 편집 패널 선택을 덮어쓴다. |
mapping-confirmation-changes.tsx이력94.4%오늘 · #2180 | 컴포넌트 | 추가·제거 분류 이름 목록 — 확정 확인 창과 `Studio 분류 편집` 하단(적용 전 변경)이 같이 쓴다. |
mapping-confirmation-history.tsx이력100.0%오늘 · #2189 | 컴포넌트 | `확정 이력 N건` 버튼이 여는 `매핑 확정 이력` 모달 — 버전 · 확정 일시 · 확정자 · 변경 건수를 표로 보인다 (프로토타입 `mapping-history-dialog.tsx`). |
studio-deployment-pending-notice.tsx이력100.0%오늘 · #2161 | 컴포넌트 | 분류체계 매핑 위탁사 탭 위 — 사고조사 Workflow(에이전트 스튜디오) 배포 대기 한 줄과 `자세히` 창(결정 20261112 7항, 20261020 3항). |
unassigned-agent-types-disclosure.tsx이력100.0%오늘 · #2180 | 컴포넌트 | 미확정 상자 안의 미배정 줄 — `미배정 Studio 분류 N종 모두 폴더에 배정해야 매핑을 확정할 수 있습니다.` 누르면 미배정 분류 이름을 칩으로 펼치고 다시 누르면 접는다. |
app/(workspace)/admin/classification-mappings/_lib/3GitHub
/admin/classification-mappings 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
mapping.ts이력테스트100.0%오늘 · #2180 | 모듈 | 분류체계 매핑의 편집 상태 계산 — 화면(classification-mapping-view.tsx)에서 떼어 낸 순수 함수들. |
queries.ts이력100.0% | 쿼리 | 매핑을 저장한다(전량 치환 `PUT`). |
mapping-load.test.ts이력 | 테스트 | loadableFoldersOf |
app/(workspace)/admin/client-workspace/1GitHub
/admin/client-workspace 화면.
page.tsx이력테스트100.0%6일 전 · #1939 | 화면 | /admin/client-workspace 화면 진입점. |
app/(workspace)/admin/client-workspace/_components/5GitHub
/admin/client-workspace 화면에서만 쓰는 컴포넌트.
client-workspace-skeleton.tsx이력100.0%6일 전 · #1939 | 컴포넌트 | 진행률 카드와 네 단계 카드 — 상태 조회를 기다릴 때도, 화면 첫 진입에도 같은 틀을 쓴다. |
client-workspace-view.tsx이력100.0%2일 전 · #2122 | 컴포넌트 | 설명 주석 없음 |
delivery-channel-picker.tsx이력테스트100.0%2일 전 · #2106 | 컴포넌트 | 위탁사 워크스페이스 3단계 — 보고서 초안 전송 방식 택1 라디오(결정 20260902 1·7항). |
disclosure-link-edit-dialog.tsx이력100.0%2일 전 · #2106 | 컴포넌트 | URL 이 비어 `사용자 화면 노출` 토글이 잠겼을 때의 툴팁(프로토타입과 같은 문구). |
disclosure-link-summary.tsx이력100.0%2일 전 · #2106 | 컴포넌트 | 위탁사 Workspace 4단계 카드의 조회 영역 — 노출 상태(`활성화`/`비활성화`)·URL·`수정`, 링크가 없으면 안내와 `등록` (결정 20261023-client-workspace-disclosure-inline 1·4항). |
app/(workspace)/admin/client-workspace/_lib/3GitHub
/admin/client-workspace 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
disclosure-link-queries.ts이력100.0% | 모듈 | 공시실 링크 목록 캐시를 가리키는 키. |
disclosure-link.ts이력테스트100.0% | 모듈 | 위탁사 Workspace 4단계 `공시실 링크 설정` 이 응답을 읽고 저장 본문을 만드는 규칙 (결정 20261023-client-workspace-disclosure-inline — 카드 안 조회 + `수정`/`등록` 팝업 저장). |
onboarding.ts이력테스트100.0% | 모듈 | 화면이 그리는 단계·전체 상태. |
app/(workspace)/admin/dashboard/1GitHub
/admin/dashboard 화면.
page.tsx이력테스트100.0%3일 전 · #2094 | 화면 | 통계 대시보드는 메뉴 `DASHBOARD`의 독립 URL이다. |
app/(workspace)/admin/dashboard/lifecycle/1GitHub
/admin/dashboard/lifecycle 화면.
page.tsx이력테스트100.0%오늘 · #2168 | 화면 | /admin/dashboard/lifecycle 화면 진입점. |
app/(workspace)/admin/dashboard/lifecycle/_components/3GitHub
/admin/dashboard/lifecycle 화면에서만 쓰는 컴포넌트.
department-multi-select.tsx이력85.7%오늘 · #2168 | 컴포넌트 | 부서 조건(복수) — 한 줄 높이의 버튼을 누르면 조직도 순서의 체크 목록이 펼쳐진다. |
lifecycle-statistics-filters.tsx이력100.0%오늘 · #2168 | 컴포넌트 | 생애주기 통계 조건 줄 — 목록 필터 공통 규칙(`useFilterDraft`)대로 select·부서는 고르는 즉시, 날짜는 다 들어온 값일 때 즉시 적용하고 `조회` 도 그대로 둔다. |
lifecycle-statistics-view.tsx이력100.0%오늘 · #2168 | 컴포넌트 | 설명 주석 없음 |
app/(workspace)/admin/dashboard/lifecycle/_lib/2GitHub
/admin/dashboard/lifecycle 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
lifecycle-statistics.ts이력테스트100.0%오늘 · #2168 | 모듈 | 화면이 다루는 조건. |
queries.ts이력100.0%오늘 · #2168 | 쿼리 | 생애주기 통계 캐시 전체를 가리키는 키. |
app/(workspace)/admin/dashboard/unmapped/1GitHub
/admin/dashboard/unmapped 화면.
page.tsx이력테스트100.0%오늘 · #2168 | 화면 | /admin/dashboard/unmapped 화면 진입점. |
app/(workspace)/admin/dashboard/unmapped/_components/3GitHub
/admin/dashboard/unmapped 화면에서만 쓰는 컴포넌트.
resolve-dialog.tsx이력98.0%오늘 · #2168 | 컴포넌트 | 미매핑 원문값 하나(묶음)의 처리 창 — 병합·신규 등록·무시 중 행에서 고른 하나만 다룬다. |
unmapped-queue-filters.tsx이력100.0%오늘 · #2168 | 컴포넌트 | 미매핑 큐 필터 줄 — 목록 필터 공통 규칙(`useFilterDraft`)대로 select 는 고르는 즉시 적용하고, `조회` 도 그대로 둔다. |
unmapped-queue-view.tsx이력93.8%오늘 · #2168 | 컴포넌트 | 설명 주석 없음 |
app/(workspace)/admin/dashboard/unmapped/_lib/2GitHub
/admin/dashboard/unmapped 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
unmapped-queue.ts이력테스트100.0%오늘 · #2168 | 모듈 | 셀렉트 항목 순서 — 백엔드 `StatDimension` enum 순서를 따른다. |
queries.ts이력100.0%오늘 · #2168 | 쿼리 | 한 쪽의 행 수. |
app/(workspace)/admin/hospital-aliases/1GitHub
/admin/hospital-aliases 화면.
page.tsx이력테스트93.8%3일 전 · #2082 | 화면 | 관리자 · 병원 명칭 매핑 (`/admin/hospital-aliases`) — 결정 [20260910 병원 마스터 매칭](docs/decisions/20260910-hospital-master-matching.md) §6, 프로토타입 `app/(workspace)/admin/hospital-a… |
app/(workspace)/admin/hospital-aliases/_components/3GitHub
/admin/hospital-aliases 화면에서만 쓰는 컴포넌트.
alias-create-dialog.tsx이력95.0%4일 전 · #2035 | 컴포넌트 | `병원 이름 등재` 창 — 이름 입력 + 공용 `병원 찾기` 창으로 병원 지정(프로토타입 `AliasCreateModal`). |
hospital-alias-filters.tsx이력100.0%3일 전 · #2081 | 컴포넌트 | 필터 줄 — 사용 여부·등재 경로·통합 검색, `초기화`, 오른쪽 끝 `이름 등재`(프로토타입 배치). |
hospital-alias-table.tsx이력100.0%오늘 · #2189 | 컴포넌트 | 등재 목록 표 — 공용 `DataTable`(그리드형: 네이비 머리·줄무늬 행·열 폭 조절·정렬), 열은 여섯이다. |
app/(workspace)/admin/hospital-aliases/_lib/2GitHub
/admin/hospital-aliases 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
hospital-alias.ts이력테스트100.0%3일 전 · #2081 | 모듈 | 관리자 "병원 명칭 매핑" 화면(`/admin/hospital-aliases`)이 응답을 읽는 규칙 — 결정 20260910 §6, 프로토타입 `app/(workspace)/admin/hospital-aliases/page.tsx`·`lib/hospital-alias.ts`. |
queries.ts이력테스트100.0%3일 전 · #2081 | 쿼리 | 등재 목록 캐시 키의 머리. |
app/(workspace)/admin/knowledge/1GitHub
/admin/knowledge 화면.
page.tsx이력테스트100.0%6일 전 · #1939 | 화면 | 열린 폴더를 URL search param 으로 읽으므로(`useSearchParams`) 본체는 Suspense 경계 안에 둔다 — 경계가 없으면 프리렌더 단계에서 빌드가 막힌다. |
app/(workspace)/admin/knowledge/_components/4GitHub
/admin/knowledge 화면에서만 쓰는 컴포넌트.
admin-collection-detail.tsx이력90.3%2일 전 · #2122 | 컴포넌트 | 관리자 — 말단 폴더(공용 컬렉션)의 상세. |
admin-knowledge-view.tsx이력92.2%3일 전 · #2059 | 컴포넌트 | 관리자 — 지식컬렉션 관리(프로토타입 `/admin/knowledge`). |
collection-guide-settings-dialog.tsx이력94.7%6일 전 · #1939 | 컴포넌트 | 줄바꿈마다 한 항목 — 사용자 파일 추가 모달의 `관리자 안내` 박스와 같은 규칙. |
reference-defaults-panel.tsx이력테스트91.8%2일 전 · #2122 | 컴포넌트 | 공용 컬렉션 하나의 위탁사별 참조 기본값 — 저장값·편집본·저장. |
app/(workspace)/admin/knowledge/_lib/1GitHub
/admin/knowledge 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
admin-knowledge.ts이력테스트100.0% | 모듈 | 관리자 지식컬렉션 관리 화면의 표시·검색 규칙. |
app/(workspace)/admin/mail-account/1GitHub
/admin/mail-account 화면.
page.tsx이력테스트92.9%오늘 · #2181 | 화면 | 프로토타입 기준: 좌측 통합 설정 폼, 우측 실제 발송 로그. |
app/(workspace)/admin/mail-account/_components/2GitHub
/admin/mail-account 화면에서만 쓰는 컴포넌트.
mail-account-settings-form.tsx이력테스트96.2%오늘 · #2181 | 컴포넌트 | 설명 주석 없음 |
mail-dispatch-log-section.tsx이력테스트97.4%오늘 · #2181 | 컴포넌트 | 설명 주석 없음 |
app/(workspace)/admin/mail-account/_lib/4GitHub
/admin/mail-account 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
mail-account.ts이력테스트100.0%오늘 · #2189 | 모듈 | 관리자 "메일 발송 계정" 화면이 응답을 읽는 규칙 (야간 20260827 N03). |
mail-dispatch-log.ts이력테스트100.0%오늘 · #2181 | 모듈 | 화면이 다루는 조회 조건. |
settings-form.ts이력100.0% | 모듈 | 설명 주석 없음 |
queries.ts이력100.0%2일 전 · #2096 | 쿼리 | 발송 로그 한 쪽의 행 수. |
app/(workspace)/admin/organization/1GitHub
/admin/organization 화면.
page.tsx이력테스트100.0%3일 전 · #2094 | 화면 | /admin/organization 화면 진입점. |
app/(workspace)/admin/organization/_components/6GitHub
/admin/organization 화면에서만 쓰는 컴포넌트.
department-tree.tsx이력100.0% | 컴포넌트 | 조직도 트리 — 부서 하나를 고르는 목록. |
organization-change-notices.tsx이력100.0%오늘 · #2189 | 컴포넌트 | 화면 위 「HR 데이터 갱신됨」 안내 — 닫아도 「변경 조직」·「변경 대상자만」은 남는다(확인 완료 전까지). |
organization-source-notice.tsx이력100.0% | 컴포넌트 | HR 원천 필드와 이 화면에서 수정할 수 있는 필드의 경계를 알려준다. |
organization-view.tsx이력97.8%오늘 · #2189 | 컴포넌트 | 고른 부서가 실리는 URL search param 이름. |
user-detail-dialog.tsx이력테스트98.0%오늘 · #2157 | 컴포넌트 | 설명 주석 없음 |
user-role-cell-editor.tsx이력테스트97.7%오늘 · #2189 | 컴포넌트 | 사용자 레벨 셀에서 바로 여는 복수 선택 편집기. |
app/(workspace)/admin/organization/_lib/5GitHub
/admin/organization 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
role-edit.ts이력테스트100.0%어제 · #2156 | 모듈 | 사용자 레벨 편집(N02)의 순수 로직 — 화면(다이얼로그)에서 떼어 낸 계산만 모은다. |
tree.ts이력테스트100.0% | 모듈 | 조직도 트리의 노드 하나 — 계약 타입 그대로다. |
user-sort.ts이력테스트100.0% | 모듈 | 직원 목록 이메일 열 id — 폭 1536px 이상에서만 보인다(`use-wide-viewport`). |
queries.ts이력100.0% | 쿼리 | 조직 변경 현황 캐시 키 — 확인 완료 뒤 무효화 대상이다. |
use-wide-viewport.ts이력테스트100.0% | 훅 | 직원 목록의 이메일 열을 보이는 폭 — 프로토타입·화면 기준선 「조직도」(폭 1536px 이상). |
app/(workspace)/admin/permissions/1GitHub
/admin/permissions 화면.
page.tsx이력테스트100.0%6일 전 · #1939 | 화면 | /admin/permissions 화면 진입점. |
app/(workspace)/admin/permissions/_components/6GitHub
/admin/permissions 화면에서만 쓰는 컴포넌트.
approval-flow-card.tsx이력100.0% | 컴포넌트 | `지식컬렉션 승인 흐름` 카드 — 요청 → (1차 승인) → 최종 승인. |
approval-row-hint.tsx이력60.0% | 컴포넌트 | 승인센터 행의 설명 — 메뉴명 옆 `i` 아이콘에 마우스를 올리거나 키보드로 초점을 주면 메모 형태로 뜬다. |
permission-cells.tsx이력100.0% | 컴포넌트 | 일반 메뉴의 (메뉴, 레벨) 셀 — 체크하면 그 레벨이 메뉴를 쓴다. |
permission-console-section.tsx이력100.0% | 컴포넌트 | 콘솔 한 구획의 카드 — 제목 띠 아래에 매트릭스 표가 이어진다(조회 중 골격과 본 표가 같은 틀을 쓴다). |
permission-matrix-table.tsx이력100.0%3일 전 · #2094 | 컴포넌트 | 승인센터 행을 체크박스 대신 승인 권한 선택으로 그리기 위한 조작 묶음. |
permission-toolbar.tsx이력100.0%4일 전 · #2035 | 컴포넌트 | 안내 문구 + 마지막 저장 시각(왼쪽), 기본값·변경 취소·저장 버튼(오른쪽) — 프로토타입 권한 화면의 줄과 같은 배치다. |
app/(workspace)/admin/permissions/_lib/4GitHub
/admin/permissions 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
approval-policy.ts이력테스트100.0% | 모듈 | 지식컬렉션 승인 정책(1차 승인 레벨)의 편집 규칙 — 매트릭스의 `지식컬렉션 승인` 행만 체크박스 대신 승인 권한 선택이다. |
matrix.ts이력테스트100.0% | 모듈 | 권한 매트릭스의 편집 상태 계산 — 화면(page.tsx)에서 떼어 낸 순수 함수들. |
queries.ts이력100.0% | 쿼리 | 바뀐 것만 반영한다(PATCH) — 바뀐 셀과, 바뀐 경우의 1차 승인 지정. |
use-permission-draft.ts이력100.0% | 훅 | 권한 관리 화면의 저장 전 편집본 — 바뀐 셀과 1차 승인 지정 변경. |
app/(workspace)/admin/report-disposal-logs/1GitHub
/admin/report-disposal-logs 화면.
page.tsx이력테스트100.0%3일 전 · #2094 | 화면 | /admin/report-disposal-logs 화면 진입점. |
app/(workspace)/admin/report-disposal-logs/_components/1GitHub
/admin/report-disposal-logs 화면에서만 쓰는 컴포넌트.
report-disposal-log-view.tsx이력93.1%2일 전 · #2096 | 컴포넌트 | 설명 주석 없음 |
app/(workspace)/admin/report-send-logs/1GitHub
/admin/report-send-logs 화면.
page.tsx이력0.0%6일 전 · #1939 | 화면 | 조건·쪽 번호를 URL search param 으로 읽으므로(`useSearchParams`) 본체는 Suspense 경계 안에 둔다. |
app/(workspace)/admin/report-send-logs/_components/1GitHub
/admin/report-send-logs 화면에서만 쓰는 컴포넌트.
report-send-log-view.tsx이력테스트80.9%오늘 · #2181 | 컴포넌트 | 설명 주석 없음 |
app/(workspace)/admin/report-send-logs/_lib/2GitHub
/admin/report-send-logs 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
report-send-log.ts이력테스트100.0% | 모듈 | 화면이 다루는 조회 조건. |
queries.ts이력80.0%2일 전 · #2096 | 쿼리 | 전송 로그 목록 쿼리 접두사 — 검색칸 Enter 가 같은 조건이어도 다시 받게 할 때 쓴다(`useFilterRefresh`). |
app/(workspace)/admin/report-types/1GitHub
/admin/report-types 화면.
page.tsx이력테스트98.1%4일 전 · #2035 | 화면 | 관리자 · 보고서 유형 설정 (`/admin/report-types`) — 야간 20260930 NT02. |
app/(workspace)/admin/report-types/_components/3GitHub
/admin/report-types 화면에서만 쓰는 컴포넌트.
add-claim-type-dialog.tsx이력100.0%6일 전 · #1939 | 컴포넌트 | 청구유형 추가 대화상자 — 야간 20260930 NT02. |
claim-type-table.tsx이력100.0%6일 전 · #1939 | 컴포넌트 | 청구유형 목록 표 — 야간 20260930 NT02. |
studio-guide-dialog.tsx이력100.0% | 컴포넌트 | 유형 추가 직후 안내 창 — 사고조사 Workflow 스키마 정의의 AI 보고서 단계에서 모든 위탁사·모든 탭의 작성 지침을 정의하고 배포하도록 이끈다(프로토타입 `DefineSchemaAlert`, 문구는 결정 20261102 6항). |
app/(workspace)/admin/report-types/_lib/3GitHub
/admin/report-types 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
claim-type.ts이력테스트100.0% | 모듈 | 관리자 "보고서 유형 설정" 화면(`/admin/report-types`)이 응답을 읽는 규칙 — 야간 20260930 NT02. |
report-type-guideline.ts이력테스트100.0% | 모듈 | 관리자 "보고서 유형 설정" 화면의 **`스키마 정의 필요` 판정** — 야간 20261001 ND03, 판정 원천은 결정 20261102 7항으로 바로잡았다. |
queries.ts이력100.0% | 쿼리 | 청구유형 마스터 캐시를 가리키는 키. |
app/(workspace)/admin/_components/14GitHub
/admin 화면에서만 쓰는 컴포넌트.
app/(workspace)/admin/_lib/7GitHub
/admin 화면의 쿼리(queryOptions)·순수 계산·규칙 — 다른 화면에서 import 하지 않는다.
chat-error-statistics.ts이력테스트100.0%오늘 · #2189 | 모듈 | 위탁사 조건이 걸리지 않는 카드의 표시 — 채팅·시스템 실패에는 위탁사가 없다. |
dashboard-items.ts이력테스트100.0% | 모듈 | 통계 대시보드 `표시 항목 선택` 의 목록 — 탭 → 구역 → 카드. |
detail-table.ts이력테스트100.0% | 모듈 | 통계 카드 `더보기` 모달의 표 질의 — 화면(chart-detail-modal.tsx)에서 떼어 낸 순수 함수들. |
processing-usage-statistics.ts이력테스트100.0%오늘 · #2189 | 모듈 | 분포 구간 라벨 — `~5분` · `5~10분` · `30분 초과`(프로토타입 카드의 표기). |
service-status.ts이력테스트100.0% | 모듈 | 시스템 모니터링 「서비스 상태」(#30) 카드의 규칙 — 원천은 `GET /api/v1/admin/statistics/service-status`(Prometheus 조회). |
statistics-dashboard.ts이력테스트100.0%오늘 · #2168 | 모듈 | 추이 차트의 조회 단위 — 일별 롤업을 화면에서 묶는다(계약: 주·월·연 묶기는 화면 몫). |
queries.ts이력100.0%오늘 · #2168 | 쿼리 | 업무 통계 캐시 전체를 가리키는 키. |
components/
components/ui/GitHub
shadcn 프리미티브·UI 킷
components/ui/45GitHub
shadcn 프리미티브와 프로젝트 UI 킷. 업무 의미(상태 이름·라벨)는 담지 않고 표현만 둔다.
data-table-widths.ts이력테스트100.0% | 모듈 | 남는 폭 배분에 필요한 열 정보 — `DataTableColumn` 의 부분집합이다. |
README.md이력2일 전 · #2096 | 문서 | UI 킷 사용법 — 프리미티브와 프로젝트 UI 킷의 구분, 컴포넌트별 예시. |
alert-dialog.tsx이력76.9% | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
badge.tsx이력100.0% | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
button.tsx이력테스트100.0%4일 전 · #2037 | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
card.tsx이력85.7% | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
character-counter.tsx이력테스트96.6% | 컴포넌트 | UI 킷 — 글자 수 상한이 있는 작성란 (사용법은 components/ui/README.md). |
checkbox.tsx이력100.0%어제 · #2135 | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
confirm-dialog.tsx이력테스트100.0%6일 전 · #1939 | 컴포넌트 | UI 킷 — 알리고 확인받는 창 (사용법은 components/ui/README.md). |
data-table.tsx이력테스트98.9%6일 전 · #1939 | 컴포넌트 | UI 킷 — 데이터 테이블 (사용법은 components/ui/README.md). |
dialog.tsx이력90.9% | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
dropdown-menu.tsx이력43.8% | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
empty-state.tsx이력테스트100.0% | 컴포넌트 | UI 킷 — 빈 상태 (사용법은 components/ui/README.md). |
field.tsx이력테스트100.0%어제 · #2135 | 컴포넌트 | UI 킷 — 폼 컨트롤 래퍼 (사용법은 components/ui/README.md). |
filter-bar.tsx이력테스트100.0%2일 전 · #2096 | 컴포넌트 | UI 킷 — 목록 필터 줄 (사용법은 components/ui/README.md). |
filter-chip.tsx이력100.0%오늘 · #2180 | 컴포넌트 | 설명 주석 없음 |
form-actions.tsx이력테스트100.0% | 컴포넌트 | UI 킷 — 페이지 폼 행동 영역 (사용법은 components/ui/README.md). |
inline-edit-text.tsx이력테스트100.0%7일 전 · #1916 | 컴포넌트 | UI 킷 — 그 자리에서 고치는 텍스트 (사용법은 components/ui/README.md). |
input.tsx이력100.0% | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
kebab-menu.tsx이력테스트100.0% | 컴포넌트 | UI 킷 — 행 액션 메뉴 (사용법은 components/ui/README.md). |
label.tsx이력100.0% | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
loading-overlay.tsx이력테스트100.0%6일 전 · #1939 | 컴포넌트 | UI 킷 — 저장 중 덮개 (사용법은 components/ui/README.md). |
loading-region.tsx이력100.0%6일 전 · #1939 | 컴포넌트 | 설명 주석 없음 |
modal-frame.tsx이력테스트100.0% | 컴포넌트 | UI 킷 — 모달 프레임 (사용법은 components/ui/README.md). |
native-select.tsx이력테스트100.0% | 컴포넌트 | UI 킷 — 기본 셀렉트 (사용법은 components/ui/README.md). |
navigation-tabs.tsx이력100.0%2일 전 · #2122 | 컴포넌트 | 설명 주석 없음 |
notice.tsx이력테스트100.0%오늘 · #2180 | 컴포넌트 | UI 킷 — 안내 상자 (사용법은 components/ui/README.md). |
page-heading.tsx이력테스트100.0% | 컴포넌트 | UI 킷 — 페이지 제목 (사용법은 components/ui/README.md). |
pagination.tsx이력테스트95.0%7일 전 · #1933 | 컴포넌트 | UI 킷 — 데이터 테이블 (사용법은 components/ui/README.md). |
radio-group.tsx이력100.0%어제 · #2135 | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
search-input.tsx이력테스트100.0%오늘 · #2165 | 컴포넌트 | UI 킷 — 검색칸 (사용법은 components/ui/README.md). |
section-card.tsx이력테스트100.0%오늘 · #2181 | 컴포넌트 | UI 킷 — 구획 카드 (사용법은 components/ui/README.md). |
segmented-control.tsx이력100.0%2일 전 · #2122 | 컴포넌트 | 설명 주석 없음 |
skeleton.tsx이력100.0%6일 전 · #1939 | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
sonner.tsx이력100.0% | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
spinner.tsx이력테스트100.0%6일 전 · #1939 | 컴포넌트 | 설명 주석 없음 |
status-badge.tsx이력테스트100.0% | 컴포넌트 | UI 킷 — 상태 뱃지 (사용법은 components/ui/README.md). |
switch.tsx이력테스트100.0% | 컴포넌트 | 설명 주석 없음 |
table.tsx이력88.9% | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
textarea.tsx이력100.0% | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
three-column-layout.tsx이력테스트100.0% | 컴포넌트 | UI 킷 — 워크스페이스 3컬럼 (사용법은 components/ui/README.md). |
tooltip.tsx이력100.0% | 컴포넌트 | shadcn/ui 프리미티브 — CLI 생성물이라 손으로 고치지 않는다. |
alert-banner.test.tsx이력 | 테스트 | Notice 배너 |
choice-controls.test.tsx이력어제 · #2135 | 테스트 | 선택지 크기 |
navigation-controls.test.tsx이력2일 전 · #2122 | 테스트 | 공용 탐색 컨트롤 |
components/
components/common/GitHub
두 콘솔 공용
components/common/68GitHub
User·Admin 두 콘솔이 같은 의미로 쓰는 앱 쉘(LNB)·가드·배너.
analysis-request.ts이력테스트100.0%2일 전 · #2101 | 모듈 | 분석 요청(W09)의 화면 입력 → 계약(`AnalysisRequestCommand`) 변환 — 순수 계산만 둔다. |
application-form-settings.ts이력100.0% | 모듈 | 청약서 폼 설정 응답(`ApplicationFormSettingsView`)을 화면이 쓰는 모양으로 좁힌다. |
application-form-templates.ts이력테스트100.0% | 모듈 | 청약서 유형별 질문 템플릿 — 관리자 `청약서 폼 설정`과 사용자 분석 조건 입력이 함께 쓰는 화면 모델. |
application-form-variables.ts이력66.7% | 모듈 | 조사자 직접입력 변수 — 관리자 `청약서 폼 설정`의 공통 변수 팔레트와 질문 본문 `{{변수명}}` 의 정의. |
session-exit.ts이력테스트100.0% | 모듈 | 화면 이동 — 테스트가 갈아 끼울 수 있게 객체로 둔다(`vi.spyOn(sessionNavigation, "assign")`). |
workspace-menu.ts이력테스트98.0%오늘 · #2168 | 모듈 | LNB 메뉴 구성 — 권한 API(`GET /api/v1/menu-permissions/my`) 응답을 화면이 쓸 형태로 바꾼다. |
workspace-nav-badge.ts이력테스트100.0%오늘 · #2180 | 모듈 | LNB 뱃지 표시 규칙 — 숫자 문구·색·그룹명 점(결정 20261022 10항, 프로토타입 `components/admin/app-sidebar.tsx`). |
workspace-nav-hooks.ts이력테스트100.0% | 모듈 | LNB 접힘 상태 — 프로토타입 app-sidebar 와 같은 규칙이다. |
workspace-nav-icons.ts이력테스트100.0% | 모듈 | 매핑된 아이콘이 없는 메뉴·그룹이 라벨 첫 글자로 자리를 채우는 폴백. |
workspace-nav-styles.ts이력테스트100.0% | 모듈 | LNB 하위 컴포넌트가 함께 쓰는 스타일 조각. |
analysis-condition-modal.tsx이력테스트90.3%2일 전 · #2101 | 컴포넌트 | 청약서 폼 설정 조회 결과 — 호출부가 훅(`useApplicationFormTemplates`)으로 받아 넘긴다. |
analysis-knowledge-chips.tsx이력테스트100.0%4일 전 · #2037 | 컴포넌트 | 분석 조건 ③ 지식컬렉션 — 고른 **문서**가 칩으로 서고(× 로 하나씩 뺀다), `지식컬렉션 선택` 으로 문서보관함 팝업(문서 단위)을 연다. |
application-question-block.tsx이력테스트85.7%어제 · #2135 | 컴포넌트 | 청약서 질문 1건 — 프로토타입 `application-question-block` 을 옮겼다. |
back-aware-parent-menu-link.tsx이력100.0% | 컴포넌트 | 상위 메뉴로 가는 링크 — 다른 화면에서 넘어온 경우(`?back=…`)에는 그 화면(조건 포함)으로 돌아가게 한다. |
chat-ask-failure-notifier.tsx이력테스트94.7% | 컴포넌트 | 다른 화면에 있는 동안 질문 전송이 실패하면 알린다(결정 20261030-agent-chat-pending-in-lnb 3항). |
claim-hospital-inputs.tsx이력테스트100.0%어제 · #2135 | 컴포넌트 | 청구병원 후보 조회 결과 — 호출부(사고조사 건)가 훅으로 받아 넘긴다. |
collection-comment-dialog.tsx이력78.3%6일 전 · #1939 | 컴포넌트 | 컬렉션 `설명 변경` 모달 — 폴더 브라우저의 폴더 케밥 `이름 변경 / 설명 변경 / 삭제` 가 연다 (docs/decisions/20261013-knowledge-collection-comment-edit-kebab.md §2). |
collection-description.tsx이력테스트100.0%3일 전 · #2059 | 컴포넌트 | 사용자 수정 상태 안내 — 반영 안 된 파일이 있으면 버튼을 누르라고 알린다(결정 20261016-collection-description-manual-generate §3). |
collection-detail-panel.tsx이력테스트100.0%오늘 · #2168 | 컴포넌트 | 지식컬렉션 상세의 공통 틀 — 사용자 콘솔(`/user/knowledge` 말단 폴더)과 관리자 콘솔 (`/admin/knowledge` 말단 폴더)이 같은 모양으로 쓴다(관리자 컬렉션 파일 목록 UI 기준, 결정 20261016-knowledge-collection-detail-unify). |
collection-file-bulk-actions.tsx이력100.0%3일 전 · #2099 | 컴포넌트 | 파일 표 위 — 체크한 파일을 한꺼번에 `삭제`·`재색인`한다. |
collection-file-table.tsx이력테스트83.3%2일 전 · #2125 | 컴포넌트 | 페이지당 건수 선택지 — 프로토타입 파일 표(`AppDataGrid`)와 같다. |
collection-file-upload-dialog.tsx이력84.5%오늘 · #2189 | 컴포넌트 | 관리자 안내 머리의 `갱신자 · ` 접두 — `이름(사번)`(결정 20261113-person-label-name-employee-no), 이름이 없으면 사번, 둘 다 없으면(갱신자 기록 전 저장분) 빈 문자열. |
collection-file-viewer.tsx이력테스트100.0%오늘 · #2168 | 컴포넌트 | 미리볼 수 없는 파일(409 `COLLECTION_FILE_PREVIEW_UNAVAILABLE`) 안내 — PDF 로 바꾸지 않는 형식(txt·md·csv 등)이거나 미리보기를 만들지 못했다. |
collection-form-dialog.tsx이력72.7%6일 전 · #1939 | 컴포넌트 | 컬렉션 설명 수정 폼. |
collection-search-results.tsx이력테스트87.5%오늘 · #2189 | 컴포넌트 | 쪽 번호·쪽 크기를 화면이 쥘 때 넘긴다 — 두 지식컬렉션 화면은 URL search param 에 싣는다(결정 20261019-list-filter-url-state). |
collection-upload-progress.tsx이력테스트100.0% | 컴포넌트 | 파일 표 위 업로드 요약 한 줄 — 파일마다 임시 행을 붙이지 않고 진행을 숫자로 보인다 (결정 20261030-collection-upload-progress-summary). |
collection-upload-rejection-notice.tsx이력100.0% | 컴포넌트 | `추가하지 못한 파일` — 고르는 순간 거른 파일을 사유별로 묶어 보인다(프로토타입 `FileUploadRejectionNotice`). |
console-access-guard.tsx이력100.0%6일 전 · #1939 | 컴포넌트 | 콘솔 공통 접근 가드. |
console-access-undecided.tsx이력100.0%6일 전 · #1939 | 컴포넌트 | 메뉴 권한을 아직 판정하지 못한 동안의 본문 자리 — `ConsoleAccessGuard` 가 화면 본문 대신 그린다. |
console-switcher.tsx이력100.0% | 컴포넌트 | User ↔ Admin 콘솔 전환 (프로토타입 LNB 상단의 전환 버튼 패턴을 재작성). |
content-page.tsx이력테스트100.0%3일 전 · #2051 | 컴포넌트 | 설명 주석 없음 |
folder-cascade-select.tsx이력100.0% | 컴포넌트 | 폴더 구조 검색의 단계별 select — 대분류부터 한 단계씩 이어지는 select 를 그리고, 하위 폴더가 없는 단계에서 멈춘다. |
folder-path-chips.tsx이력테스트100.0% | 컴포넌트 | 폴더 경로 칩 — 파일 메타 정보(폴더 구조)의 표시. |
hint-tooltip.tsx이력테스트100.0%2일 전 · #2106 | 컴포넌트 | 글자가 말줄임으로 잘렸는가 — 트리거 안 첫 요소(말줄임 글자)가 있으면 그것을, 없으면 트리거를 잰다. |
horizontal-scrollbar-height.tsx이력테스트100.0%3일 전 · #2051 | 컴포넌트 | 페이지 가로 스크롤바의 높이를 CSS 변수로 알린다 — 화면 높이에 맞추는 틀(`--app-height`)이 그만큼 줄어, 세로 스크롤이 함께 생기지 않는다 (결정 20261109-screen-min-width). |
hospital-search-dialog.tsx이력테스트100.0%오늘 · #2165 | 컴포넌트 | 병원 마스터 검색 창(`병원 찾기`) — 프로토타입 `components/common/hospital-search-modal.tsx`. |
knowledge-archive-picker.tsx이력테스트94.4%어제 · #2135 | 컴포넌트 | 지금 고를 수 있는 문서 — 처리가 끝났고 추가 승인 대기·반려가 아닌 것(프로토타입 `isSelectableArchiveFile`). |
knowledge-folder-browser.tsx이력86.8%오늘 · #2168 | 컴포넌트 | 지금 보고 있는 자리 — 공간 루트(folderId null)거나 폴더 하나. |
knowledge-folder-tree.tsx이력테스트100.0% | 컴포넌트 | 폴더 트리 — 폴더 하나를 고르는 목록. |
log-list-card.tsx이력테스트100.0%오늘 · #2181 | 컴포넌트 | 설명 주석 없음 |
menu-page-heading.tsx이력테스트100.0% | 컴포넌트 | 설명 주석 없음 |
onboarding-guard.tsx이력테스트100.0%6일 전 · #1939 | 컴포넌트 | 3차 가드 — 세션은 있으나 온보딩(부수정보 설정)이 끝나지 않은 사용자를 워크스페이스에서 차단한다. |
page-skeleton.tsx이력테스트66.7%3일 전 · #2094 | 컴포넌트 | 화면 첫 진입(`Suspense`) 자리 표시 — 실제 화면의 큰 구조(제목·필터·표·열 구성)를 따른다 (결정 20261105-frontend-query-state-display). |
parent-menu-link.tsx이력테스트100.0% | 컴포넌트 | 한국어 명사 뒤의 방향 조사(로/으로)를 받침과 ㄹ 받침 규칙에 맞춰 붙인다. |
query-boundary.tsx이력테스트100.0%3일 전 · #2094 | 컴포넌트 | 설명 주석 없음 |
request-error-banner.tsx이력테스트100.0%6일 전 · #1939 | 컴포넌트 | 서버가 문구를 주지 않았을 때의 기본 안내. |
route-error-page.tsx이력테스트100.0% | 컴포넌트 | 라우트 404와 오류 경계가 공유하는 안내. |
session-timer.tsx이력테스트91.7% | 컴포넌트 | 만료 경고 창을 띄우고 타이머 색을 바꾸는 남은 시간 — 연장할 시간을 최소 20초 주라는 WCAG 2.2.1 과 사람의 반응 시간을 고려한 60초(20261008 결정 4항, 프로토타입 `SESSION_WARNING_SECONDS` 와 같다). |
shared-target-picker.tsx이력98.2%어제 · #2135 | 컴포넌트 | 전환 요청·승인이 보내는 공용 대상 — 기존 폴더 또는 새 폴더(위치 + 이름). |
workspace-nav-brand.tsx이력100.0% | 컴포넌트 | LNB 상단 — 로고·콘솔 이름(홈 링크)과 한 줄 설명. |
workspace-nav-collapsible-text.tsx이력100.0% | 컴포넌트 | 접히면 폭과 투명도가 0 으로 줄어드는 LNB 텍스트. |
workspace-nav-footer.tsx이력100.0% | 컴포넌트 | 공통 LNB 하단 — 로그아웃과 제품 귀속 표기를 같은 시각적 위계로 정리한다. |
workspace-nav-group-flyout.tsx이력91.7% | 컴포넌트 | 접힌 LNB 의 그룹 — 아이콘 하나만 보이는 레일에서 그룹의 하위 화면 전체로 가는 길. |
workspace-nav-group.tsx이력100.0%오늘 · #2180 | 컴포넌트 | 주소의 단계 탭(`?tab=`)을 읽어 그룹에 넘긴다. |
workspace-nav-label.tsx이력100.0% | 컴포넌트 | 사이드바 폭이 바뀌는 동안 줄바꿈 높이가 튀지 않도록 펼친 폭에서 글자를 배치한다. |
workspace-nav-menu-item.tsx이력88.9%오늘 · #2180 | 컴포넌트 | 메뉴 오른쪽 숫자 뱃지 — 건수와 화면 읽기 프로그램이 읽을 설명(예: `승인 대기 3건`). |
workspace-nav-menu-list.tsx이력100.0% | 컴포넌트 | 권한 API 로 받은 메뉴 트리를 그린다 — 로딩·실패·빈 상태까지 한 곳에서 가른다. |
workspace-nav-menu-state.tsx이력80.0% | 컴포넌트 | 메뉴 로딩 — 행 모양 스켈레톤으로 자리를 잡고, 스크린리더에는 상태 문구를 읽어 준다. |
workspace-nav-recent.tsx이력테스트100.0%6일 전 · #1939 | 컴포넌트 | LNB `최근 항목` 후보 수 — 프로토타입과 같이 사용 내역의 상위 10건. |
workspace-nav-tooltip.tsx이력테스트88.9% | 컴포넌트 | 접힌 LNB 의 아이콘 전용 항목에 붙이는 툴팁. |
workspace-nav-user-card.tsx이력100.0% | 컴포넌트 | 사용자 카드는 실제 세션 정보를 표시하고, 콘솔 구분은 작은 브랜드 표식으로만 표현한다. |
workspace-nav.tsx이력테스트97.7%오늘 · #2180 | 컴포넌트 | LNB — 프로토타입 사이드바의 공통 프레임과 접기 동작을 따른다. |
workspace-route-error.tsx이력테스트100.0% | 컴포넌트 | 콘솔(`/user`·`/admin`) 안쪽 오류 경계가 그리는 본문 안내. |
workspace-shell.tsx이력테스트100.0%3일 전 · #2051 | 컴포넌트 | 앱 쉘 프레임 — LNB + 본문. |
analysis-condition-contract.test.tsx이력3일 전 · #2080 | 테스트 | 분석 조건 모달 — 계약 카드 |
brand-tokens.test.ts이력 | 테스트 | 브랜드 색 토큰화 |
knowledge-archive-picker-expansion.test.tsx이력 | 테스트 | 행 표기·접힘과 파일 목록 조회 |
use-menu-name.ts이력100.0% | 훅 | LNB와 화면 헤더가 같은 권한 API menuName을 단일 원천으로 쓰게 한다. |
components/common/analysis-condition/5GitHub
application-questions.tsx이력100.0%어제 · #2135 | 컴포넌트 | 청약서 폼 설정 조회의 상태 — 받기 전·실패·준비. |
contract-card.tsx이력100.0%어제 · #2135 | 컴포넌트 | 약관 칸의 `공시실에서 찾기 ↗` 동작 — 사고조사 건의 공시실 링크 훅(`useDisclosureRoom`)이 준다. |
disclosure-section.tsx이력100.0%어제 · #2135 | 컴포넌트 | 설명 주석 없음 |
exclusion-table.tsx이력100.0%3일 전 · #2080 | 컴포넌트 | 설명 주석 없음 |
parts.tsx이력100.0%3일 전 · #2080 | 컴포넌트 | 계약 정보 입력 — 값이 없으면 `누락`, 조사자가 적으면 `수기` 뱃지(자동 채움 원천은 아직 없다). |
components/common/document-viewer/8GitHub
document-content.ts이력테스트100.0% | 모듈 | 브라우저가 보여 줄 수 있는 방식 — PDF 는 한 장씩 그리고, 텍스트는 본문을 읽어 보이고, 그 밖은 내려받기로 안내한다. |
pdf-document.ts이력테스트100.0% | 모듈 | PDF 원본을 pdf.js 문서로 연다 — 미리보기 뷰어가 페이지 수를 알고 한 장씩 그리기 위해서다. |
pdf-page-image.ts이력테스트100.0% | 모듈 | PDF 응답인지 — `blob.type` 의 매개변수(`; charset=…`)는 무시한다. |
document-viewer-dialog.module.css이력 | 스타일 | 설명 주석 없음 |
document-view-button.tsx이력테스트100.0%4일 전 · #2035 | 컴포넌트 | 표 행 안의 `문서 보기` 버튼 — 문서 뷰어(`DocumentViewerDialog`)를 여는 자리에서 모두 같은 모양으로 쓴다. |
document-viewer-dialog.tsx이력테스트92.2%2일 전 · #2100 | 컴포넌트 | 문서 뷰어 대화상자 — 프로토타입 `DocumentViewerModal` 과 같은 껍데기다. |
source-highlights.tsx이력테스트100.0% | 컴포넌트 | 근거의 쪽 안 위치를 쪽 위에 형광펜으로 칠한다(기획 7/24·8/07 「근거를 누르면 해당 문서가 하이라이트」). |
viewer-loading.tsx이력100.0%2일 전 · #2100 | 컴포넌트 | 문서·이미지 뷰어가 파일을 받거나 그리는 동안 보이는 문구 — 어느 뷰어든 같다. |
components/common/markdown/1GitHub
chat-markdown.tsx이력테스트72.7%4일 전 · #2052 | 컴포넌트 | 에이전트 답변을 마크다운으로 그린다(표·취소선·작업 목록은 GFM). |
components/common/summary/16GitHub
dock-tab-alert.ts이력100.0% | 모듈 | 패널 본문이 자기 탭 제목에 빨간 점을 달거나 거두는 자리 — 요약 도킹이 준다. |
summary-card-order.ts이력테스트100.0%5일 전 · #1972 | 모듈 | 요약 카드 순서 — 구역마다 조사자가 끌어 바꾼 카드 순서를 이 브라우저에 둔다(프로토타입 `hwa:summary:layout:v1` 의 `columns.<구역>.cardOrder` 와 같은 모양). |
summary-groups.ts이력테스트100.0%4일 전 · #2052 | 모듈 | AI 보고서 마지막 `요약` 탭 — 요약 그룹마다 1회 부른 요약(파이프라인 v2 곁가지)의 구획을 화면이 읽는 규칙. |
summary-item-path.ts이력테스트100.0%4일 전 · #2049 | 모듈 | 요약 항목 라벨의 묶음 경로 — 백엔드 투영기는 프로토타입 골격 타입 기반 표시(`summary-output-json.ts` `typeOnlyCards`)의 자식 카드를 「자식 제목 · 라벨」 한 줄 라벨로 싣는다(예: `구간 1 · 초진일자`, `구간 1 · 항목 1 · 내용`). |
summary-source-selection.ts이력테스트100.0%6일 전 · #1940 | 모듈 | 화면에 하나뿐인 `요약 근거` 선택 — 활성(주황) 칩·고른 행과 떠 있는 근거 미리보기 창은 화면 전체에서 하나다 (화면 기준선 「AI 보고서」, 프로토타입 `analysis-result-columns.tsx` 의 선택 이벤트·`workspace-client.tsx` 의 미리보기 하나). |
summary-sources.ts이력테스트100.0%4일 전 · #2052 | 모듈 | 요약 결과(`GET .../summary-results/latest`)의 항목 출처를 화면이 읽는 규칙 — 순수 계산만 둔다. |
summary-stage.ts이력100.0%3일 전 · #2079 | 모듈 | 요약 구역·카드·항목을 그리는 순수 규칙 — 사용자 콘솔 요약 센터와 관리자 사고조사 Workflow 실행 테스트 결과가 같이 쓴다. |
knowledge-source-button.tsx이력테스트100.0%5일 전 · #1975 | 컴포넌트 | 요약 근거 중 지식컬렉션 파일 — 누르면 공통 컬렉션 파일 뷰어(미리보기 · 원본 `다운로드`)를 연다 (결정 20261016-summary-reference-knowledge-download). |
report-change-highlight.tsx이력테스트100.0%7일 전 · #1909 | 컴포넌트 | 직전 `AI 보고서 반영`에서 달라진 요약 줄 표시(결정 20261008 3·4항). |
source-kind-icon.tsx이력테스트100.0%5일 전 · #1975 | 컴포넌트 | 근거 창 머리 왼쪽 아이콘 — 출처 종류마다 다르다(결정 20261107-source-viewer-unify). |
summary-groups-panel.tsx이력테스트100.0%4일 전 · #2052 | 컴포넌트 | AI 보고서 마지막 `요약` 탭 — 요약 그룹마다 1회 부른 요약을 카드로 나누지 않고 한 묶음으로 보인다(프로토타입 `summary-dock-layout` 의 `StudioSummaryPanel`, 결정 20261019-studio-summary-tab-doc-groups 6항). |
summary-quote-area.tsx이력테스트100.0% | 컴포넌트 | 요약 근거 창의 `요약에 사용된 근거 영역` 상자 — 머리(제목·위치 칩)와 근거 문구. |
summary-section-dock.tsx이력테스트91.2%3일 전 · #2079 | 컴포넌트 | 도킹에 올리는 패널 하나 — 요약 구역이든 초안 구역이든 제목과 본문만 있으면 된다. |
summary-section-panel.tsx이력테스트95.1%2일 전 · #2130 | 컴포넌트 | 섹션 패널이 화면에서 요구하는 조치 — 검수 단계에서만 값이 있다. |
summary-source-menu.tsx이력테스트100.0%2일 전 · #2100 | 컴포넌트 | 근거 미리보기가 낱장 원본 이미지를 받을 길 — 사고조사 건을 아는 화면(요약 센터·`AI 보고서 다시 보기` 창)이 접수번호를 닫아 한 번 내려 준다(구역·카드·항목마다 넘기지 않는다). |
use-reflection-draft.ts이력테스트100.0%3일 전 · #2055 | 훅 | `항목 선택` 창의 체크 초안 — 누른 체크는 이 훅의 상태로 바로 보이고, 저장은 뒤에서 묶어 보낸다. |
components/
components/user · admin/GitHub
콘솔별 공용
components/admin/4GitHub
Admin Console 공용 — 관리자 접근 가드, 초안 저장 알림 등.
admin-access-guard.tsx이력테스트100.0%6일 전 · #1939 | 컴포넌트 | 관리자 콘솔 접근 가드 — `/admin`은 첫 구현된 허용 메뉴로 보내고, 허용 메뉴가 하나도 없으면 콘솔 차단 안내를, 현재 URL을 소유한 메뉴가 허용되지 않았으면 메뉴 차단 안내를 보여준다. |
admin-shell.tsx이력0.0% | 컴포넌트 | Admin Console 쉘 — 프레임은 공통, 콘솔 구분만 준다. |
draft-save-actions.tsx이력테스트100.0%4일 전 · #2035 | 컴포넌트 | 관리자 설정 화면의 "변경 취소 / 저장" 버튼 쌍 (`PageHeading` 의 `actions` 에 넣는다). |
draft-save-notices.tsx이력테스트100.0% | 컴포넌트 | 관리자 설정 화면의 저장 결과 배너 묶음 — 실패 → 성공 → 미저장 경고 순서. |
components/user/2GitHub
User Console 공용 — 쉘·접근 가드, 사고조사·챗봇 공용 코드(팝업 route 도 여기서 함께 쓴다).
user-access-guard.tsx이력테스트100.0%6일 전 · #1939 | 컴포넌트 | 사용자 콘솔 진입·메뉴 URL 접근을 `/menu-permissions/my`의 USER 메뉴 합집합으로 제한한다. |
user-shell.tsx이력0.0% | 컴포넌트 | User Console 쉘 — 프레임은 공통, 콘솔 구분만 준다. |
components/user/chat/14GitHub
attachment-notices.ts이력테스트100.0% | 모듈 | 첨부 머리줄 경고 알약 한 건 — 짧은 문구는 알약에, 전체 문구는 그 툴팁에 보인다. |
attachments.ts이력테스트98.6%2일 전 · #2110 | 모듈 | 에이전트 채팅 첨부 규칙 — WBS 5.1.3. |
chat-delete.ts이력테스트100.0% | 모듈 | 삭제 대상 질문 하나 — 첨부 수·쪽수와 반영 여부만 쓴다 |
knowledge-pickable-files.ts이력100.0% | 모듈 | 컬렉션 → 그 컬렉션의 선택 가능한(처리 완료) 문서 id — 문서보관함 팝업과 같은 기준이다. |
chat-active-attachments.tsx이력100.0%2일 전 · #2110 | 컴포넌트 | 입력창 위 왼쪽 — 대화가 지금 참조 중인 첨부와 대화 누적 쪽수. |
chat-attachment-list.tsx이력100.0%2일 전 · #2107 | 컴포넌트 | 컴포저 안의 첨부 목록 — 프로토타입 `ChatAttachmentList`(비 compact)와 같은 구성이다: 머리줄(`첨부` · `N쪽 / 100쪽`), 형식 배지가 붙은 파일 칩(파일명·`크기 · N쪽`·삭제 — 쪽수를 모르면 크기만), 사유별로 묶은 거절 안내. |
chat-attachment-source-viewer.tsx이력테스트100.0%5일 전 · #1975 | 컴포넌트 | 첨부 근거의 원본(Studio 변환 PDF)을 받는 함수 — 범용 대화와 사고조사 대화가 경로만 달리 넘긴다. |
chat-context-gauge.tsx이력100.0% | 컴포넌트 | 입력창 폭의 대화 용량 막대 — 상태 글자와 함께 보이고, 안내 비율부터 색 띠에 `여기서 이어 가기` 를 둔다(결정 20261102). |
chat-delete-dialog.tsx이력83.3%4일 전 · #2037 | 컴포넌트 | 대화 삭제 확인 모달 — 에이전트 대화·사고조사 챗봇 공용. |
chat-sent-attachments.tsx이력100.0%2일 전 · #2110 | 컴포넌트 | 보낸 질문 아래에 남는 첨부 — 대화를 다시 열어도 「어떤 파일을 붙여 물었는지」가 보이게 한다. |
chat-source-viewer.tsx이력테스트94.1%2일 전 · #2100 | 컴포넌트 | 답변 근거 뷰어 — 근거가 가리키는 **쪽에서** 문서를 연다. |
use-attachment-picker.ts이력100.0% | 훅 | 질문 입력창의 첨부 고르기 — 고른 파일을 화면 규칙으로 거르고, 서버 사전 검사를 거쳐 목록에 올린다. |
use-auto-grow-textarea.ts이력테스트100.0%6일 전 · #1931 | 훅 | 입력칸 높이를 글에 맞춘다 — `minHeight`~`maxHeight`(테두리 포함 px). |
use-knowledge-document-count.ts이력테스트100.0%4일 전 · #2040 | 훅 | 챗봇 지식컬렉션 칩의 숫자 — 저장된 범위가 뜻하는 **문서 수**(결정 20261109-chat-knowledge-count-documents). |
components/user/investigation/18GitHub
extraction-page-regions.ts이력테스트100.0%4일 전 · #2000 | 모듈 | 낱장 하나의 추출 위치 — 보고서 요약 근거 창이 칠한다(결정 20261108). |
investigation-chat.ts이력테스트97.4%5일 전 · #1980 | 모듈 | 사고조사 챗봇 독(우측 패널)이 패널 열기·질문 응답을 읽는 규칙 — 결정 20261021-investigation-chat-references-and-reflection, 20261023-investigation-chat-session-structure. |
investigator.ts이력테스트100.0%오늘 · #2189 | 모듈 | 담당 조사자 **사번 비교와 표시명 폴백** 한 곳 — 순수 계산만 둔다. |
list-status.ts이력테스트100.0% | 모듈 | S-004 §4-1·§5 목록 표시 상태(8종) → 라벨·뱃지 톤 매핑. |
report-reflection-display.ts이력테스트100.0% | 모듈 | 사고조사 챗봇 `AI 보고서 반영` 뒤 화면 표시 — 결정 20261008(바뀐 줄 하이라이트)·20261020(`변경 전 보기`). |
summary-groups.ts이력 | 모듈 | 요약 그룹 구획 규칙은 사용자 콘솔과 관리자 실행 테스트가 같이 쓰는 공통 모듈로 옮겼다 — 이 파일은 route 안의 import 경로를 유지하는 재export 다(`lib/collections/queries` 와 같은 방식). |
view-access.ts이력테스트100.0%오늘 · #2189 | 모듈 | 워크스페이스의 **조회 권한** 판정 한 곳 — 순수 계산만 둔다. |
workflow-progress.ts이력테스트100.0%어제 · #2137 | 모듈 | 워크플로우 진행 상태(`GET .../workflow-progress`) 를 화면이 읽는 규칙 — 순수 계산만 둔다. |
workflow-status.ts이력테스트100.0%4일 전 · #2007 | 모듈 | 화면 글로벌 상태 11종·위험 서브 상태 6종 → 라벨·뱃지 톤 매핑. |
workspace-pages.ts이력테스트100.0% | 모듈 | 문서함 낱장을 뷰어가 다루는 형태로 펴는 순수 계산 — 화면 상태는 없다. |
access-denied-notice.tsx이력100.0% | 컴포넌트 | 조회 권한 때문에 막힌 조회의 안내 카드 — 오류 배너가 아니라 **안내**다. |
report-snapshot.tsx이력94.7%2일 전 · #2124 | 컴포넌트 | 요약 구역을 도킹 패널로 — 두 단계(요약 화면·다시 보기 창)가 같은 변환을 쓴다. |
result-query-gate.tsx이력테스트100.0%3일 전 · #2094 | 컴포넌트 | 결과 조회의 **로딩 → 산출 전(404) → 실패 → 성공** 분기. |
result-skeletons.tsx이력100.0%3일 전 · #2094 | 컴포넌트 | 분류 확인(N05)·추출 완료(N06) 센터 — 가운데 정렬된 결과 카드(아이콘 원·제목·집계·안내·버튼). |
queries.ts이력98.9%2일 전 · #2113 | 쿼리 | 저장된 삭제로 문서함에서 빠진 낱장 — 화면이 제자리에 `삭제 예정` 으로 되돌려 그린다(NR01·NR02). |
queries.page-image.test.ts이력 | 테스트 | investigationWorkspaceQueries.pageImage |
queries.summary-groups.test.ts이력 | 테스트 | investigationWorkspaceQueries.summaryGroupsLatest |
use-summary-page-files.ts이력테스트100.0%4일 전 · #1999 | 훅 | 요약 근거 목록의 낱장 표(파일명·쪽·AI 분류라벨)를 만든다. |
lib · 보조
lib/GitHub
유틸·API 클라이언트·세션
lib/4GitHub
유틸과 여러 화면이 함께 쓰는 쿼리(세션·위탁사·컬렉션·챗봇 등).
env.ts이력0.0%2일 전 · #2114 | 모듈 | 환경변수 검증 — 잘못된 값·오타는 기동 시점에 바로 실패시킨다. |
external-links.ts이력100.0% | 모듈 | 이 앱 밖의 시스템으로 연결하는 주소 모음 — 화면 코드에 URL 을 직접 적지 않고 여기서 가져간다. |
json-diff.ts이력테스트100.0% | 모듈 | 프로토타입 `lib/json-diff.ts` 를 그대로 옮겼다(결정 20261008 6항 — 프론트엔드 이관 시 그대로 옮긴다). |
utils.ts이력테스트100.0% | 모듈 | 설명 주석 없음 |
lib/api/9GitHub
API 클라이언트(ky) 단일 진입점, 응답 봉투·오류, QueryClient, OpenAPI 생성 타입.
client.ts이력테스트96.6%6일 전 · #1932 | 모듈 | API 클라이언트 단일 진입점 — docs/decisions/20260810-frontend-auth-and-api-client.md 모든 queryFn은 fetch를 직접 쓰지 않고 이 파일의 apiGet/apiPost/apiPatch/apiDelete만 사용한다. |
cross-tab-lock.ts이력테스트93.3% | 모듈 | 토큰 재발급을 브라우저의 모든 탭에서 한 번에 하나씩 하게 한다 (결정 20261104-auth-refresh-cross-tab-lock). |
envelope.ts이력테스트100.0% | 모듈 | docs/rules/api.md 표준 응답 구조(success/data/error)의 파싱과 오류 변환. |
error-message.ts이력테스트100.0% | 모듈 | API 오류를 화면 문구로 옮긴다. |
query-client.ts이력테스트100.0% | 모듈 | 서버가 메뉴 권한이 없다고 거절한 API 의 오류 코드(20261012 메뉴별 API 인가). |
session-activity.ts이력테스트100.0% | 모듈 | 세션 활동 알림 — 사람이 일으킨 API 호출이 끝날 때마다 세션 타이머에 알린다(20261008 결정 2·3항). |
single-flight.ts이력테스트100.0% | 모듈 | 동시에 여러 번 호출돼도 in-flight Promise 하나를 공유하게 만든다. |
sort-contract.ts이력테스트100.0% | 모듈 | OpenAPI가 생성한 query 타입에 sort·direction이 실제로 있을 때만 서버 정렬 계약을 만든다. |
schema.d.ts이력오늘 · #2181 | 생성물 | pnpm openapi:gen 생성물 — 백엔드 OpenAPI 스냅샷에서 만든 계약 타입. 손으로 고치지 않는다. |
lib/auth/6GitHub
세션·로그인·온보딩·내 메뉴 권한 — 두 콘솔이 함께 쓰는 쿼리와 쿠키 이름.
api.ts이력100.0% | 모듈 | 세션 API 호출 — 백엔드 auth 모듈(20260810 §1 쿠키 계약)의 /api/v1/auth/*. |
cookies.ts이력100.0% | 모듈 | 쿠키 계약: docs/decisions/20260810-frontend-auth-and-api-client.md 백엔드 auth 모듈이 같은 이름으로 발급한다. |
query-keys.ts이력100.0% | 모듈 | 인증 관련 쿼리 키의 공용 접두 — 키를 만드는 쪽(`queries.ts`)과 무효화하는 쪽(권한 관리 저장, API 클라이언트의 권한 오류 처리)이 같은 값을 쓰게 한다. |
redirect.ts이력테스트100.0%3일 전 · #2097 | 모듈 | 로그인 후 되돌아갈 경로 정리 — proxy.ts 가드가 붙이는 `?from=` 값을 그대로 믿지 않는다. |
sso-host.ts이력테스트100.0%2일 전 · #2114 | 모듈 | 이 접속 주소에서 SSO(사이트마인더)로 로그인시키는지. |
queries.ts이력100.0%6일 전 · #1932 | 쿼리 | 세션·메뉴 권한 queryOptions 팩토리. |
lib/chat/6GitHub
knowledge-scope.ts이력테스트100.0%4일 전 · #2040 | 모듈 | 한 대화가 물 수 있는 문서 수 상한 — 백엔드 `ChatSessionCreateRequest.MAX_FILES`(임시값, 결정 20261019). |
last-used.ts이력테스트100.0% | 모듈 | 마지막 사용 시각 표기 — LNB `최근 항목`과 사용 내역 화면이 같은 규칙을 쓴다. |
messages.ts이력100.0% | 모듈 | 채팅 메시지를 읽는 공용 규칙 — 범용 에이전트 채팅(`/user/agent`)과 사고조사 챗봇 독 (`/user/investigations/[reportNo]`)이 같은 줄 모양(`ChatMessageView`)을 같은 규칙으로 읽는다. |
pending-asks.ts이력테스트97.8% | 모듈 | 범용 대화의 질문 전송 변이 — 대화 화면과 LNB `최근 항목`이 함께 읽는다(결정 20261030-agent-chat-pending-in-lnb). |
usage.ts이력테스트100.0% | 모듈 | 사용 내역 기본 조회 기간 — 최근 90일(결정 20261023 1항). |
queries.ts이력71.4% | 쿼리 | 채팅 사용 내역 queryOptions — LNB `최근 항목`과 사용자 콘솔 화면이 함께 쓴다. |
lib/collection-approvals/1GitHub
queries.ts이력100.0% | 쿼리 | 이 화면이 쓰는 TanStack Query queryOptions 팩토리. |
lib/collection-folders/3GitHub
tree.ts이력테스트88.9% | 모듈 | 지식컬렉션 폴더 트리의 순수 규칙 — 평평한 목록(`GET /collection-folders`)을 화면이 다루는 모양으로 바꾼다. |
url.ts이력100.0%오늘 · #2168 | 모듈 | 지식컬렉션 폴더 브라우저가 보고 있는 자리(공간·폴더)를 URL search param 에 싣는 규칙 — 사용자 콘솔 (`/user/knowledge?space=&folder=`)과 관리자 콘솔(`/admin/knowledge?folder=`)이 같은 이름·같은 해석을 쓴다 (docs/guide… |
queries.ts이력94.1% | 쿼리 | 지식컬렉션 폴더 트리·공용 대상 선택지·등록 안내 — 사용자 콘솔과 관리자 콘솔이 같은 뜻으로 쓴다 (docs/decisions/20261006-knowledge-collection-folder-structure.md). |
lib/collections/20GitHub
collection-form.ts이력테스트100.0% | 모듈 | 지식컬렉션 설명 폼의 입력 규칙. |
file-batch-api.ts이력100.0% | 모듈 | 지식컬렉션 파일 일괄 삭제·재색인 호출 — 표 위 `삭제`·`재색인`(`use-file-batches.ts`)만 쓴다 (docs/decisions/20261021-knowledge-collection-bulk-file-actions.md). |
file-bulk-actions.ts이력테스트100.0%3일 전 · #2099 | 모듈 | 지식컬렉션 파일 표의 체크·일괄 버튼 규칙 — 사용자 내 컬렉션 상세와 관리자 공용 컬렉션 상세가 같은 규칙을 쓴다 (docs/decisions/20261021-knowledge-collection-bulk-file-actions.md). |
file-display.ts이력테스트100.0% | 모듈 | 지식컬렉션 파일의 표시 규칙 — 사용자 콘솔(내 컬렉션·공용 컬렉션 상세)과 관리자 콘솔(지식컬렉션 관리)이 같은 파일 표· 파일 추가 모달을 쓰므로 `lib/` 에 둔다(콘솔끼리 import 하지 않는 규칙 — docs/guides/frontend-module-guide.md §4). |
file-name.ts이력테스트100.0% | 모듈 | 파일명 수정은 이름 부분만 고친다 — 확장자는 처음 올린 원본(`originalExtension`)의 것을 고정한다 (docs/decisions/20261019-collection-file-rename-keep-extension.md). |
file-selection.ts이력테스트100.0% | 모듈 | 지식 컬렉션 팝업(문서 단위 선택)의 선택 규칙 — 화면과 떼어 낸 순수 함수. |
pickable.ts이력테스트100.0% | 모듈 | 내 컬렉션·공용 컬렉션 목록을 한 목록으로 합친다 — 내가 올려 승인이 끝난 공용 컬렉션은 두 목록에 모두 오므로 식별자로 한 번만 남긴다. |
reference-defaults.ts이력테스트100.0% | 모듈 | 공용 컬렉션의 위탁사별 참조 기본값 — 관리자 `지식컬렉션 관리` 상세의 `위탁사별 참조 기본값` 탭 (docs/decisions/20261017-admin-knowledge-reference-defaults-tab.md). |
search-url.ts이력테스트100.0% | 모듈 | 지식컬렉션 검색 줄의 조건을 URL search param 에 싣는 규칙 — 사용자 `지식 컬렉션`과 관리자 `지식컬렉션 관리`가 같은 이름을 쓴다 (`docs/guides/frontend-module-guide.md` §6, 결정 20261019-list-filter-url-state). |
search.ts이력테스트100.0% | 모듈 | 사용자·관리자 지식컬렉션 검색 결과가 공유하는 행 계약. |
status-display.ts이력테스트100.0%오늘 · #2189 | 모듈 | 지식컬렉션의 상태 표시 규칙 — 사용자 콘솔(목록·상세)과 관리자 콘솔(지식컬렉션 관리)이 같은 어휘를 쓰므로 `lib/` 에 둔다(콘솔끼리 import 하지 않는 규칙 — docs/guides/frontend-module-guide.md §4). |
upload-extensions.ts이력테스트100.0% | 모듈 | 지식컬렉션이 받는 파일 형식 8종(2026-10-21 확정) — 엑셀·PPT 는 PDF 변환 때 표가 잘리거나 변환이 어려워 받지 않고, md·csv 도 받지 않는다(결정 20261013 §1-4, 프로토타입 `lib/file-upload-validation.ts`). |
upload-manager.tsx이력테스트99.0% | 컴포넌트 | 서버에 접수되지 못한 파일 — 서버 행이 없어 파일 표 위 업로드 요약의 실패 목록으로만 보인다. |
queries.ts이력100.0%3일 전 · #2099 | 쿼리 | 지식컬렉션 조회·변경 — 사용자 콘솔(내 컬렉션·공용 컬렉션 브라우저)과 관리자 콘솔(지식컬렉션 관리)이 같은 엔드포인트를 같은 뜻으로 쓰므로 `lib/` 에 둔다(두 콘솔이 서로를 import 하지 않는 규칙 — `docs/guides/frontend-module-guide.md` §4). |
pickable-search.test.ts이력 | 테스트 | 검색어 일치와 기본 펼침 |
queries.refetch.test.ts이력3일 전 · #2099 | 테스트 | detailRefetchInterval |
viewer-requests.test.ts이력 | 테스트 | 컬렉션 문서 뷰어 요청 — 10초 timeout 없이 받는다 |
use-collection-status-refresh.ts이력테스트100.0%3일 전 · #2099 | 훅 | 컬렉션 상세 화면의 반복 조회 — 상세(파일 전체 포함)는 처음 한 번만 받고, 처리 중·설명 생성 중에는 가벼운 상태 (`GET /collections/{id}/status`)만 15초·5초마다 묻는다. |
use-file-batches.ts이력테스트100.0%3일 전 · #2099 | 훅 | 표 위 `삭제`·`재색인` 실행 — 사용자 내 컬렉션 상세와 관리자 공용 컬렉션 상세가 같이 쓴다 (docs/decisions/20261021-knowledge-collection-bulk-file-actions.md). |
use-file-name-search.ts이력테스트100.0%오늘 · #2168 | 훅 | 검색 줄의 `조회` 가 새로 받는 캐시 — 컬렉션 목록·파일명 검색·폴더 트리(사용자·관리자 화면 공통). |
lib/customer-companies/1GitHub
여러 화면이 함께 쓰는 위탁사 목록 쿼리.
queries.ts이력테스트100.0% | 쿼리 | 위탁사 마스터 조회 — User/Admin 두 콘솔이 함께 쓰는 queryOptions 팩토리. |
lib/customer-onboarding/1GitHub
queries.ts이력테스트100.0%오늘 · #2161 | 쿼리 | 위탁사 온보딩 상태 조회 — 관리자 여러 화면(분류체계 매칭·위탁사 워크스페이스·LNB 뱃지)이 함께 쓴다. |
lib/diseases/1GitHub
queries.ts이력100.0%6일 전 · #1941 | 쿼리 | KCD 상병 검색 — 분석 조건 2번 `직접 검색`(결정 20261106 4항). |
lib/file/3GitHub
csv-export.ts이력테스트100.0% | 모듈 | 기준선 「로그 4종 공통 규칙」 의 다운로드 시작 토스트. |
download-blob.ts이력100.0% | 모듈 | 받아 둔 `Blob` 을 파일로 저장한다. |
use-csv-export.ts이력테스트100.0% | 훅 | 관리자 로그 화면의 `CSV 다운로드` 변이 — 내보내기를 부르고 시작·실패 토스트를 띄운다. |
lib/filter/2GitHub
필터 초안(입력 중) 상태 훅 — 조회를 눌러야 적용.
use-filter-draft.ts이력테스트100.0% | 훅 | 검색어를 치다 멈춘 뒤 조회하기까지 기다리는 시간. |
use-filter-refresh.ts이력테스트100.0% | 훅 | 목록 필터의 `조회`·Enter 가 **조건이 같아도** 목록을 새로 받게 한다(결정 `20261019-list-filter-apply-always-refetch`). |
lib/format/4GitHub
날짜·시간 입력과 표시 형식.
date-input.ts이력테스트100.0% | 모듈 | `<input type="date">` 가 주는 `YYYY-MM-DD` 읽기 — 형식과 달력 유효성만 보는 순수 계산. |
date-time.ts이력테스트100.0%오늘 · #2181 | 모듈 | 일시 표시 — ISO 문자열을 사람이 읽는 한국어 표기로 옮기는 순수 계산. |
file-size.ts이력테스트100.0% | 모듈 | 파일 크기 표시 — byte 수를 사람이 읽는 단위로 옮기는 순수 계산. |
person.ts이력테스트100.0%오늘 · #2189 | 모듈 | 사람 표시 — 결정 [20261113-person-label-name-employee-no](../../../docs/decisions/20261113-person-label-name-employee-no.md). |
lib/guard/2GitHub
소스 텍스트 규칙 검사 테스트.
review-markers.test.ts이력 | 테스트 | 제품 화면 검토용 표기 가드 |
source-text.test.ts이력 | 테스트 | 프론트 소스 텍스트 가드 |
lib/hospital-master/1GitHub
hospital-master.ts이력테스트100.0%3일 전 · #2082 | 모듈 | 병원 마스터(`dim_hospitals`)를 읽는 규칙 — 관리자 `병원 명칭 매핑`과 공용 `병원 찾기` 창(`components/common/hospital-search-dialog.tsx`)이 함께 쓴다. |
lib/list/1GitHub
log-page-size.ts이력테스트100.0% | 모듈 | 관리자 로그 표(감사 로그·메일 발송 로그)의 페이지당 건수. |
lib/mail-account/1GitHub
queries.ts이력테스트100.0% | 쿼리 | 메일 발송 계정 상태 — 그 화면과 관리자 LNB 의 기한 경과 `!` 뱃지가 같은 조회를 쓴다. |
lib/react/8GitHub
floating-window-drag.ts이력테스트95.7% | 모듈 | 딤 없는 플로팅 창(요약 근거 미리보기)의 헤더 드래그 이동 — 경계 계산은 순수 함수, 포인터 처리는 훅 한 곳이다. |
local-storage-store.ts이력테스트100.0%5일 전 · #1972 | 모듈 | 브라우저 `localStorage` 의 한 키를 `useSyncExternalStore` 로 구독하는 저장소. |
use-debounced-state.ts이력테스트100.0%3일 전 · #2082 | 훅 | 단순 검색의 디바운스 시간 — 검색칸 하나로 결과만 바뀌는 자동완성·창 안 검색(`병원 찾기`, 상병 검색, 미매핑 병합 창)이 같은 값을 쓴다. |
use-latest-only-mutation.ts이력테스트100.0% | 훅 | 한 번의 저장 묶음이 끝났을 때의 결과 — 마지막으로 보낸 값과 그 응답. |
use-media-query.ts이력테스트100.0% | 훅 | 미디어 쿼리가 맞는지를 구독한다. |
use-object-url-image.ts이력100.0%3일 전 · #2083 | 훅 | Blob 을 `<img>` 의 object URL 로 잇는다 — 생성과 해제 **둘 다 커밋된 effect 안**에서 한다. |
use-reset-on-open.ts이력테스트100.0% | 훅 | 대화상자가 **열리는 전환에서** 그 안의 파생 상태를 되돌린다. |
use-validated-text-field.ts이력테스트100.0% | 훅 | 대화상자 안의 **글자 하나짜리 입력**이 지키는 세 규칙을 한 곳에 모은다. |
lib/test/5GitHub
테스트 도우미 — Query Provider 렌더, 가짜 내비게이션.
expand-workspace.ts이력 | 모듈 | 테스트 전용 — 사고조사 워크스페이스의 상단·스캔 문서함을 펼친다. |
fake-navigation.ts이력 | 모듈 | 테스트용 `next/navigation` 대역. |
request-counter.ts이력 | 모듈 | 테스트 전용 — 목 서버(MSW)로 나간 요청을 경로로 센다. |
render-with-query.tsx이력 | 컴포넌트 | 테스트 전용 렌더 헬퍼 — TanStack Query Provider 로 감싼다. |
expected-server-errors.test.ts이력 | 테스트 | 부정 시험의 정확한 5xx 계약 |
lib/url/5GitHub
화면 조건을 URL search param 에 싣고 읽는 순수 계산과 훅.
back-target.ts이력테스트100.0% | 모듈 | 「돌아가기」 도착지 — 특정 화면에서 넘어간 화면이 상단 돌아가기로 그 화면에 되돌아가게 한다. |
search-params.ts이력테스트100.0% | 모듈 | URL search param 다루기 — 화면 조건을 주소에 싣는 순수 계산. |
studio-schema-tab.ts이력테스트100.0% | 모듈 | 사고조사 Workflow(구 에이전트 스튜디오) 스키마 정의 화면의 단계 탭을 주소 `?tab=classify|extract|report` 로 여는 규칙 (결정 20261022-admin-lnb-workspace-workflow 7·8항, 프로토타입 `lib/studio-schema-tab.ts`). |
use-back-target.ts이력100.0% | 훅 | 다른 화면에서 넘어온 화면이면 돌아갈 도착지(조건 포함), 아니면 `undefined`. |
use-search-param-nav.ts이력100.0% | 훅 | 화면 조건을 URL search param 으로 읽고 쓰는 훅. |
lib · 보조
mocks/GitHub
MSW 핸들러
mocks/10GitHub
MSW 핸들러 — 손으로 쓴 화면 더미(앞)와 계약 생성 스켈레톤(뒤), 브라우저·Node 진입점.
agent-studio-instruct-seed-lotte.ts이력 | 모듈 | 롯데손해보험 보고서 에이전트 Instruct 시드 — 탭(사고경위·사고내용·손해사정서)마다 프롬프트·출력 JSON 골격·보고서 유형별 본문. |
agent-studio-instruct-seed-shinhan.ts이력3일 전 · #2066 | 모듈 | 신한라이프 보고서 에이전트 Instruct 시드 — 탭(병원별 요약·사고경위·확인내용·손해사정)마다 프롬프트·출력 JSON 골격·보고서 유형별 본문. |
agent-studio-instruct.ts이력6일 전 · #1958 | 모듈 | 에이전트 스튜디오 3단계 INSTRUCT 더미 — 서버가 기동 때 넣는 첫 버전(신한라이프·롯데손해보험 모델팀 원문)과 같은 모양이다 (백엔드 `agent-studio/instruct-seed.json`, 결정 20261021-studio-instruct-db-storage 8항). |
agent-studio-studio-configs.ts이력 | 모듈 | 에이전트 스튜디오 「config 버전 선택」 목록 목 — 그 단계 Studio 에이전트의 지시서(Config) 목록(최신이 먼저) (결정 20261029-studio-config-version-list-from-studio). |
agent-studio-summary-groups.ts이력 | 모듈 | 에이전트 스튜디오 요약 그룹(`/api/v1/admin/agent-studio/summary-groups`) 목 — 백엔드 시드(V202610220936)와 같은 기본 4그룹. |
browser.ts이력 | 모듈 | 브라우저(개발 서버·E2E)용 MSW 워커. |
handlers.ts이력테스트오늘 · #2161 | 모듈 | MSW 핸들러 — 백엔드 API가 준비되기 전 개발·테스트용 목 응답. |
sample-pdf.ts이력 | 모듈 | 목 전용 — 실제로 열리는 작은 PDF 를 만든다. |
server.ts이력 | 모듈 | Node(Vitest)용 MSW 서버. |
handlers.generated.ts이력테스트오늘 · #2161 | 생성물 | pnpm openapi:gen 생성물 — 모든 엔드포인트의 MSW 계약 스켈레톤. 손으로 고치지 않는다. |
lib · 보조
e2e/GitHub
Playwright 스모크·수용 시나리오
e2e/23GitHub
Playwright E2E — 가드·API 레이어·핵심 흐름 스모크, features/ 수용 시나리오, 실제 백엔드(real)·실서류(realdata) 스펙.
admin-approval-center.spec.ts이력 | E2E | LNB 의 지식컬렉션 승인 메뉴로 승인 대기함에 들어간다 |
admin-filter-url-sync.spec.ts이력 | E2E | 감사 로그 — 조회한 조건과 쪽 번호가 주소에 실리고 새로고침해도 유지된다 |
admin-knowledge.spec.ts이력 | E2E | LNB 의 지식컬렉션 관리 메뉴로 공용 폴더 브라우저에 들어간다 |
admin-mail-account.spec.ts이력오늘 · #2181 | E2E | 설정만 저장하면 비밀번호 이력 없이 최신 SMTP와 반영 상태를 표시한다 |
admin-organization-roles.spec.ts이력오늘 · #2189 | E2E | 사용자 레벨을 더하고 메뉴를 닫으면 목록의 보유 레벨이 갱신된다 |
admin-unmapped-queue.spec.ts이력오늘 · #2168 | E2E | 관리자 홈의 진입 링크로 미매핑 큐에 들어가 병원 원문값을 기존 마스터로 병합한다 |
analysis-condition-question-toggle.spec.ts이력어제 · #2136 | E2E | 청약서 질문의 고지 대상을 끄고 켜도 분석 조건 팝업은 제자리에 보인다 |
investigation-list.spec.ts이력 | E2E | 초기 테이블은 컨테이너 너비를 넘지 않는다 |
investigation-workspace.spec.ts이력오늘 · #2170 | E2E | 목록에서 건을 고르면 워크스페이스가 열린다 |
login.spec.ts이력 | E2E | 로그인하면 원래 가려던 화면과 앱 쉘이 보인다 |
onboarding.spec.ts이력7일 전 · #1868 | E2E | 헤더에는 사용자 컨테이너만 있고, 안내 박스·하단 안내가 보이며 두 입력이 있어야 등록할 수 있다 |
screen-min-width.spec.ts이력3일 전 · #2051 | E2E | 일반 화면은 1180px 아래에서 줄지 않고 가로로 스크롤한다 |
search-input-placeholder.spec.ts이력2일 전 · #2096 | E2E | ${screen.path} — ${width}px 창에서 검색칸 placeholder 가 잘리지 않는다 |
smoke.spec.ts이력 | E2E | 미인증 접근은 /login으로 리다이렉트된다 |
user-agent-knowledge.spec.ts이력 | E2E | 컬렉션 체크는 그 컬렉션의 선택 가능한 문서 전체를 골라 칩에 문서 수가 보인다 |
user-collections.spec.ts이력오늘 · #2168 | E2E | 트리에서 고른 폴더가 URL 에 실리고 새로고침해도 유지된다 |
base-url.ts이력 | 모듈 | E2E 대상 dev 서버 주소 — 설정(playwright.config.ts)과 스펙의 쿠키 주소가 같은 값을 쓴다. |
claim-hospital-pick.ts이력2일 전 · #2101 | 모듈 | 분석 조건 2번 `청구병원 및 대표 상병` 필수 입력 — 후보가 있으면 병원 1곳을 켜고 그 병원의 대표 상병 1건을 고른다 (결정 20261106 「추가 (2026-11-10)」: 병원 1곳 이상, 켠 병원마다 상병 필수, 후보가 없으면 면제). |
coverage-options.mjs이력 | 모듈 | E2E 커버리지 설정 — 스펙 fixture(e2e/test.ts)와 리포트 스크립트(scripts/e2e-coverage-report.mjs)가 같은 값을 쓴다. |
global-setup.ts이력 | 모듈 | E2E_COVERAGE=1 이면 지난 실행의 커버리지 캐시를 지우고 시작한다 — 브라우저(fixture)·서버(NODE_V8_COVERAGE) 모두. |
page-row-actions.ts이력5일 전 · #1992 | 모듈 | 행 조치 버튼 — 접근성 이름이 `label` 과 같은(`prefix` 면 그것으로 시작하는) 버튼. |
test.ts이력 | 모듈 | 스펙은 @playwright/test 대신 여기서 test 를 가져온다. |
workspace-collapse.ts이력 | 모듈 | 지금 접혀 있는 쪽만 펼친다. |
e2e/admin-knowledge/5GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
seed.sql이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/agent-chat-delete/4GitHub
README.md이력6일 전 · #1957 | 문서 | 설명 주석 없음 |
run.py이력6일 전 · #1957 | 파일 | 설명 주석 없음 |
studio_proxy.py이력6일 전 · #1957 | 파일 | 설명 주석 없음 |
test_proxy.py이력6일 전 · #1957 | 파일 | 설명 주석 없음 |
e2e/analysis-conditions/5GitHub
test_result_comparison.mjs이력 | 모듈 | 설명 주석 없음 |
README.md이력2일 전 · #2101 | 문서 | 설명 주석 없음 |
prepare.py이력6일 전 · #1957 | 파일 | 설명 주석 없음 |
run.py이력6일 전 · #1957 | 파일 | 설명 주석 없음 |
seed.sql이력6일 전 · #1957 | 파일 | 설명 주석 없음 |
e2e/application-forms/4GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/audit-logs/4GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/classification-mapping/5GitHub
README.md이력오늘 · #2180 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
seed.sql이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/client-workspace/5GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
seed.sql이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/collection-approval/3GitHub
fixture.ts이력 | 모듈 | 권한·승인 상태는 실제 API로만 만든다. |
README.md이력6일 전 · #1957 | 문서 | 설명 주석 없음 |
run.py이력6일 전 · #1957 | 파일 | 설명 주석 없음 |
e2e/collection-viewer/7GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
seed.sql이력 | 파일 | 설명 주석 없음 |
states.sql이력 | 파일 | 설명 주석 없음 |
studio_environment.py이력4일 전 · #2002 | 파일 | 설명 주석 없음 |
test_studio_environment.py이력 | 파일 | 설명 주석 없음 |
e2e/features/41GitHub
e2e/features/real/4GitHub
investigation-list.feature이력 | 파일 | 설명 주석 없음 |
investigation-workspace.feature이력오늘 · #2170 | 파일 | 설명 주석 없음 |
knowledge-collection-upload.feature이력 | 파일 | 설명 주석 없음 |
mail-dispatch-log.feature이력 | 파일 | 설명 주석 없음 |
e2e/full-journey/15GitHub
README.md이력3일 전 · #2069 | 문서 | 설명 주석 없음 |
document.py이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
journey_control.py이력5일 전 · #1967 | 파일 | 설명 주석 없음 |
journey_resources.py이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
requirements.txt이력5일 전 · #1967 | 파일 | 설명 주석 없음 |
run.py이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
schema.json이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
studio_failure.py이력5일 전 · #1967 | 파일 | 설명 주석 없음 |
studio_selection.py이력4일 전 · #2002 | 파일 | 설명 주석 없음 |
test_control.py이력5일 전 · #1967 | 파일 | 설명 주석 없음 |
test_delivery.py이력5일 전 · #1967 | 파일 | 설명 주석 없음 |
test_document.py이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
test_reporting.py이력5일 전 · #1967 | 파일 | 설명 주석 없음 |
test_studio_failure.py이력5일 전 · #1967 | 파일 | 설명 주석 없음 |
test_studio_selection.py이력4일 전 · #2002 | 파일 | 설명 주석 없음 |
e2e/full-journey/configs/11GitHub
analysis-contracts.json이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
analysis-disclosure.json이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
analysis-knowledge.json이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
analysis-multiple-claims.json이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
analysis-outpatient.json이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
analysis-reanalysis.json이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
example-zip.json이력5일 전 · #1967 | 파일 | 설명 주석 없음 |
example.json이력5일 전 · #1967 | 파일 | 설명 주석 없음 |
return-classification.json이력5일 전 · #1967 | 파일 | 설명 주석 없음 |
return-extraction.json이력5일 전 · #1967 | 파일 | 설명 주석 없음 |
testbench-110902-kjh.json이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
e2e/hospital-aliases/5GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
seed.sql이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/image-system-integration/7GitHub
control.py이력6일 전 · #1927 | 파일 | 설명 주석 없음 |
proxy.py이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
requirements.txt이력 | 파일 | 설명 주석 없음 |
resources.py이력6일 전 · #1927 | 파일 | 설명 주석 없음 |
run.py이력6일 전 · #1927 | 파일 | 설명 주석 없음 |
settings.py이력 | 파일 | 설명 주석 없음 |
test_integration_tools.py이력3일 전 · #2069 | 파일 | 설명 주석 없음 |
e2e/investigation-list/3GitHub
README.md이력6일 전 · #1957 | 문서 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
seed.sql이력6일 전 · #1957 | 파일 | 설명 주석 없음 |
e2e/login/5GitHub
README.md이력3일 전 · #2097 | 문서 | 설명 주석 없음 |
control.py이력 | 파일 | 설명 주석 없음 |
run.py이력3일 전 · #2097 | 파일 | 설명 주석 없음 |
sso_proxy.py이력 | 파일 | 설명 주석 없음 |
test_support.py이력 | 파일 | 설명 주석 없음 |
e2e/mail-account/7GitHub
README.md이력 | 문서 | 설명 주석 없음 |
directory.sql이력 | 파일 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
smtp_server.py이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
test_smtp.py이력 | 파일 | 설명 주석 없음 |
e2e/organization/4GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/permissions/4GitHub
README.md이력6일 전 · #1957 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력6일 전 · #1957 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/real/3GitHub
e2e/realdata/25GitHub
e2e/realdata/screens/13GitHub
access.spec.ts이력오늘 · #2168 | E2E | 일반 사용자 화면의 왼쪽 메뉴에는 관리자 콘솔 이동 버튼이 없다 |
account.spec.ts이력7일 전 · #1920 | E2E | 로그인 |
admin-ops.spec.ts이력오늘 · #2189 | E2E | 통계 대시보드 — 카드 조회·조건·동시 요청 한도·업무 데이터 탭 |
admin-taxonomy.spec.ts이력오늘 · #2180 | E2E | 위탁사 Workspace — 위탁사를 골라 전송 방식을 바꿨다 되돌린다 |
agent-essential.spec.ts이력 | E2E | 에이전트 채팅 로그인 전 접근 |
agent-studio.spec.ts이력5일 전 · #1985 | E2E | 문서 분류 체계에 2depth 문서종을 추가하고 저장한다 |
agent.spec.ts이력5일 전 · #1984 | E2E | 로그인 전 접근 |
investigation-list.spec.ts이력 | E2E | 로그인 전 접근 |
knowledge-validation.spec.ts이력오늘 · #2168 | E2E | 같은 폴더의 기존·동시 선택 파일명은 공백·대소문자·한글 정규화가 달라도 중복으로 막힌다 |
knowledge.spec.ts이력오늘 · #2168 | E2E | 로그인 전 접근 |
workspace-viewer.spec.ts이력 | E2E | 건 화면 문서 뷰어 — 낱장을 열어 다음·이전으로 넘기고 문서함 선택이 따라온다 |
expected-server-errors.ts이력 | 모듈 | 부정 시험이 사전에 선언한 응답만 허용한다. |
support.ts이력 | 모듈 | 스텁이 아니면 Studio 실연동이다(채팅·지식컬렉션 색인이 실제로 Studio 에 간다). |
e2e/realdata/screens/actions/50GitHub
e2e/realdata/screens/prepared/66GitHub
admin-knowledge-essential.spec.ts이력7일 전 · #1871 | E2E | 지식컬렉션 관리 필수 — 관리 권한이 있는 사용자만 공용컬렉션을 변경한다 |
agent-chat-context-essential.spec.ts이력 | E2E | 대화 용량 필수 — 실제 Studio 사용량을 답변 줄에 남기고 직전 답변 기준으로 화면에 보인다 |
agent-chat-delete-essential.spec.ts이력6일 전 · #1957 | E2E | 채팅 삭제 필수 — 확인을 취소하면 대화·첨부와 완료 횟수를 유지한다 |
analysis-conditions-essential.spec.ts이력6일 전 · #1957 | E2E | 분석 조건 필수 — 사건에 고정된 청구유형과 청약서 설정을 사용한다 |
application-forms-essential.spec.ts이력어제 · #2154 | E2E | 청약서 폼 필수 — 새 변수와 질문은 확정할 때 한 번에 저장된다 |
audit-logs-essential.spec.ts이력7일 전 · #1899 | E2E | 01. 작업 항목·이벤트 타입·결과·검색어에 모두 일치하는 감사 기록만 조회한다 |
classification-mapping-essential.spec.ts이력오늘 · #2180 | E2E | 분류체계 매핑 필수 — 매핑 권한으로 조회·확정하고 권한 없는 화면과 API 변경을 차단한다 |
client-workspace-essential.spec.ts이력2일 전 · #2106 | E2E | 위탁사 Workspace 필수 — Workspace 권한만으로 설정하고 권한 없는 변경은 차단한다 |
collection-approval.spec.ts이력6일 전 · #1957 | E2E | 최종 승인만으로 개인 파일을 공용으로 전환한다 |
collection-viewer-essential.spec.ts이력오늘 · #2168 | E2E | 지식컬렉션 뷰어 필수 — 폴더 안 상세와 단독 화면의 컬렉션 정보를 비교한다 |
full-journey.spec.ts이력어제 · #2145 | E2E | 전체 업무 흐름 — 실제 문서 ZIP 인입부터 분류·추출 검수·분석·초안 1차·2차 수정과 최종 수신까지 같은 보고서로 완료한다 |
hospital-aliases-essential.spec.ts이력3일 전 · #2082 | E2E | 병원 명칭 매핑 필수 — 여러 검색 항목과 사용·등재 경로를 함께 적용한다 |
image-system-integration.spec.ts이력6일 전 · #1927 | E2E | 이미지 연동 필수 — SFTP ZIP부터 공통 S3·Studio 업로드를 거쳐 담당자 목록과 보고서 원문에 진입한다 |
investigation-list-essential.spec.ts이력6일 전 · #1957 | E2E | 사고조사 목록 필수 — 본인 사건을 열고 돌아오면 검색 조건이 유지된다 |
login-essential.spec.ts이력3일 전 · #2097 | E2E | 로그인 필수 — 기존 SSO 인증으로 로그인 화면 없이 원래 업무 화면에 진입한다 |
mail-account-essential.spec.ts이력오늘 · #2181 | E2E | 01. 비밀번호를 비우고 설정만 변경하면 기존 암호문·비밀번호 이력·변경 예정일을 보존한다 |
onboarding-essential.spec.ts이력7일 전 · #1920 | E2E | 온보딩 필수 — 앞뒤 공백과 확인값 대소문자 차이를 허용하고 정리한 주소를 저장한다 |
organization-essential.spec.ts이력2일 전 · #2096 | E2E | 01. 하위 조직과 직급·이름·이메일 조건을 함께 적용하고 형제 조직을 제외한다 |
permissions-essential.spec.ts이력6일 전 · #1957 | E2E | 01. 여러 레벨·메뉴의 변경을 함께 저장하고 나머지 권한과 기본값을 보존한다 |
profile-essential.spec.ts이력 | E2E | 내 정보 필수 — 기존 주소의 대소문자와 앞뒤 공백만 바꾸면 저장 요청을 보내지 않는다 |
reanalysis-essential.spec.ts이력5일 전 · #1981 | E2E | 다시 분석 필수 — 조건부터 실행해도 분류·추출 결과와 이전 실행 이력은 보존된다 |
report-disposal-logs-essential.spec.ts이력2일 전 · #2096 | E2E | 같은 파기시각의 기록도 페이지 이동 시 중복·누락되지 않는다 |
report-draft-essential.spec.ts이력 | E2E | 01. 위탁사 양식의 구역·기관·탭·열 순서대로 초안을 구성한다 |
report-send-business-links.spec.ts이력6일 전 · #1957 | E2E | 15. 전송 로그 연결 — 실제 메일·스마트심사 전송의 결과가 목록과 CSV에 일치한다 |
report-send-essential.spec.ts이력6일 전 · #1956 | E2E | 01. 확인 창을 연 뒤 전송 방식이 변경되면 이전 채널로 보내지 않는다 |
report-send-logs-essential.spec.ts이력 | E2E | 01. 접수번호·위탁사 코드·피보험자·실패 사유·채널명 검색의 실제 결과를 확인한다 |
report-settings-essential.spec.ts이력 | E2E | 한 위탁사를 수정해도 다른 위탁사의 저장 설정은 유지된다 |
report-templates-essential.spec.ts이력 | E2E | 프롬프트 본문의 변수·줄바꿈·특수문자가 그대로 보존된다 |
report-types-essential.spec.ts이력 | E2E | 보고서 유형 필수 — 실제 추가한 유형의 서버 코드·맨 뒤 순서·대표 가능 여부가 새로고침 후 유지된다 |
statistics-b01.spec.ts이력 | E2E | 통계 필수 B01.01 — 질병코드별 처리 건수 · 메인 질병 기준 |
statistics-b02.spec.ts이력 | E2E | 통계 필수 B02.01 — 병원별 청구 집중도 · 동일 병원 반복 문서 |
statistics-b03.spec.ts이력 | E2E | 통계 필수 B03.01 — 위탁사별·청구 질병별 처리 현황 · 위탁사 합계와 누적 조각 |
statistics-b04.spec.ts이력 | E2E | 통계 필수 B04.01 — 병원·질병 처리 건수 · 병원·질병 조합 구분 |
statistics-b05.spec.ts이력 | E2E | 통계 필수 B05.01 — 병원·의사별 질병 처리 건수 · 의사별 조합 분리 |
statistics-b06.spec.ts이력 | E2E | 통계 필수 B06.01 — 청구유형 처리 건수 · 대표 유형만 집계 |
statistics-b07.spec.ts이력 | E2E | 통계 필수 B07.01 — 증권번호별 청구 현황 · 같은 증권 반복 청구 |
statistics-b08.spec.ts이력 | E2E | 통계 필수 B08.01 — 조직별 이용 현황 · 당시 부서 실적 보존 |
statistics-s01.spec.ts이력 | E2E | 통계 필수 S01.01 — 서비스 상태 · 모니터링 미설정 구분 |
statistics-s02.spec.ts이력 | E2E | 통계 필수 S02.01 — 오류/장애 현황 · 실패 원천 통합 |
statistics-s03.spec.ts이력 | E2E | 통계 필수 S03.01 — 분석 요청 건수 · 접수와 분석 요청 구분 |
statistics-s04.spec.ts이력 | E2E | 통계 필수 S04.01 — 분석 완료 건수 · 요약 완료 기준 |
statistics-s05.spec.ts이력 | E2E | 통계 필수 S05.01 — 평균 처리 시간 · 건수 가중 평균 |
statistics-s06.spec.ts이력 | E2E | 통계 필수 S06.01 — 종합현황 문서 자동 분류율 · 페이지 단위 분모 |
statistics-s07.spec.ts이력 | E2E | 통계 필수 S07.01 — 업무 완료율 · 전송 완료 기준 |
statistics-s08.spec.ts이력 | E2E | 통계 필수 S08.01 — 처리 완료 건수 추이 · 날짜별 실적 연결 |
statistics-s09.spec.ts이력 | E2E | 통계 필수 S09.01 — 평균 처리시간 추이 · 주간 가중 평균 |
statistics-s10.spec.ts이력 | E2E | 통계 필수 S10.01 — AI 품질 문서 자동 분류율 · 자동·수정 면수 분해 |
statistics-s11.spec.ts이력 | E2E | 통계 필수 S11.01 — 정보추출 품질 · 항목 단위 모수 |
statistics-s12.spec.ts이력 | E2E | 통계 필수 S12.01 — 재분석 발생률·검토율 · 최초 분석 제외 |
statistics-s13.spec.ts이력 | E2E | 통계 필수 S13.01 — 건당 처리시간 분포 · 구간 경계 일치 |
statistics-s14.spec.ts이력 | E2E | 통계 필수 S14.01 — 문서 인입량 대비 처리시간 달성률 · 100·101매 경계 |
statistics-s15.spec.ts이력 | E2E | 통계 필수 S15.01 — 문서별 추출 완료율 · 문서종별 항목 집계 |
statistics-s16.spec.ts이력 | E2E | 통계 필수 S16.01 — 필드별 추출 완료율 · 같은 필드명 통합 |
statistics-s17.spec.ts이력 | E2E | 통계 필수 S17.01 — 시간 목표률 · 기준시간과 동일 |
statistics-s18.spec.ts이력 | E2E | 통계 필수 S18.01 — AI 분석 이용자 · 동일인 반복 요청 |
statistics-s19.spec.ts이력 | E2E | 통계 필수 S19.01 — 보고서 생성 건수 · 생성과 전송 수 분리 |
statistics-s20.spec.ts이력 | E2E | 통계 필수 S20.01 — 챗봇 질의 건수 · 질문·답변 한 쌍 집계 |
statistics-s21.spec.ts이력 | E2E | 통계 필수 S21.01 — 질의 답변 응답 속도 · 10초 경계 |
studio-execution-essential.spec.ts이력오늘 · #2186 | E2E | 실행 테스트 필수 01 — 첨부가 없으면 분류 실행을 막고, 위탁사 없이도 분류·추출은 돈다 |
studio-schema-essential.spec.ts이력7일 전 · #1911 | E2E | 01. Studio 조회 불가 상태에서 저장하지 않고 복구한다 |
summary-essential.spec.ts이력3일 전 · #2055 | E2E | 요약 필수 — 조회 실패를 빈 결과로 오인하지 않고 복구한다 |
usage-history-essential.spec.ts이력7일 전 · #1899 | E2E | 사용 내역 필수 — 본인의 내역만 조회하고 메뉴 권한 없는 접근을 차단한다 |
workspace-classification-essential.spec.ts이력오늘 · #2181 | E2E | 분류 검수 필수 — 검토 대상의 원문을 열고 다음 낱장과 남은 유형을 누락 없이 안내한다 |
workspace-extraction-essential.spec.ts이력 | E2E | 추출 검수 필수 — 같은 이름의 항목을 수정해도 다른 낱장·문서의 값과 이력은 바뀌지 않는다 |
workspace-extraction-live.spec.ts이력 | E2E | Studio 추출 검수 — 가상 진단서·진료확인서를 자동 접수하고 실제 분류·추출 결과와 원문을 확인한다 |
workspace-intake-essential.spec.ts이력오늘 · #2170 | E2E | 서류 인입 필수 — 추가 서류를 받으면 새로고침 없이 문서함·장수를 갱신하고 확정 전 분류하지 않는다 |
e2e/reanalysis/4GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/report-disposal-logs/4GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/report-draft/4GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/report-send/5GitHub
README.md이력6일 전 · #1957 | 문서 | 설명 주석 없음 |
prepare.py이력6일 전 · #1957 | 파일 | 설명 주석 없음 |
provider.py이력6일 전 · #1956 | 파일 | 설명 주석 없음 |
run.py이력6일 전 · #1957 | 파일 | 설명 주석 없음 |
test_contract.py이력6일 전 · #1957 | 파일 | 설명 주석 없음 |
e2e/report-send-logs/4GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/report-templates/4GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/report-types/4GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/statistics/8GitHub
README.md이력 | 문서 | 설명 주석 없음 |
SCENARIOS.md이력 | 문서 | 설명 주석 없음 |
catalog.json이력 | 파일 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
prometheus.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
test_catalog.py이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/statistics/fixture/1GitHub
StatisticsFixtureServer.java이력 | 파일 | 설명 주석 없음 |
e2e/steps/31GitHub
e2e/studio-schema/5GitHub
README.md이력 | 문서 | 설명 주석 없음 |
contract.py이력 | 파일 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
test_contract.py이력 | 파일 | 설명 주석 없음 |
e2e/summary/4GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/usage-history/4GitHub
e2e/workspace-classification/7GitHub
README.md이력 | 문서 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
review-state.sql이력 | 파일 | 설명 주석 없음 |
review.sql이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
seed.sql이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/workspace-extraction/8GitHub
test_result_comparison.mjs이력 | 모듈 | 설명 주석 없음 |
README.md이력 | 문서 | 설명 주석 없음 |
fields.sql이력 | 파일 | 설명 주석 없음 |
prepare.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
seed.sql이력 | 파일 | 설명 주석 없음 |
test_engine_config.py이력 | 파일 | 설명 주석 없음 |
test_prepare.py이력 | 파일 | 설명 주석 없음 |
e2e/workspace-extraction-live/7GitHub
test_diagnosis_key.mjs이력 | 모듈 | 설명 주석 없음 |
README.md이력 | 문서 | 설명 주석 없음 |
make_documents.py이력 | 파일 | 설명 주석 없음 |
prepare_live.py이력 | 파일 | 설명 주석 없음 |
run.py이력 | 파일 | 설명 주석 없음 |
studio_contract.py이력 | 파일 | 설명 주석 없음 |
test_contract.py이력 | 파일 | 설명 주석 없음 |
lib · 보조
scripts/GitHub
코드 생성 스크립트
scripts/7GitHub
OpenAPI 스냅샷 → 타입·MSW 스켈레톤 생성, 디자인 토큰·콘텐츠 페이지 검사, PDF.js 자산 복사, E2E 커버리지 보고 스크립트.
check-content-page.mjs이력테스트 | 모듈 | /page.tsx 와 화면 `*-view.tsx` 의 `return` 바로 뒤 JSX 요소(조건부 로딩·오류 return 포함). |
check-design-tokens.mjs이력테스트 | 모듈 | 규칙: 이름 → [패턴, 대신 쓸 것] |
copy-pdfjs-assets.mjs이력 | 모듈 | pdf.js 런타임 자원 → public/pdfjs (승인센터 원본 뷰어). |
design-token-fix.mjs이력 | 모듈 | 디자인 토큰 규격 위반 → 프론트 토큰 치환 후보. |
e2e-coverage-report.mjs이력 | 모듈 | E2E 커버리지 리포트 — pnpm test:e2e:coverage 가 Playwright 실행 뒤 부른다. |
openapi-codegen.mjs이력테스트 | 모듈 | 백엔드 OpenAPI 계약 스냅샷 → 프론트 생성물 파이프라인 (P0-6). |
design-token-baseline.json이력오늘 · #2181 | 파일 | 설명 주석 없음 |
lib · 보조
public/GitHub
정적 파일
public/6GitHub
정적 파일.
mockServiceWorker.js이력 | 모듈 | MSW 서비스 워커 (msw init 생성물) — NEXT_PUBLIC_API_MOCKING=enabled 일 때 브라우저가 등록한다. |
file.svg이력 | 파일 | create-next-app 기본 아이콘 — 2026-09-15 기준 코드 어디에서도 참조하지 않는다. |
globe.svg이력 | 파일 | create-next-app 기본 아이콘 — 2026-09-15 기준 코드 어디에서도 참조하지 않는다. |
next.svg이력 | 파일 | create-next-app 기본 아이콘 — 2026-09-15 기준 코드 어디에서도 참조하지 않는다. |
vercel.svg이력 | 파일 | create-next-app 기본 아이콘 — 2026-09-15 기준 코드 어디에서도 참조하지 않는다. |
window.svg이력 | 파일 | create-next-app 기본 아이콘 — 2026-09-15 기준 코드 어디에서도 참조하지 않는다. |
public/brand/1GitHub
hanwha-logo.png이력 | 파일 | 설명 주석 없음 |
파일 목록·화면 지도·환경변수·명령·변경 표시는 dev 에 머지될 때마다 코드와 git 이력에서 다시 뽑습니다. 설명이 비어 있는 파일은 맨 위나 export 위에 한 줄 주석을 달면 다음 빌드부터 채워집니다. 옆에 테스트가 있는 파일은 테스트 표시가 붙습니다.