Files
Aislo/docs/raw/verification/2026-07-25_verify_b05_b06_modifications.md
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

코드 검증 보고서 — B05·B06 수정사항 및 피드백 반영 (2026-07-25)

1. 검증 개요

  • 검증 일시: 2026-07-25
  • 검증 대상 항목:
    • C-1: 리핑암/발파암 2단계 경사 (암반 경계 기준)
    • C-2: B05 하단 슬라이드 패널 — 계획고 강조 스타일 제거
    • C-3: B05·B06 측구 방향 불일치 수정 (x 좌표 표시 반전)
    • C-4: B06 좌측 슬라이드 패널 — B05 공통 UI 재사용 및 toggle 헬퍼 통합
    • C-5: B06 구간별 설정 컨테이너 — 변수 위치 안내 SVG 모식도
    • C-6: B06 설계값 불러오기 (타 프로젝트 조회·적용 API & UI)
    • R-1~R-4: 2차 피드백 반영 (반대면 자동 절토 전환, DB upsert 및 종단 라벨, 모식도 300x260 개선, 불러오기 최근 5개 즉시 적용 개편)

2. 세부 검증 결과

2.1. C-1 & R-1 (2단계 경사 및 반대면 자동 절토 전환)

  • 수정/구현 파일:
    • B06_wf3_ProfileCross/B06_wf3_ProfileCross_Engine_Design.py
    • B06_wf3_ProfileCross/B06_wf3_ProfileCross_Schema.py
    • B06_wf3_ProfileCross/B06_wf3_ProfileCross_Router.py
    • B06_wf3_ProfileCross/B06_wf3_ProfileCross_Api_Fetch.ts
    • B06_wf3_ProfileCross/B06_wf3_ProfileCross_UI_Cross_Design.ts
    • B06_wf3_ProfileCross/B06_wf3_ProfileCross_UI_Page.ts
  • 검증 결과:
    • 암반 경계 기준 아래는 암 경사(rock cut_ratio), 위는 토사 경사(soil cut_ratio)로 무릎점(knee)을 계산하여 2단계 사면을 생성하는 코드가 추가됨.
    • R-1 피드백에 맞춰 계획고가 낮아 성토측 지반이 노면 끝보다 높은 편절편성에 대해 성토측을 자동 절토 역할로 전환하는 가드 로직 확인.

2.2. C-2 (B05 계획고 강조 스타일 제거)

  • 수정 파일: B05_wf2_Route/B05_wf2_Route_UI_Style.css (Line 711 부근)
  • 검증 결과: 오버레이 내 .is-plan 셀의 특수 강조 스타일 규칙이 제거되고 일반 스타일과 동일하게 표시되도록 정리됨을 확인.

2.3. C-3 (B06 횡단도 좌우 반전 표시)

  • 수정 파일: B06_wf3_ProfileCross/B06_wf3_ProfileCross_UI_Cross_View.ts (Line 189)
  • 검증 결과: const x = (offset) => CROSS_PAD.left + (maxOffset - offset) * pixelsPerMeter;로 반전 적용되어, 백엔드 (+offset=좌) 규약과 프론트엔드 진행방향 뷰 관례(화면 왼쪽=좌측)가 일치되도록 수정 확인.

2.4. C-4 (공통 UI 재사용 및 Toggle 헬퍼)

  • 수정 파일: B06_wf3_ProfileCross/B06_wf3_ProfileCross_UI_Cross_Design.ts, B05_wf2_Route/B05_wf2_Route_UI_Panel.ts
  • 검증 결과: createSelectField 및 공통 toggle() 헬퍼 적용으로 중복 코드 축소 확인.

2.5. C-5 & R-3 (B06 변수 위치 안내 SVG 모식도)

  • 수정/신규 파일: B06_wf3_ProfileCross/B06_wf3_ProfileCross_UI_Standard_Diagram.ts (139줄)
  • 검증 결과: 세로형(300x260) 인라인 SVG 모식도 구현 확인. 횡단경사, 노폭, 노견, 측구, 경사 라벨이 명확히 표시되며 details 접기/펼치기 정상 지원.

2.6. C-6 & R-2, R-4 (설계값 불러오기 API/UI 및 DB Upsert)

  • 수정 파일: B06_wf3_ProfileCross_Repository.py, B06_wf3_ProfileCross_Router.py, B06_wf3_ProfileCross_UI_Standard_Panel.ts
  • 검증 결과:
    • 회사 스코프 기반 최근 5개 프로젝트 즉시 적용 불러오기 구현 완료.
    • update_cross_section_design의 DB upsert 처리(행이 없는 비정규/구조물 측점 INSERT 처리)로 404 오류 방지 코드 확인.

3. 파일 크기 및 기술 규약 검증

  • 모든 수정 및 신규 생성 파일은 700줄 이하 제한을 충족합니다:
    • B06_wf3_ProfileCross_Engine_Design.py: 548줄
    • B06_wf3_ProfileCross_Repository.py: 618줄
    • B06_wf3_ProfileCross_UI_Standard_Diagram.ts: 139줄

4. 종합 소평 및 조치사항

  • 검증 결과: PASS (모든 항목 스펙 및 피드백 명세대로 정확히 구현됨)
  • 후속 조치:
    1. PLAN.md에서 완료된 B05·B06 수정사항 항목 Cut 완료 (docs/raw/plans/2026-07-25_plan_b05_b06_modifications.md로 이관).
    2. PLAN.md 최신화 완료.