- `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>
2.6 KiB
2.6 KiB
B03 계획노선 CSV 필수 입력 완결 계획서
- 완료 일자: 2026-07-31
- 이관 보관 경로: docs/raw/plans/2026-07-31_plan_B03_planned_route_csv.md`n
B03 계획노선 CSV 필수 입력 (2026-07-31)
배경
- 원청 계획노선을 B03 파일입력 단계의 필수 자료로 등록한다.
- 테스트 자료는 storage/1/3/acb9170b-9ac8-49b3-82a0-51cfa32bb42d/B03_FileInput/input/csv/planned_route_sample_epsg5187.csv를 사용한다.
- B05 원청 계획노선/최적경로 이중 오버레이는 후속 작업으로 분리한다.
확정 범위
- B03에서 계획노선 CSV와 기존 지형자료를 구분해 입력받는다.
- 계획노선 누락 또는 검증 실패 시 업로드 완료와 B04 이동을 차단한다.
- 필수 열은 oute_name, sequence, x, y, z, crs_epsg로 고정한다.
- sequence는 1부터 연속, x/y/z는 유한한 수, crs_epsg는 모든 행에서 동일한 양의 정수여야 한다.
- 정상 CSV 원본은 B03_FileInput/input/csv/에 보존하고 DB 메타데이터에 계획노선 용도를 기록한다.
- 이번 작업은 CSV만 지원하며 DXF/SHP/LandXML은 후속 작업이다.
대상 파일
- B03_FileInput/B03_FileInput_UI_Page.ts
n- B03_FileInput/B03_FileInput_UI_Support.tsn- B03_FileInput/B03_FileInput_Api_Fetch.tsn- B03_FileInput/B03_FileInput_Router.pyn- B03_FileInput/B03_FileInput_Engine.pyn- B03_FileInput/B03_FileInput_Repository.pyn- 관련 B03 프론트엔드/백엔드 테스트
구현 체크리스트
- 현재 B03 업로드·상태 복원·B04 이동 흐름과 테스트 구조 확인
- 계획노선 CSV 전용 필수 입력 UI 및 오류 안내 추가
- 프론트 업로드 전 필수 파일·확장자 검증
- 백엔드 CSV 헤더·행 값·순번·EPSG 검증
- 정상 CSV 원본 저장 및 입력 파일 메타데이터 등록
- CSV 누락/오류 시 B03 완료와 B04 이동 차단
- 기존 LAS/TIF/TFW/PRJ/DXF 업로드 코드 경로 회귀 확인
- 135개 좌표 샘플의 실제 API·DB 업로드 통합 검증 (공유 실행환경 안정 후 수행)
- uff format/ uff check/prettier 통과, 전체 sc --noEmit은 다른 AI의 B04 미완성 파일 구문 오류 해소 후 재실행
- B03 단위 테스트 7개 통과 후 체크리스트 반영
완료 조건
- 계획노선 CSV 없이는 B03 단계를 완료할 수 없다.
- 제공된 샘플은 정상 처리되고 135개 좌표와 EPSG가 보존된다.
- 잘못된 헤더, 비수치 좌표, 순번 오류, 혼합 EPSG는 명확한 오류로 거부된다.
- 기존 지형자료 업로드 및 WF1/B04 이동 흐름에 회귀가 없다.