3-02 · 검토 화면과 완료 상태 연결하기

1. 실습 목표

기존 표본·Agent 초안 화면의 디자인과 데이터 흐름을 유지하면서 최종 검토 결과 저장, 현재 결과·전체 이력, 완료 집계와 CSV 내보내기를 연결합니다.

2. 시작 지점

  • 시작 체크포인트: student/12-review-storage-ready
  • 서버는 권한과 입력을 확인해 담당자 검토 결과를 새 이력으로 저장합니다.
  • 기존 앱 셸의 working-paper 12건과 검토 저장 API 응답을 확인합니다.

3. 구현 범위 및 요구사항

읽기·저장 화면

  • 새 라우터·탭·사이드바·패키지 없이 기존 App.tsxstyles.css를 확장합니다.
  • 표본 목록, Agent 초안, 현재 검토 결과와 전체 이력을 제목으로 구분합니다.
  • 기존 U701/U601 select를 검토자 선택에 사용하고 결론·필수 메모·저장 버튼을 추가합니다.
  • 저장 성공·권한 거부·입력 오류를 텍스트로 구분하고 성공 뒤 서버 상태를 다시 읽습니다.

완료 상태

  • 서버가 사례별 최신 결론으로 reviewed_count, pending_count와 결론별 건수를 계산합니다.
  • reviewed_count + pending_count = 12이며 수정 이력 수는 진행률에 더하지 않습니다.
  • 현재 검토 자료 12건이 모두 검토된 경우에만 export_ready: true입니다.

CSV 내보내기

  • GET /api/day3/export.csv는 서버에서도 완료 조건과 U701 권한을 확인합니다.
  • CSV에는 지정 표본 12건의 최신 검토 결과·메모·검토자·시각과 source ID를 한 행씩 둡니다.
  • 다운로드 CSV와 SQLite는 Git에 넣지 않습니다.
  • 담당자 검토 결과와 Agent 초안을 화면에서 서로 다른 영역으로 표시합니다.

4. 실습 프롬프트

Claude Code에 붙여 넣을 프롬프트
기존 앱 셸에 담당자 검토 화면을 연결하고 모든 검토가 끝난 뒤에만 CSV를 내보낼 수 있게 해 주세요.
 
현재 백엔드는 담당자의 검토 결과를 이력으로 저장하지만 화면에서 입력할 수 없고, 같은 요청의 재전송과 전체 검토 완료 여부도 처리하지 않습니다. 기존 React 화면과 검토 저장 API를 먼저 확인하고 담당자 검토 흐름을 연결해 주세요.
 
구현이 끝나면 담당자가 각 변경 요청의 결론과 메모를 저장하고 전체 이력을 확인할 수 있어야 합니다. 모든 검토가 끝난 경우에만 최신 결과를 CSV로 내려받을 수 있어야 합니다.
 
- 검토 대상, Agent 초안, 현재 결과와 전체 검토 이력 표시
- 검토자, 결론, 메모 입력과 저장 버튼 연결
- 요청 ID를 이용한 동일 요청 재전송 결과의 재사용
- 같은 요청 ID에 다른 내용이 전달된 경우 충돌 처리
- 사례별 최신 결과를 이용한 완료 상태와 결론별 집계 계산
- 미완료 상태에서 화면과 서버의 CSV 내보내기 거부
- 기존 대시보드·모집단·예외·검토 자료 화면 유지
- 새 패키지와 Agent 실행 기능 추가 금지
 
동일 요청 재전송과 미완료 CSV 요청을 한 번씩 확인하고 기존 검사 명령을 실행해 주세요. 구현 후에는 변경 파일, 실제 저장·집계·CSV 동작, 검사 통과 여부와 남은 위험만 간단히 알려 주세요.

5. 예상 결과

Success

  • 종료 체크포인트: student/13-review-ui-ready
  • 초기 12 / 0 / 12, 저장 1건 뒤 12 / 1 / 11
  • 수정 뒤 검토 건수는 같고 결론별 건수만 변경
  • 12건 전 CSV 거부, 완료 뒤 데이터 행 12개
  • Agent 초안과 최종 검토 결과·전체 이력 분리
  • 기존 셸에서 담당자 검토·완료 집계·전체 이력·CSV 화면을 사용할 수 있음

6. 대표 실패 사례 및 복구

Failure

  • 화면 선택만 바꾸고 서버 응답 전에 완료로 표시함
  • 전체 이력 수를 검토 건수로 계산함
  • 화면 버튼만 막고 미완료 CSV API는 허용함

Info

API의 현재 결론과 완료 집계를 단일 기준으로 다시 읽습니다. 계속 지연되면 student/13-review-ui-ready로 이동합니다.

직접 확인할 결과

  1. 기존 working-paper 화면에서 담당자·결론·메모 입력 영역을 활성화합니다.
  2. 한 건 저장 뒤 현재 검토 집계가 12 / 1 / 11로 서버 응답과 맞는지 확인합니다.
  3. 같은 사례를 수정하면 현재 결론만 바뀌고 전체 이력은 누적되는지 확인합니다.
  4. 12건 완료 전 CSV 다운로드 거부와 12건 완료 후 데이터 행 12개를 확인합니다.

7. 다음 실습

student/13-review-ui-ready에서 Agent 권한과 실행 이력을 완성합니다.