- `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.1 KiB
4.1 KiB
실행 서버 및 E2E 결함 수정 코드 검증 보고서
- 검증 일시: 2026-08-08
- 검증자: 코드 검증 (Verifier / QA)
- 검증 대상:
- 실행 서버 점검 중 발견·수정 7건 (
2e8cf0d,960dca8,4b1f922,7a265e5,91f86c5,53ab941,d9f6fbd,c3f643b,7d50ded,1e905c2) - B03 업로드 경로 E2E 점검 결함 6건 (
1f119f9,37b4d41,431791c,b3d8371,d935013)
- 실행 서버 점검 중 발견·수정 7건 (
1. 실행 서버 점검 수정 7건 검증
1.1 세부 점검 항목 대조
- 자동 설계 체인 배수유역·관 지점 단계를 통한 종횡단 재생성 (
2e8cf0d):_prepare_drainage_pipes_and_reprofile()함수 신설 및run_auto_design_chain(B05 확정 직후) /run_redesign_chain(refresh=True)에 연동 완료.
- B03 대시보드 홈 버튼 부착 (
960dca8):createStepBar호출 시homeButton: true옵션 전달 추가 확인.
- B05 경유점 order null 정렬 예외 수정 (
4b1f922):B05_Profile_Engine_Solver.py및B05_Profile_Engine_RidgeValley.py의 정렬 키를item.get("order") or 0으로 보완하여NoneType대소 비교 오류 방지.
- B07 수량 확정
get_db_pool()동기 호출 수정 (7a265e5):B07_Quantity_Router.py내await get_db_pool()을 동기 호출get_db_pool()로 정정하여_PoolConnectionContextManager오용 예외 해결.
- 종단곡선 기준 L(15m) 일원화 및 최대 L 슬라이싱 (
91f86c5):default_curve_length_m(15.0m) 기준 설정 승격,build_curves(백엔드)/buildCurves(프론트엔드) 일원화 및 최대 가용 곡선 길이 자동 클램프 처리 확인.
- B05 3D 노선 투영 유령 커브 고침 (
53ab941,d9f6fbd):markerElevation()및PlacedRoutePoint.z타입 정의 개선(number | null)을 통해 표고가 없는 경유점이 z:0 수평면에 구슬 커브로 눕는 현상 제거.
- 3D 카메라 드래그 및 탑뷰 회전 튐 고침 (
c3f643b,7d50ded,1e905c2):- 극점 회전 시 분할 각도 계산, 포인터 캡처,
TOP_VIEW_TILT(2°) 신설로 극점 시선 수직 상태(lookAt특이점) 180° 반전 튐 현상 제어.
- 극점 회전 시 분할 각도 계산, 포인터 캡처,
2. B03 업로드 경로 E2E 점검 결함 6건 검증
2.1 세부 점검 항목 대조
- 결함 1: 청크 업로드 마지막 파일 finalize KeyError('role') 404 해결 (
1f119f9):B03_FileInput_Router.py의finalize_project_upload및upload_project_chunk에서 인증 세션(session)을 덮어쓰던 업로드 세션 변수를upload_session으로 분리하여 404 오류 방지 및 WF1 자동 실행 복구.
- 결함 2: input_files 파일 지문(SHA-256) 전송 전 중복 스킵 및 SUPERSEDED 처리 (
d935013):B03_FileInput_Fingerprint.ts지문 계산(크기 + 앞·중간·끝 8MB) 기반 동일 파일 재전송 스킵 및 다른 파일 변경 시SUPERSEDED상태 처리 확인.
- 결함 3: WF1 동시 실행 가드 및 파이프라인(stage 3) 완료 잠금 (
37b4d41,431791c):- 백엔드 안전망(
stage 1 IN_PROGRESS검사) 및 프론트엔드 업로드 버튼 스피너 잠금 범위를 B04~B06 자동 체인(stage 3) 완료 시점까지 확장.
- 백엔드 안전망(
- 결함 4: fail_stage 예외 메시지 길이 클램프 (
1f119f9):common_util_workflow_state.py의fail_stage()에서 메시지 길이를 200자 제한으로 잘라 DBDataError (1406)예외 방지.
- 결함 5: linked 보관함 대시보드 목록 제외 (
b3d8371):GET /api/temp-uploads목록 조회 시linked묶음을 쿼리 단계에서 제외하여 대시보드 빈 껍데기 노출 방지.
- 결함 6: 자료 연결/교체 시 하위 단계 산출물 초기화 및 가드 (
37b4d41,431791c):common_util_project_reset을 통해 자료 교체 시 stage 1 이후 산출물 정리 및b_missing_data_guard가드로 미완료 시 대시보드 리다이렉트 처리.
3. 최종 판정
- 판정: PASS (승인)
- 서버 점검 수정 7건 및 E2E 결함 수정 6건 모두 소스코드 상에 명확히 구현 대조되었으며, 실무 요구 스펙 및 정밀 수정(Surgical Edit) 수칙을 완벽히 만족함.