--- type: architecture-flow status: stable related_pages: ["[[architecture/project_map]]", "[[architecture/implementation_status]]", "[[workflow_state]]", "[[storage_paths]]", "[[db_schema/overview]]"] last_updated: 2026-09-09 source: ["docs/raw/verification/2026-08-08_verify_R1_R2_features.md", "docs/raw/verification/2026-08-04_verify_b05_b06_profile_ui_chain.md", "docs/raw/verification/2026-07-17_verify_workflow_stepbar.md"] --- # B01~B09 Workflow 데이터 흐름 ## 단계 관계 | 생산 단계 | 관계 | 소비 단계 | 전달·상태 | |---|---|---|---| | [[B01_Dashboard/B01_backend]] | `SELECTS` | [[B02_ProjRegister/B02_backend]] | 사용자·회사·프로젝트 컨텍스트 | | [[B02_ProjRegister/B02_backend]] | `INITIALIZES` | [[workflow_state]] | 프로젝트와 stage 0~6 `NOT_STARTED` 시드 | | [[B03_FileInput/B03_backend]] | `PRODUCES` | [[B04_PreProcess/B04_backend]] | 업로드 파일, CRS 메타데이터, WF1 실행 | | [[B04_PreProcess/B04_backend]] | `PRODUCES` | [[B05_Profile/B05_backend]] | 확정 지표면, GIS, 배수유역, stage 1 params | | [[B05_Profile/B05_backend]] | `PRODUCES` | [[B06_Section/B06_backend]] | 경로·종단·측점과 [[B05_Profile/B05_structures|일반 구조물 정본]]; 설계 영향 변경 시 후속 STALE | | [[B06_Section/B06_backend]] | `PRODUCES` | [[B07_DesignDetail/B07_frontend]] | 횡단 정본을 상세설계·도면 단계가 소비 | | [[B07_DesignDetail/B07_frontend]] | `PRODUCES` | [[B08_Quantity/B08_overview_2026_09]] | 설계도면·구조물 정본에서 물량 산출 | | [[B08_Quantity/B08_overview_2026_09]] | `HANDOFF` | [[B09_Estimation/B09_overview_2026_09]] | 공종코드·수량·갈래·근거를 인계 | | [[B09_Estimation/B09_overview_2026_09]] | `PRICES` | [[workflow_state]] | 단가산출·예산내역·공사원가계산 | ## B04→B06 자동 계산과 재설계 | 트리거 | 호출·처리 | 저장·소비 | 상태 | |---|---|---|---| | B03 업로드 완료 | WF1 지표면 분석 | B04 모델·확정 스냅샷 | stage 1 진행/완료 | | B04 확정 | 자동 설계 체인 | B05 기본 경로·B06 기본 횡단 | stage 2·3 `IN_PROGRESS` | | B04 재확정 | `run_redesign_chain` | B05 제어점·경사와 B06 단면 설정 이월 | 하위 결과 재계산 | | B05 경로·종단·일반 구조물 수정 | B05 save/confirm 또는 구조물 PUT | 종단 정본·비정규 측점·`structures.json` | 설계 영향 변경이면 B06 이후 STALE; 처리 실패 시 B06 재실행 안내 | | B06 확정 | section confirm | 횡단 설계 정본 | stage 2·3 `COMPLETE`, B07 임시 셸 이동 | ## 상태와 산출물 무효화 | 변경 | DB 상태 | 실제 산출물 | |---|---|---| | B03 입력 교체 | stage 1~6을 `NOT_STARTED`로 초기화 | 단계별 정리 로직에 의존 | | B04~B08 단계 재시작 | 뒤쪽 `COMPLETE` 단계만 `STALE` | 공통 함수는 파일을 삭제하지 않음 | | B08 도면 무효화 | stage 5 `IN_PROGRESS`, 뒤쪽 완료 단계 `STALE` | manifest의 해당 도면 `confirmed=false` | ## 정본 위치 | 데이터 | canonical 문서 | 주요 소비자 | |---|---|---| | workflow 상태 | [[workflow_state]] | B01, B03~B09 스텝바·게이팅 | | DB 스키마 | [[db_schema/overview]] | 모든 backend/db 페이지 | | 저장 경로 | [[storage_paths]] | B03~B09 파일 산출물 | | CRS 메타데이터 | [[crs_metadata]] | B03 분석, B04/B05 좌표 처리 | | 배수유역·관 | [[drainage_watershed]] | B04·B05·B06 | | 유토곡선 | [[mass_haul_diagram]] | B05·B06·B07 후보 데이터 |