hwss-investigation-agent-prototype 기준 본 화면 35개 · 커밋 19f08289 · 2026-09-16 13:54 KST 빌드
HWSS 구현 커버리지 맵
프로토타입에서 확정한 화면마다 프론트·백엔드·AI/외부 연동이 어디까지 왔는지 한 장으로 봅니다. 화면 이름 아래 파란 칩은 프로토타입 미리보기와 프론트엔드 가이드로, 클래스 이름은 백엔드 가이드의 그 파일 행으로 갑니다. 상태는 사람이 적고, 그 내용이 지금 코드와 맞는지는 빌드가 매번 확인해 어긋나면 점검 필요 를 붙입니다.
상태가 뜻하는 것
- 구현
- 화면이 쓸 만큼 동작
- 부분
- 일부만 — 메모에 무엇이 빠졌는지
- 미구현
- 아직 없음
- 자리값
- AI 결과가 스텁(ResultProvenance.STUB)
- 해당 없음
- AI·외부 연동이 필요 없는 화면
표 점검
이 표가 코드를 따라가고 있나GitHub
빌드마다 다시 계산
화면 대응·상태·남은 클래스는 사람이 docs-site/data/coverage.json 에 적고, 그 내용이 지금 코드와 맞는지는 빌드가 매번 확인합니다. 어긋나도 배포는 막지 않고 여기에 드러냅니다.
- 표의 라우트·클래스가 모두 지금 코드와 맞습니다.
집계에서 뺀 화면 35개
기획 Draft·레이아웃 실험 화면, 하위 화면으로 넘기는 진입 경로, LNB 에서 빠진 구 화면은 화면 계약이 아니므로 집계에서 뺀다.
User 콘솔
진입·계정
화면 3개
| 로그인 | 프론트구현백엔드부분AI·외부미구현 | 백엔드개발용 로그인·세션 발급만, SSO 신원 확인 없음 AI·외부SSO 사이트마인더 미연동 남은 클래스SsoCallbackControllerSiteMinderIdentityProvider 있는 클래스AuthControllerAuthSessionServiceAuthTokenServiceJwtCookieAuthenticationFilterLocalDevIdentityProviderAuthPasswordController 엔드포인트AuthController 3/4화면이 부르는 수 / 계약에 있는 수 메모IdentityProviderPort 자리만 있음. 콜백 GET /api/v1/auth/sso/callback 은 work-plan 대기 항목, 프록시 구성 결정은 🔴. |
| 최초 로그인 이메일 등록 | 프론트구현백엔드구현AI·외부해당 없음 | 백엔드온보딩 완료 API 있는 클래스AuthOnboardingControllerAuthOnboardingServiceOrganizationUserSupplementStoreAdapterUserSupplementEntity 엔드포인트AuthOnboardingController 1/1화면이 부르는 수 / 계약에 있는 수 |
| 내 정보 | 프론트미구현백엔드부분AI·외부해당 없음 | 백엔드세션·사용자 조회만, 이메일 수정·검증 없음 남은 클래스UserProfileControllerUserEmailChangeService 엔드포인트UserController 2/3화면이 부르는 수 / 계약에 있는 수 메모이메일은 온보딩 시점에만 저장 가능. 조직도 관리자 수정 경로와 같은 저장소를 쓰게 된다. |
User 콘솔
에이전트
화면 3개
| 에이전트 채팅 | 프론트미구현백엔드미구현AI·외부미구현 | 백엔드챗 도메인 모듈 없음 AI·외부업스테이지 챗 인터페이스 정의서 대기 남은 클래스ChatControllerChatSessionServiceChatSessionEntityChatMessageEntityChatModelPortStudioChatAdapterchat-core / chat-shared (신규 모듈) 메모9/10 모델팀 협의 노트 기준, 정의서 수령 후 계약 승격 예정 (work-plan 대기). |
| 사용 내역 | 프론트미구현백엔드미구현AI·외부해당 없음 | 백엔드대화 이력 조회 없음 남은 클래스ChatSessionQueryServiceChatSessionControllerchat-core / chat-shared (신규 모듈) |
| 지식컬렉션 참조 내역 | 프론트미구현백엔드미구현AI·외부미구현 | 백엔드답변·요약의 청크 인용 기록 없음 AI·외부검색 결과 인용 메타 필요 남은 클래스AnswerReferenceEntityAnswerReferenceControllerchat-core / chat-shared (신규 모듈) 메모챗·요약 실연동이 선행돼야 쌓일 데이터. |
User 콘솔
사고조사 AI Agent
화면 9개
| 사고조사 목록 | 프론트구현백엔드구현AI·외부해당 없음 | 백엔드목록·상태·접수일자 범위 조회 있는 클래스InvestigationReportControllerInvestigationReportQueryServiceInvestigationReportEntityInvestigationStatusTransition 엔드포인트InvestigationReportController 3/3화면이 부르는 수 / 계약에 있는 수 |
| 워크스페이스 · 서류 인입 | 프론트구현백엔드구현AI·외부부분 | 백엔드이미지 수신 API-01~07·원본 이미지·스테퍼 AI·외부이미지시스템 수신 동작, 서버 IP 허용 목록 회신 대기 있는 클래스ImageIntegrationControllerImageTransferReceptionServiceFinalTransferCompletionServiceReportPageImageControllerReportPageImageServiceWorkflowEngineImplWorkflowProgressPortImpl 엔드포인트ImageIntegrationController 0/6 · ReportPageImageController 0/1화면이 부르는 수 / 계약에 있는 수 메모pageNo 제거 계약 반영은 이미지시스템 계약 확정 대기. |
| 분류 중 · 미분류/저신뢰 조치 | 프론트구현백엔드구현AI·외부자리값 | 프론트classification-review-center 백엔드수동 분류·AI 일괄 확정·보정 이력 AI·외부분류 결과가 스텁 자리값 남은 클래스StudioClassificationAdapterPipelineCorrectionSyncPortImplinvestigation-core (AI 실연동) 있는 클래스ClassificationResultControllerClassificationResultServiceClassificationResultEntityClassificationCorrectionEntityClassificationStepWorkPortImpl 엔드포인트ClassificationResultController 3/6화면이 부르는 수 / 계약에 있는 수 메모PipelineCorrectionSyncPort 는 base 에 선언만 있고 main 구현체가 없음(테스트 대역만). |
| 다시 분석 3종 (증분·추출부터·분류부터) | 프론트미구현백엔드미구현AI·외부자리값 | 백엔드REANALYSIS_REQUIRED 상태만 있고 재실행 API 없음 AI·외부재실행할 AI 단계가 스텁 남은 클래스ReanalysisControllerReanalysisServiceinvestigation-core (AI 실연동) 메모docs/specs/investigation-agent-confirm-reanalysis-actions.md 스펙이 있어 착수 기준은 마련돼 있음. |
| 추출 완료 · 추출 검수 | 프론트구현백엔드구현AI·외부자리값 | 프론트extraction-review-center 백엔드최신 결과·항목 수정·수정 이력 AI·외부추출 결과가 스텁 자리값 남은 클래스StudioExtractionAdapterinvestigation-core (AI 실연동) 있는 클래스ExtractionResultControllerExtractionResultServiceExtractionResultFieldEntityExtractionFieldCorrectionEntityExtractionStepWorkPortImpl 엔드포인트ExtractionResultController 1/3화면이 부르는 수 / 계약에 있는 수 |
| 분석 조건 입력 | 프론트구현백엔드구현AI·외부해당 없음 | 프론트analysis-summary-center 백엔드계약·청약서·컬렉션 조건 버전 저장 있는 클래스AnalysisRequestControllerAnalysisRequestServiceAnalysisRequestEntityAnalysisRequestContractEntityAnalysisRequestFormEntityAnalysisRequestCollectionEntity 엔드포인트AnalysisRequestController 1/3화면이 부르는 수 / 계약에 있는 수 메모프론트는 저장(POST)만 호출. 최신·버전 조회 API는 미사용. |
| 요약 완료 · 요약 확인·수정·확정 | 프론트부분백엔드구현AI·외부자리값 | 프론트최신 요약 조회만 백엔드항목 수정·반영 체크·확정·롤백 AI·외부요약 카드가 스텁 자리값 남은 클래스StudioSummaryAdapterinvestigation-core (AI 실연동) 있는 클래스SummaryResultControllerSummaryResultServiceSummaryCardEntitySummaryItemEntitySummaryItemSourceEntityAnalysisStepWorkPortImpl 엔드포인트SummaryResultController 1/6화면이 부르는 수 / 계약에 있는 수 메모수정·확정·반영 체크 5개 API가 프론트에 아직 연결되지 않음. |
| 보고서 초안 생성·편집 | 프론트미구현백엔드구현AI·외부해당 없음 | 백엔드확정 요약 → 초안 생성·수정·버전 엔드포인트ReportDraftController 0/5화면이 부르는 수 / 계약에 있는 수 |
| 보고서 전송 (메일·스마트심사) | 프론트미구현백엔드구현AI·외부부분 | 백엔드메일 발송·이력 AI·외부SMTP 발송 동작, 스마트심사 전송 없음 남은 클래스SmartReviewReportSenderinvestigation-core (전송·파기) 엔드포인트ReportMailController 0/2화면이 부르는 수 / 계약에 있는 수 |
User 콘솔
지식 컬렉션
화면 2개
| 지식 컬렉션 목록·등록 | 프론트구현백엔드부분AI·외부부분 | 백엔드CRUD·파일 등록·승인 요청, 파일 태그 없음 AI·외부Studio 벡터 어댑터 있음, 기본 provider 는 in-memory 남은 클래스CollectionFileTagEntityCollectionTagServicecollection-core (태그·뷰어) 있는 클래스CollectionControllerCollectionServiceCollectionFileRegistrarCollectionSearchServiceCollectionApprovalControllerStudioVectorStoreAdapter 엔드포인트CollectionController 6/7 · CollectionApprovalController 3/5화면이 부르는 수 / 계약에 있는 수 메모프론트는 승인 요청 생성·검색 API 미연결. |
| 지식컬렉션 뷰어 | 프론트구현백엔드부분AI·외부부분 | 백엔드파일 목록·상태만, 문서 보기·태그 수정 없음 AI·외부인덱싱 상태 매핑만 남은 클래스CollectionFilePreviewControllerCollectionTagServicecollection-core (태그·뷰어) 엔드포인트CollectionController 6/7화면이 부르는 수 / 계약에 있는 수 |
Admin 콘솔
대시보드
화면 1개
| 통계 대시보드 | 프론트부분백엔드부분AI·외부해당 없음 | 프론트자리 카드 + 미매핑 큐 화면만 백엔드시스템·업무 통계·미매핑 큐·재적재, 동시 요청 제한 설정 없음 남은 클래스AnalysisConcurrencyLimitControllerinvestigation-core (통계·제한) 있는 클래스LifecycleStatisticsControllerBusinessStatisticsControllerStatUnmappedQueueControllerStatisticsBackfillControllerReportLifecycleFactLoaderStatDailyRollupService 엔드포인트LifecycleStatisticsController 0/1 · BusinessStatisticsController 0/1 · StatUnmappedQueueController 3/3 · StatisticsBackfillController 0/1화면이 부르는 수 / 계약에 있는 수 메모통계 조회 API 2개가 준비됐지만 대시보드 카드 화면이 없음. 프론트의 /admin/statistics/unmapped 는 프로토타입에 대응 화면이 없는 백엔드 주도 화면. |
Admin 콘솔
지식컬렉션
화면 2개
| 지식컬렉션 관리 | 프론트미구현백엔드부분AI·외부부분 | 프론트LNB 비활성(준비 중) 백엔드사용자 컬렉션 API 재사용 가능, 공용 등록·위탁사별 참조 기본값 없음 AI·외부Studio 벡터 어댑터 남은 클래스AdminCollectionControllerCustomerReferenceDefaultEntityCollectionTagSchemeEntitycollection-core (태그·뷰어) 엔드포인트CollectionController 6/7화면이 부르는 수 / 계약에 있는 수 |
| 지식컬렉션 승인 · 검토 | 프론트부분백엔드구현AI·외부해당 없음 | 프론트승인 목록·승인/반려, 검토 화면 없음 백엔드대기함·승인·반려 엔드포인트CollectionApprovalController 3/5화면이 부르는 수 / 계약에 있는 수 |
Admin 콘솔
위탁사
화면 1개
| 위탁사 워크스페이스 | 프론트미구현백엔드미구현AI·외부해당 없음 | 백엔드위탁사 목록 조회만, 설정 진행률·전송 방식 없음 남은 클래스CustomerWorkspaceControllerCustomerSetupProgressServiceCustomerDeliverySettingEntity설정 마스터 (모듈 배치 미정) 엔드포인트CustomerCompanyController 1/1화면이 부르는 수 / 계약에 있는 수 |
Admin 콘솔
사고조사 Agent 체계 관리
화면 8개
| 수동-자동 분류체계 매칭 | 프론트구현백엔드구현AI·외부구현 | 백엔드위탁사별 매핑 조회·저장 AI·외부이미지 마스터 동기화 API-06·07 있는 클래스ClassificationMappingControllerClassificationMappingServiceFolderClassificationMappingEntityClassificationMasterSyncServiceImageMasterSyncPortImpl 엔드포인트ClassificationMappingController 2/2 · CustomerCompanyController 1/1화면이 부르는 수 / 계약에 있는 수 |
| AI문서분류-추출 체계 | 프론트미구현백엔드미구현AI·외부미구현 | 백엔드에이전트 문서종 엔티티만, 관리 API·추출 스키마 없음 AI·외부Studio 스키마 반영 없음 남은 클래스DocumentTypeSchemaControllerDocumentTypeSchemaServiceExtractionSchemaFieldEntity설정 마스터 (모듈 배치 미정) 있는 클래스AgentDocumentTypeEntity |
| 요약 및 해석 체계 | 프론트미구현백엔드미구현AI·외부해당 없음 | 백엔드요약 결과 저장만, 섹션·항목 설정 마스터 없음 남은 클래스SummaryLayoutControllerSummarySectionEntitySummaryItemDefinitionEntitySummaryExceptionRuleEntity설정 마스터 (모듈 배치 미정) 메모기본 구성 + 보고서유형 예외 구조가 화면에서 검토 중. 확정 전 스키마 고정 금지 대상. |
| 보고서 양식 설정 | 프론트미구현백엔드구현AI·외부해당 없음 | 백엔드양식 등록·수정·버전·활성·복제 엔드포인트ReportTemplateController 0/8화면이 부르는 수 / 계약에 있는 수 메모API 준비 완료, 프론트 화면만 남음. 단 LNB 화면은 고정 11종 프롬프트 편집 시안이라 계약 차이 확인 필요. |
| 에이전트 스튜디오 (스키마·테스트) | 프론트미구현백엔드미구현AI·외부미구현 | 백엔드프롬프트·스키마 편집과 시험 실행 API 없음 AI·외부Studio 프롬프트·스키마 API 연동 없음 메모화면 계약이 아직 확정되지 않아 남은 클래스를 적지 않는다. 계약이 정해지면 이 행부터 채운다. |
| 청약서 폼 설정 | 프론트미구현백엔드미구현AI·외부해당 없음 | 백엔드유형 5종 질문·변수 마스터 없음 남은 클래스ApplicationFormControllerApplicationFormTypeEntityApplicationFormQuestionEntity설정 마스터 (모듈 배치 미정) |
| 공시실 링크 설정 | 프론트미구현백엔드미구현AI·외부해당 없음 | 남은 클래스DisclosureLinkControllerDisclosureLinkEntity설정 마스터 (모듈 배치 미정) |
| 병원 명칭 매핑 | 프론트미구현백엔드부분AI·외부해당 없음 | 백엔드통계 차원 별칭 테이블·미매핑 큐만 존재 남은 클래스HospitalAliasControllerHospitalAliasService설정 마스터 (모듈 배치 미정) 엔드포인트StatUnmappedQueueController 3/3화면이 부르는 수 / 계약에 있는 수 메모병원 키 원천(요양기관기호 vs 정규화 명칭)이 TODO(decision-needed). |
Admin 콘솔
로그
화면 4개
| 메일 발송 로그 · 계정 | 프론트구현백엔드부분AI·외부구현 | 백엔드계정 조회·비밀번호 재설정, 발송 로그 목록 없음 AI·외부사내 Postfix SMTP 남은 클래스MailDeliveryLogControllerMailDeliveryLogEntitymail-core (발송 로그) 엔드포인트MailAccountController 2/2화면이 부르는 수 / 계약에 있는 수 |
| 보고서 초안 전송 로그 | 프론트미구현백엔드부분AI·외부미구현 | 백엔드보고서별 메일 이력만, 전사 조회·스마트심사 이력 없음 AI·외부스마트심사 전송 없음 남은 클래스ReportDeliveryLogControllerReportDeliveryLogQueryServiceinvestigation-core (전송·파기) 엔드포인트ReportMailController 0/2화면이 부르는 수 / 계약에 있는 수 |
| 보고서 파기 로그 | 프론트미구현백엔드미구현AI·외부해당 없음 | 백엔드파기 실행·기록 없음 남은 클래스ReportPurgeServiceReportDisposalLogEntityReportDisposalLogControllerinvestigation-core (전송·파기) 메모파기-통계 경계 결정 🔴, work-plan 대기 1순위. |
| 감사 로그 | 프론트구현백엔드구현AI·외부해당 없음 | 백엔드기간·유형 조회 엔드포인트AuditLogController 1/1화면이 부르는 수 / 계약에 있는 수 |
Admin 콘솔
조직·권한
화면 2개
| 조직도 | 프론트구현백엔드부분AI·외부부분 | 백엔드부서 트리·직원·레벨 교체, 이메일 수정·HR 변경 알림 없음 AI·외부스마트심사 오라클 조회 어댑터(기본 비활성) 남은 클래스UserEmailChangeServiceHrChangeNoticeServiceorganization-core (프로필·HR) 있는 클래스DepartmentControllerUserControllerOrganizationServiceUserRoleAssignmentServiceSmartReviewUserDirectoryAdapter 엔드포인트DepartmentController 1/1 · UserController 2/3 · RoleController 1/1화면이 부르는 수 / 계약에 있는 수 |
| 권한 관리 | 프론트구현백엔드구현AI·외부해당 없음 | 백엔드레벨 × 메뉴 매트릭스·내 권한 엔드포인트MenuPermissionController 3/4화면이 부르는 수 / 계약에 있는 수 |
화면 대응·상태·남은 클래스는 docs-site/data/coverage.json 에 사람이 적습니다. 라우트·클래스가 실제로 있는지, 남은 클래스가 이미 생겼는지, 스텁 표시가 남아 있는지는 dev 에 머지될 때마다 다시 계산합니다. 구현을 끝냈다면 그 행의 상태와 남은 클래스를 함께 고쳐 주세요.