Files
Aislo/docs/wiki/architecture/implementation_status.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

66 lines
3.7 KiB
Markdown

---
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는 후속 구현 대상이다.