Files
Aislo/docs/wiki/concepts/storage_paths.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

3.6 KiB

type, status, related_pages, last_updated, source
type status related_pages last_updated source
concept draft
B02_ProjRegister/B02_backend
B03_FileInput/B03_backend
B04_PreProcess/B04_backend
B05_Profile/B05_backend
B06_Section/B06_backend
B07_Quantity/B07_backend
B08_DesignDetail/B08_backend
B09_Estimation/B09_frontend
architecture/implementation_status
architecture/shared_resources
2026-08-23 raw/guidelines/structure.md, raw/guidelines/db_schema.md, raw/guidelines/backend.md, raw/guidelines/agent.md, raw/plans/2026-07-17_plan_b04_defects.md, raw/plans/2026-07-26_plan_도엽_오버레이.md

저장 경로 규칙 (Workflow-based Folder Structure)

경로 패턴

storage/{company_slug}/{user_slug}/{project_id}/
├── B03_FileInput/input/{file_type}/         WF0 원본 입력
├── B04_PreProcess/
│   ├── processed/                           변환 지형 및 타 지도 가공 데이터
│   │   └── map_sheets/                      1:5,000 수치지형도 도엽 zip 및 metadata
│   └── models/                              WF1 모델 (지면 필터 ground_points_{filter}.npz 캐시 포함)
├── B05_Profile/route/                      WF2 경로·일반 구조물 structures.json
├── B05_Profile/corridor/                   WF2 3D 코리도 corridor_{route:04d}.json
├── B06_Section/longitudinal/, cross_sections/  WF3 종횡단
├── B07_Quantity/                           현재 별도 산출물 없음
├── B08_DesignDetail/
│   ├── manifest.json                       도면 확정 메타데이터·횡단 quantity_table
│   └── drawings/{drawing_id}.json          확정 CAD 도면
└── B09_Estimation/                         현재 산출 backend 미확인

원칙 (backend.md 3절)

  1. 하드코딩 금지 — 경로는 config/config_system.py에서 import.
  2. 물리 파일은 DB 저장 금지 — 대용량 파일은 파일시스템, DB에는 경로만.
  3. 단계별 루트 강제 — 각 B0x 폴더명은 실제 워크플로우 페이지명과 동일해야 함. raw/, processed/, computed/를 프로젝트 루트 공용 폴더로 만들지 않음.
  4. 경로 생성 책임 — 원칙상 단계별로 분리하되, 현재 B05가 B06 종횡단 파일을 생성하고 B08이 B06 단면을 재계산하므로 실제 구현 예외를 함께 추적한다.
  5. 상대 경로만 DB 저장 — 프로젝트 루트 기준 상대경로. 사용자 입력 경로 직접 결합 금지(경로 이탈 방지), 절대경로 저장 금지.

DB 컬럼 ↔ 실제 경로 매핑

상세 표 → db_schema/overview "파일 경로 추적 컬럼"

파일명 규칙 (structure.md 1절)

  • 페이지 폴더: 로그인 전 A0x_, 로그인 후 B0x_, 워크플로우는 wf[번호] 접두사
  • 파일명: 폴더명(페이지명)_기능_기타사양.확장자
  • 공통 유틸: common_util/common_util_기능.확장자

코드 감사 주의사항

  • B05 generate_sections()B06_Section/longitudinalcross_sections를 생성한다.
  • B05 일반 구조물은 B05_Profile/route/structures.json, 배관은 B04 공용 pipe_points.json이 각각 정본이다. B05_Profile/B05_structures 참조.
  • B05 예상형상 코리도는 DB가 아닌 B05_Profile/corridor/corridor_{route:04d}.json에 입력 해시와 리본을 원자 저장한다. B05_Profile/B05_corridor_surface 참조.
  • B08은 B06_Section 산출물을 읽고 B08_DesignDetail/manifest.jsondrawings/*.json을 저장한다.
  • workflow.json은 프로젝트 루트에 있지만 workflow 상태 SSOT는 아니다.