--- type: architecture-status status: draft related_pages: ["[[architecture/workflow_data_flow]]", "[[workflow_state]]", "[[storage_paths]]", "[[architecture/project_map]]"] last_updated: 2026-08-16 source: ["code-audit:2026-08-16"] --- # 현재 구현 현황 — 소스 읽기 감사 > 이 문서는 2026-08-16 소스 읽기 감사 결과다. 코드를 수정하거나 실행 검증하지 않았으므로 `draft`이며, raw 검증보고서와 충돌하면 최신 코드의 현재 구조를 우선 참고하되 동작 성공까지 보장하지 않는다. ## 단계별 판정 | 단계 | 구현 판정 | 코드 근거 | 현재 책임 | |---|---|---|---| | B03 FileInput | 구현 | `B03_FileInput_Router.py`, `B03_FileInput_Service_WF1.py` | 입력 저장, stage 0 완료, B04 이후 초기화 | | B04 PreProcess | 구현 | `B04_PreProcess_Router.py`, `B04_PreProcess_Service.py` | 지표면 분석·확정, stage 1 상태 관리 | | B05 Profile | 구현 | `B05_Profile_Router.py`, `B05_Profile_Structures_Router.py` | 경로·종단 생성/편집, B~G 일반 구조물 수동 배치·정본, stage 2와 후속 STALE 관리 | | B06 Section | 구현·결합 | `B06_Section_Router*.py` | 횡단 설계; 전체 확정 시 stage 2·3 동시 완료 | | B07 Quantity | 임시 우회 | `B07_Quantity_Router.py`, `B07_Quantity_UI_Page.ts` | 계산 없이 stage 4를 COMPLETE로 바꾸고 B08 이동 | | B08 DesignDetail | 부분 구현 | `B08_DesignDetail_Router.py` | CAD 도면, 횡단 확정, 단면 재계산, `quantity_table` 저장 | | B09 Estimation | 셸 | `B09_Estimation_UI_Page.ts` | 준비 중 화면; stage 6 완료 backend 미확인 | ## 비워크플로 영역 판정 | 영역 | 구현 형태 | 판정 | |---|---|---| | A00 Common | SPA router·App Shell·workflow navigation | 공통 기반 구현 | | A01~A05 | 각 1개 Frontend 페이지 | 공개 정보 화면; backend 없음 | | A06 Login | Frontend + 5 API route | 인증 기능 구현 | | A07 Register | Frontend + 3 API route | 가입 기능 구현 | | A08 Support | Frontend + 1 API route | 지원 문의 기능 구현 | | A09 Security | Frontend + 9 API route | 보안·계정 기능 구현 | | B01 Dashboard | Frontend/Backend + 26 API route | 관리 기능 구현 | | B02 Project Register | Frontend/Backend + 1 API route | 프로젝트 생성 구현 | | B10 Payment | Frontend 1개 | workflow 외 화면; backend 미확인 | | B11 Status | Frontend 2개 | 상태·로딩 화면; 독립 backend 없음 | ## 구현 상태 용어 | 용어 | 의미 | |---|---| | 구현 | 주요 API와 상태 전이가 소스에 존재 | | 부분 구현 | 핵심 일부가 있으나 전체 업무 완료 기능은 아님 | | 임시 우회 | 본문 기능 없이 다음 단계 진입만 허용 | | 셸 | 레이아웃·준비 중 화면만 존재 | | 미확인 | 소스 읽기만으로 동작 성공을 확정할 수 없음 | ## 반드시 유지할 구분 | 구분 | SSOT·처리 | |---|---| | workflow 상태 | DB `project_workflow_stages` | | 프로젝트 요약 상태 | DB `projects.status` 캐시 | | 레거시 보조 상태 | 프로젝트 루트 `workflow.json`; 현재 핵심 전이에서 사용 제한적 | | 단계 산출물 | 프로젝트 저장소의 B03~B08 단계별 파일 + 일부 DB 레코드 | | 후속 상태 무효화 | `start_stage()`가 뒤쪽 COMPLETE 단계만 STALE 처리 | | 산출물 무효화 | 공통 자동 삭제가 아니라 각 단계의 개별 로직에 의존 | ## 미결 설계 - B07 최종 수량 계산과 B08 CAD 수량표의 책임 경계는 확정되지 않았다. - B08 도면 수정이 향후 B07 수량을 역으로 무효화해야 하는지는 사용자 결정이 필요하다. - B09 견적·설계도서 산출 및 stage 6 완료 API는 후속 구현 대상이다.