Files
Aislo/docs/raw/verification/2026-08-08_verify_server_and_e2e_fixes.md
T
eomsangdonandClaude Opus 5 eb30b774f8 chore(docs): docs 폴더 git 추적 전환 · PLAN·OWNERS 최상위 이관
- `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>
2026-09-09 18:19:07 +09:00

4.1 KiB

실행 서버 및 E2E 결함 수정 코드 검증 보고서

  • 검증 일시: 2026-08-08
  • 검증자: 코드 검증 (Verifier / QA)
  • 검증 대상:
    1. 실행 서버 점검 중 발견·수정 7건 (2e8cf0d, 960dca8, 4b1f922, 7a265e5, 91f86c5, 53ab941, d9f6fbd, c3f643b, 7d50ded, 1e905c2)
    2. B03 업로드 경로 E2E 점검 결함 6건 (1f119f9, 37b4d41, 431791c, b3d8371, d935013)

1. 실행 서버 점검 수정 7건 검증

1.1 세부 점검 항목 대조

  1. 자동 설계 체인 배수유역·관 지점 단계를 통한 종횡단 재생성 (2e8cf0d):
    • _prepare_drainage_pipes_and_reprofile() 함수 신설 및 run_auto_design_chain (B05 확정 직후) / run_redesign_chain (refresh=True)에 연동 완료.
  2. B03 대시보드 홈 버튼 부착 (960dca8):
    • createStepBar 호출 시 homeButton: true 옵션 전달 추가 확인.
  3. B05 경유점 order null 정렬 예외 수정 (4b1f922):
    • B05_Profile_Engine_Solver.pyB05_Profile_Engine_RidgeValley.py의 정렬 키를 item.get("order") or 0으로 보완하여 NoneType 대소 비교 오류 방지.
  4. B07 수량 확정 get_db_pool() 동기 호출 수정 (7a265e5):
    • B07_Quantity_Router.pyawait get_db_pool()을 동기 호출 get_db_pool()로 정정하여 _PoolConnectionContextManager 오용 예외 해결.
  5. 종단곡선 기준 L(15m) 일원화 및 최대 L 슬라이싱 (91f86c5):
    • default_curve_length_m (15.0m) 기준 설정 승격, build_curves (백엔드)/buildCurves (프론트엔드) 일원화 및 최대 가용 곡선 길이 자동 클램프 처리 확인.
  6. B05 3D 노선 투영 유령 커브 고침 (53ab941, d9f6fbd):
    • markerElevation()PlacedRoutePoint.z 타입 정의 개선(number | null)을 통해 표고가 없는 경유점이 z:0 수평면에 구슬 커브로 눕는 현상 제거.
  7. 3D 카메라 드래그 및 탑뷰 회전 튐 고침 (c3f643b, 7d50ded, 1e905c2):
    • 극점 회전 시 분할 각도 계산, 포인터 캡처, TOP_VIEW_TILT (2°) 신설로 극점 시선 수직 상태(lookAt 특이점) 180° 반전 튐 현상 제어.

2. B03 업로드 경로 E2E 점검 결함 6건 검증

2.1 세부 점검 항목 대조

  1. 결함 1: 청크 업로드 마지막 파일 finalize KeyError('role') 404 해결 (1f119f9):
    • B03_FileInput_Router.pyfinalize_project_uploadupload_project_chunk에서 인증 세션(session)을 덮어쓰던 업로드 세션 변수를 upload_session으로 분리하여 404 오류 방지 및 WF1 자동 실행 복구.
  2. 결함 2: input_files 파일 지문(SHA-256) 전송 전 중복 스킵 및 SUPERSEDED 처리 (d935013):
    • B03_FileInput_Fingerprint.ts 지문 계산(크기 + 앞·중간·끝 8MB) 기반 동일 파일 재전송 스킵 및 다른 파일 변경 시 SUPERSEDED 상태 처리 확인.
  3. 결함 3: WF1 동시 실행 가드 및 파이프라인(stage 3) 완료 잠금 (37b4d41, 431791c):
    • 백엔드 안전망(stage 1 IN_PROGRESS 검사) 및 프론트엔드 업로드 버튼 스피너 잠금 범위를 B04~B06 자동 체인(stage 3) 완료 시점까지 확장.
  4. 결함 4: fail_stage 예외 메시지 길이 클램프 (1f119f9):
    • common_util_workflow_state.pyfail_stage()에서 메시지 길이를 200자 제한으로 잘라 DB DataError (1406) 예외 방지.
  5. 결함 5: linked 보관함 대시보드 목록 제외 (b3d8371):
    • GET /api/temp-uploads 목록 조회 시 linked 묶음을 쿼리 단계에서 제외하여 대시보드 빈 껍데기 노출 방지.
  6. 결함 6: 자료 연결/교체 시 하위 단계 산출물 초기화 및 가드 (37b4d41, 431791c):
    • common_util_project_reset을 통해 자료 교체 시 stage 1 이후 산출물 정리 및 b_missing_data_guard 가드로 미완료 시 대시보드 리다이렉트 처리.

3. 최종 판정

  • 판정: PASS (승인)
  • 서버 점검 수정 7건 및 E2E 결함 수정 6건 모두 소스코드 상에 명확히 구현 대조되었으며, 실무 요구 스펙 및 정밀 수정(Surgical Edit) 수칙을 완벽히 만족함.