- `docs/` 를 .gitignore 에서 빼 git 추적 대상으로 전환 (위키·완료 이력·검증 기록) - `docs/raw/PLAN.md` · `docs/raw/OWNERS.md` 를 저장소 최상위로 이동 후 .gitignore 에 등록 — 창끼리 공유하되 저장소에는 안 올리는 장부 - 살아 있는 경로 참조 7개 파일 정정 (아카이브 107건은 그때 사실이라 그대로 둠) - graphify 날짜별 산출물(`docs/wiki/graphify-out/20*/`) 제외 — `graphify update` 가 다시 만듦 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
4.2 KiB
4.2 KiB
R1 워크플로우 재편 및 R2 임시 보관함 기능 코드 검증 보고서
- 검증 일시: 2026-08-08
- 검증자: 코드 검증 (Verifier / QA)
- 검증 대상:
- R2 프로젝트 생성 전 임시 보관함 (Temp Upload) 구현
- R1 폴더 구조 리팩토링 및 워크플로우 재편 (B04~B09)
1. R2 프로젝트 생성 전 임시 보관함 (Temp Upload) 검증
1.1 대상 파일 및 스펙 대조
- DB 스키마:
db_management/010_temp_upload.sql - 백엔드:
B03_FileInput/B03_FileInput_Router_Temp.pyB03_FileInput/B03_FileInput_Schema_Temp.pyB03_FileInput/B03_FileInput_Repository_Temp.pycommon_util/common_util_temp_cleanup.pycommon_util/common_util_storage.py
- 프론트엔드:
B01_Dashboard/B01_Dashboard_UI_TempUpload.tsB01_Dashboard/B01_Dashboard_UI_TempModal.tsB01_Dashboard/B01_Dashboard_Api_Temp.tsB03_FileInput/B03_FileInput_UI_Page.ts
- 검증 결과: 적합 (PASS)
1.2 세부 점검 항목
- DB 스키마 정합성 (
010_temp_upload.sql):temp_upload_batches및temp_upload_files테이블 신설.upload_sessions테이블의project_idNULL 허용 완화 및temp_batch_id컬럼 추가를 위한 PREPARE/EXECUTE 기반 FK 동적 제거/재설정 처리 확인.
- 백엔드 API 및 서비스 구조:
- 700줄 제한 원칙을 준수하여 Router, Schema, Repository를 명확히 분리.
- 묶음 생성, 목록 조회, 삭제, 청크/일반 업로드, finalize, attach(영구 저장소 이동 및 자동 체인 트리거) API 정상 구현.
common_util_temp_cleanup.py및main.pylifespan 주기 루프를 통해 30일 경과 만료 보관 자료 자동 삭제 정리 로직 구현.
- 프론트엔드 UI/UX:
- B01 대시보드 프로젝트 컨테이너 하단에 그룹(임시 프로젝트명) + 파일 표 구조의 UI 컴포넌트 장착.
- 우측 상단 [+] 모달을 통해 파일 등록 시 모달 내부 상태 관리 및 진행률 행 바(Progress bar) 표시 방식 구현.
- B03 파일 입력에서 [임시 보관함에서 불러오기] 연동 및
attachAPI 트리거 연결 확인.
2. R1 폴더 구조 리팩토링 — 워크플로우 재편 (B04~B09) 검증
2.1 대상 파일 및 스펙 대조
- 폴더 및 라우트 구조:
B04_PreProcess(지표면 분석)B05_Profile(경로 및 종단)B06_Section(횡단 및 유토곡선)B07_Quantity(수량 셸 신설)B08_DesignDetail(도면/CAD 이동)B09_Estimation(설계도서)
- 공통 및 설정:
A00_Common/router.ts,config/config_frontend.ts,config/config_system.py,common_util/common_util_workflow_state.py,main.py - 검증 결과: 적합 (PASS)
2.2 세부 점검 항목
- 폴더 및 네이밍 리팩토링:
wf1~wf6번호 표현 제거 및B04_PreProcess,B05_Profile,B06_Section,B07_Quantity,B08_DesignDetail,B09_Estimation네이밍 체계로 전면 정돈 완료.- 소스코드 내 이전 경로/슬러그/이름 잔존 0건 대조 확인.
- CAD 도면 및 수량 셸 이동:
- 기존 B07 도면/openwebcad 관련 소스코드가
B08_DesignDetail로 이동되었으며, 정적 파일 마운트/b08-cad및 CAD 레이어b08-*, postMessage 프로토콜 정상 전환. B07_Quantity는 셸 및confirm_quantity(stage 4 QUANTITY COMPLETE 전이) API로 가볍게 재구성 완료. 구 수량 코드는0_old_260726_codex.zip으로 안전 보관됨.
- 기존 B07 도면/openwebcad 관련 소스코드가
- B05/B06 패널 액션 및 상태 관리:
- B05 패널 [최적 경로 계산] 버튼의 설정 컨테이너 내부 이동 및 하단 액션 [초기화][임시저장][횡단 이동] 배치 완료.
- 자동 체인 연산 시 stage 2(PROFILE) 및 stage 3(SECTION)을
IN_PROGRESS(노란색) 상태로 유지하여 사용자의 자유로운 상호 이동 및 수정 허용. - B06 [확정] 클릭 시 stage 2 및 stage 3를 동시 COMPLETE 처리하고 B07로 전이하는 스펙 준수 확인.
3. 최종 판정
- 판정: PASS (승인)
- R1 및 R2 기능 모두 계획서(
PLAN.md)에 명시된 스펙과 체크리스트 항목에 부합하게 정밀 구현 및 리팩토링되었습니다.