diff --git a/.gitattributes b/.gitattributes index c768e8b7..15e48d52 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,6 @@ # 동봉한 LibreDWG 실행 파일 — 줄바꿈 변환이 닿으면 실행이 깨진다. B07_DesignDetail/openwebcad/tools/libredwg/*.exe binary B07_DesignDetail/openwebcad/tools/libredwg/*.dll binary + +# graphify 그래프 — 줄끝을 바꾸면 서명(.sig)이 깨지고 창마다 헛 diff 가 남는다. +docs/wiki/graphify-out/** -text diff --git a/.gitignore b/.gitignore index 8950b324..84103939 100644 --- a/.gitignore +++ b/.gitignore @@ -37,7 +37,9 @@ storage/ # 아래 둘만 제외 — 창끼리 시놀로지로 공유하는 장부 /PLAN.md /OWNERS.md -graphify-out/ +# 뿌리 graphify-out/ — mtime 캐시라 PC 마다 다름. `/` 로 뿌리에만 걸 것 +# (`/` 가 없으면 docs/wiki/graphify-out 까지 같이 막힘 — 2026-09-09 실측) +/graphify-out/ # 리소스 (현재 통째 제외 — knowledge 예외 전환은 사용자 결정 대기) #resources/ @@ -64,5 +66,8 @@ config/corridor_node/ # 횡단 서버 재계산 번들 — `npm run build:server-calc` 산출물(2026-09-06). config/server_calc_node/ -# graphify 날짜별 산출물 — `graphify update` 가 다시 만듦 (한 벌 796KB × 날마다) -docs/wiki/graphify-out/20*/ +# graphify 위키 산출물 — 창끼리 같은 위키를 찾게 **통째로** git 으로 나름 +# (2026-09-09 사용자 확정 「출력물 전체를 공유해도 됨」). +# 다만 아래 둘은 PC 마다 다른 값이라 나르면 안 됨 — 나르면 상대 PC 에서 어긋남. +docs/wiki/graphify-out/.graphify_python +docs/wiki/graphify-out/.graphify_incremental.json diff --git a/docs/wiki/concepts/completed_2026-09-09.md b/docs/wiki/concepts/completed_2026-09-09.md new file mode 100644 index 00000000..406d4a0a --- /dev/null +++ b/docs/wiki/concepts/completed_2026-09-09.md @@ -0,0 +1,48 @@ +--- +type: completion-summary +status: stable +related_pages: ["[[B06_Section/B06_backend]]", "[[B07_DesignDetail/B07_standard_drawings_2026_09]]", "[[B08_Quantity/B08_overview_2026_09]]", "[[B09_Estimation/B09_overview_2026_09]]", "[[quantity_cost_contract]]"] +last_updated: 2026-09-09 +source: ["docs/raw/plans/2026-09-09_plan_완료분_이관.md", "docs/raw/plans/2026-09-09b_plan_완료분_이관.md", "docs/raw/verification/2026-09-09_B06_화면검증_사토장과_V6V7.md", "docs/raw/verification/2026-09-09_완료분_확인으로_닫은것.md", "docs/raw/verification/2026-09-09b_확인으로_닫은것.md"] +--- + +# 2026-09-09 완료 구현·검증 + +## B05·B06 종횡단 + +- `ditch_choice`를 사용자 선택, `ditch_enabled`를 실제 판정 결과로 분리했다. 옛 저장값은 자동 판정과 다를 때만 수동 선택으로 보존한다. +- B군 종단배수 연장은 겹침을 합친 `spans`와 `length_m`을 정본으로 쓰며 산마루측구·소단측구·맹암거 공종코드가 B09 금액까지 이어진다. +- C군 돌쌓기·옹벽은 제원 차이를 보존하려고 구조물별 줄을 유지한다. +- 사토장은 별도 면적·용량·말풍선으로 표시되고 삭제 시 토량이 복구된다. 화면 검증에서 잔상과 0에 가까운 가짜 경고를 수정했다. +- B05 흙막이 폼에는 B05 단계 입력만 표시한다. 상세 제원은 B06·B07 책임이다. +- B06 설계 엔진의 기하 계산을 별도 모듈로 분리했으며 계산식은 바꾸지 않았다. + +## B07 표준도 + +- 제원 조합별 한 장으로 나누고 B08 원단위를 하단표로 조판한다. 표준도 조회 API와 CAD 표·단면 그림을 제공한다. +- 돌쌓기 그림은 사용자 전면 기울기와 `STONE_MASONRY` 치수를 읽는다. 기울기를 비우면 표준경사, 입력하면 사용자 값이 우선한다. +- 실무 구조도 53개 탭 대조에서 찰쌓기 11줄·메쌓기 8줄, 고임돌 0.15, 채움콘크리트 0.20, 모르터 0.009를 확인했다. +- 틈메우기돌은 실무 구조도에서 확인되지 않아 넣지 않았다. 버림 콘크리트는 실무와 도로기준의 100 mm 근거가 일치한다. +- 개거 2규격과 떼흙막이 원단위를 구현했다. 근거가 없는 형식은 미확보 사유를 유지한다. + +## B08 수량산출 + +- B군 연장과 C군 개별 제원을 분리하고 `단위당 × 수량 = 총량` 역방향 검사까지 둔다. +- 준비공 여섯 줄과 부대시설 다섯 줄을 B09 인계에 포함하며, 값이 없는 줄은 `blocked_kind`와 사유를 명시한다. +- 표토 운반·적치와 거리 입력, 기본 포함·해제 가능한 100 mm 버림 콘크리트, 옹벽 기초잡석을 반영했다. +- 0 수량 줄은 내역에서 제외하고 내부 코드 대신 사용자 명칭을 표시한다. 돌 종류와 적용 범위를 산출근거에 남긴다. +- 녹화 기본 반영률 100%와 관급·사급 기본 `unknown`을 유지한다. 표토 두께와 운반거리는 설계 입력이다. +- 층따기 품셈 단위는 `㎥`로 확인됐다. 기존 기술정보 DB의 `㎡·m` 표기는 별도 DB 관리에서 정정해야 한다. + +## B09 원가계산 + +- 불도저 운반 3갈래와 비다짐 정지 단가를 전용 생산성식으로 분리했다. 덤프는 입력 미확보 상태를 유지한다. +- 제근은 장비·인력 갈래와 1,000㎡ 밑수 환산을 반영했다. 실무값과 차이가 커 재확인 대상임을 사유에 남긴다. +- 중기·노무·재료·경비·자재단가·환율기초·집계 7개 표와 화면을 제공한다. +- 공구손료는 명시된 인력품의 3% 이내이며 잡재료나 제잡비와 중복 계상하지 않는다. 석공사는 특수공구 별도 계상 대상이다. +- 폐기물처리비는 확인된 요율 근거가 없어 실비로 총원가 밖에 두며, 설계·감리대가는 현재 범위 밖이다. + +## 검증 경계 + +- 사용자가 완료 검증을 승인해 이번 위키 반영에서는 별도 교차검증을 생략했다. +- `two_stage_slope` 선택/결과 분리, 일부 단가·재료·표준도 제원은 후속 또는 미확보 상태다. [[standard_quantity_open_2026-09-09]] 참조. diff --git a/docs/wiki/concepts/multi_environment_safety.md b/docs/wiki/concepts/multi_environment_safety.md new file mode 100644 index 00000000..70661b07 --- /dev/null +++ b/docs/wiki/concepts/multi_environment_safety.md @@ -0,0 +1,36 @@ +--- +type: concept +status: stable +related_pages: ["[[architecture/shared_resources]]", "[[storage_paths]]", "[[workflow_state]]"] +last_updated: 2026-09-09 +source: ["docs/raw/verification/2026-09-09d_OWNERS_이력.md"] +--- + +# 다중 환경 저장소·공용 DB 안전 + +## 확인된 위험 + +- 저장소 전체가 Synology로 PC 사이에 동기화되어 커밋 전 파일도 시간차를 두고 전달된다. 등록 파일만 먼저 도착하면 `ModuleNotFoundError` 같은 반쪽 상태가 생길 수 있다. +- 네 환경이 원격 DB 한 벌을 사용하므로 다른 창의 저장·확정·노선 확인이 같은 프로젝트의 종횡단·수량 결과를 바꿀 수 있다. +- `[저장]`과 `[확정]`은 전 측점을 현재 서버 코드로 다시 계산한다. 노선 `[확인]`은 배수유역부터 전체 재설계 체인을 실행한다. +- 저장된 정본 수치는 입력 자료뿐 아니라 계산 당시 코드 버전에도 매인다. + +## 운영 규칙 + +1. 신규 공용 파일을 먼저 동기화·push한 뒤 그 파일을 부르는 등록 줄을 반영한다. +2. 자동 커밋 전에 `git status`로 다른 환경의 편집이 섞였는지 확인한다. +3. 반쪽 상태에서는 먼저 원격 동기화 상태를 확인하고, 남의 변경은 지우지 않는다. +4. 환경마다 별도 검증 프로젝트를 사용하고 다른 환경 프로젝트에서 저장·확정을 실행하지 않는다. +5. 저장·확정·노선 확인 전에 영향을 받을 작업자에게 알린다. +6. 수량 대조 전후 스냅숏에는 자료 시각과 `/api/health`의 `code_mtime`을 함께 기록한다. +7. `tmp/`는 PC 사이 동기화를 보장하지 않으므로 검증 도구 존재 여부를 환경별로 확인한다. + +## 재계산 영향 + +| 조작 | 영향 | +|---|---| +| 노선 확인 | 배수유역·관·종횡단·유토를 포함한 전체 재설계 | +| 저장·확정 | 전 측점 재계산 후 정본 기록 | +| 개발용 다음 단계 이동 | workflow 상태만 변경, 계산 없음 | + +구체적인 환경별 프로젝트 ID와 과거 사고 시점은 변동 가능한 운영 기록이므로 source 원문과 현재 `OWNERS.md` 장부를 함께 확인한다. diff --git a/docs/wiki/concepts/standard_quantity_open_2026-09-09.md b/docs/wiki/concepts/standard_quantity_open_2026-09-09.md new file mode 100644 index 00000000..af47e855 --- /dev/null +++ b/docs/wiki/concepts/standard_quantity_open_2026-09-09.md @@ -0,0 +1,32 @@ +--- +type: concept +status: draft +related_pages: ["[[standard_drawing_cost_inputs]]", "[[B07_DesignDetail/B07_standard_drawings_2026_09]]", "[[B08_Quantity/B08_overview_2026_09]]", "[[B09_Estimation/B09_overview_2026_09]]"] +last_updated: 2026-09-09 +source: ["docs/raw/verification/2026-09-09c_근거전문.md"] +--- + +# 2026-09-09 표준도·수량 미결 근거 + +## 적용 원칙 + +- 이 문서는 계획서에서 분리한 근거 전문의 탐색용 요약이다. 후보값을 프로그램 기본값으로 확정하지 않는다. +- 법령·품셈·실무 원본에서 확인되지 않은 값은 `근거 미확인` 또는 사용자 확정 대기로 둔다. +- 상세 후보표와 출처 문맥은 source 원문을 우선한다. + +## 주요 미결 + +| 항목 | 현재 판정 | +|---|---| +| 표준도 제원 | 전면 기울기·상단폭·뒷길이·재료·부재 두께·기초잡석·물빼기·줄눈 입력 경계가 남음 | +| 구조물 치수 | BOX·소형 사방댐 등은 그릴 치수와 수량 근거가 함께 부족함 | +| 재료 | 돌 재료는 공종과 계수를 바꾸므로 제원 상단 입력이어야 하나 선택 기준은 미확정 | +| 부재 두께 | 일반 기준에서 자동 산출할 하한을 찾지 못했으며 실무 0.2 m는 관행 후보일 뿐임 | +| 줄눈 | 품셈에 수축줄눈·신축이음 항목과 시공량은 있으나 임도 전용 간격은 미확보 | +| 노면 공종 | 실무 `노면고르기`와 현재 `노면다짐`·`면고르기` 매핑의 동일성은 미확인 | +| 원가 입력 | 사급 자재 단가, 관급·사급 합계 처리, 제잡비 밑수와 표시 자릿수 결정이 남음 | + +## 연결 + +- 완료 구현은 [[completed_2026-09-09]], 기존 분류 원칙은 [[standard_drawing_cost_inputs]]를 따른다. +- 미확정 값은 위키 근거만으로 기술정보 DB나 프로그램 기본값에 자동 반영하지 않는다. diff --git a/docs/wiki/index.md b/docs/wiki/index.md index 4dae6853..e26c70be 100644 --- a/docs/wiki/index.md +++ b/docs/wiki/index.md @@ -57,8 +57,11 @@ last_updated: 2026-09-09 - 2026-09-03 추가 완료: [[completed_2026-09-03_additional]] — B03 화면, B04/B05 나침반, 종단곡선, 횡단 계산·표기. - 2026-09-04 완료: [[completed_2026-09-04]] — B01 모달·로고, B03 미리보기, 공용 진행단계 패널, B05 3D·종단, B06 횡단, B08 도면, 700줄 제한 분리. - 2026-09-07 완료: [[completed_2026-09-07]] — 노선·캐시·B01~B07 기능, 성능 종료 기준과 보류 갈래. +- 2026-09-09 완료: [[completed_2026-09-09]] — B05·B06 종횡단, B07 표준도, B08 수량, B09 원가 구현·검증. - 수량·원가 계약: [[quantity_cost_contract]] — B08 물량과 B09 금액의 책임·저장·금지 규칙. - 표준도·입력 미결: [[standard_drawing_cost_inputs]] — 자동 계산·사용자 입력·기준자료·미확보 경계. +- 2026-09-09 미결 근거: [[standard_quantity_open_2026-09-09]] — 표준도 제원·수량·원가 후보와 확정 금지 경계. +- 다중 환경 안전: [[multi_environment_safety]] — Synology 시간차 동기화와 공용 DB 재계산 사고 방지 규칙. - 인증·상태: [[auth_rbac]], [[workflow_state]], [[temp_upload]]. - 데이터·경로: [[db_schema/overview]], [[storage_paths]], [[crs_metadata]]. - API·스키마·유틸: [[api_common]], [[schema_common]], [[common_util]]. diff --git a/docs/wiki/log.md b/docs/wiki/log.md index 79176887..1b18cdc1 100644 --- a/docs/wiki/log.md +++ b/docs/wiki/log.md @@ -1401,3 +1401,18 @@ last_updated: 2026-09-09 - 위키 209개 문서에서 비로그 100줄 초과·frontmatter·status·page_id 오류는 모두 0건이다. - Graphify 정제 그래프에 B07 표준도 문서 노드 1개와 명시적 위키링크 관계 5개를 증분하고 재클러스터링했다. - 최종 그래프는 992노드·805관계·197커뮤니티이며 `graph.json`, `GRAPH_REPORT.md`, `graph.html`을 동기화했다. + +## [2026-09-09] ingest | 신규 계획·검증 7개 위키화 + +- `docs/raw/PLAN.md`는 다른 AI가 사용 중이므로 조회·수정하지 않았다. +- 9월 9일 완료 계획 2개와 완료·화면 검증 3개를 [[completed_2026-09-09]]에 반영했다. +- 근거 전문 1개는 확정값과 섞지 않고 [[standard_quantity_open_2026-09-09]]에 `draft`로 정리했다. +- OWNERS 이력 1개는 [[multi_environment_safety]]에 저장소 동기화·공용 DB 재계산 안전 규칙으로 반영했다. +- 사용자 완료 판정에 따라 별도 교차검증은 생략했다. + +## [2026-09-09] lint+graphify | 신규 계획·검증 위키 점검 + +- 신규 문서 3개는 frontmatter·status·100줄 제한·UTF-8·원문 7개 source 연결 검사를 통과했다. +- 전체 내부 링크 검사에서 신규 오류는 없고 기존 예시·과거 로그 링크 18건만 남았다. +- `graphify update .`는 Markdown 174개를 코드로 오인해 1,149노드로 팽창했으므로 자동 백업으로 복구했다. +- 기존 정제 그래프 992노드·805관계·197커뮤니티는 보존했으며 신규 문서 3개의 의미 노드 반영은 Graphify Markdown 증분 결함 해소 후 다시 수행해야 한다.