From 1c5049ca50bf09f77e031d69da615a3e6b9daac3 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Tue, 22 Sep 2026 13:10:59 +0900 Subject: [PATCH] =?UTF-8?q?knowledge(M01):=20=EC=95=88=20=EC=93=B0?= =?UTF-8?q?=EB=8A=94=20=EB=A7=88=EC=8A=A4=ED=84=B0=20=EC=9E=90=EB=A3=8C=20?= =?UTF-8?q?=EB=B6=84=EC=84=9D=20=E2=80=94=20PLAN=207-4=20=EB=AA=A9?= =?UTF-8?q?=EB=A1=9D=20=EB=BD=91=EA=B8=B0(=EC=98=AE=EA=B8=B0=EA=B8=B0=20?= =?UTF-8?q?=EC=A0=84)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 코드·파일 안 옮김 · 읽기 전용 · `ref/_분석_안쓰는마스터.md` 한 파일 - M01 이 읽는 목록 — 최상위 json 145개 전부(load() 가 통째로 읽음) · _키대장.json · 엔진·검사 스크립트 8개(check_master·master_combo·copy·keys·text·formula·material·draft) - scripts/ 나머지 37개는 전부 빌더·검사 도구(옮기면 그 도구가 깨짐) — 옮길 후보 없음 - old/ 재확인 — PLAN 가정과 달리 4개(공종 마스터 2·공종 산림건설 연결·돌쌓기경사)를 B05·B06 화면이 지금도 읽음(절대 옮기면 안 됨) · 12개는 끊긴 old_code 만 읽음 · 21개(54,244줄)는 이미 old/ 안인데 아무도 안 읽음(지울 후보 — 7-5 몫) - ref/ 재확인 — md 58개는 범위 밖(코드가 안 읽음) · json·csv 9개 가운데 2개는 화면·시험이 지금도 읽음 (절대 못 옮김) · 4개는 끊긴 old_code 만 · 2개는 진짜 아무도 안 읽음 - 옮길 후보 = 강한 것 3개(531줄: _원문목록.json·_열목록_화면표.csv·수량_돌쌓기찰라이브러리_소광리) + old_code 정리 뒤에나 되는 약한 것 4개(1,688줄) — PLAN 기대보다 훨씬 작음 Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj --- .../master_data/ref/_분석_안쓰는마스터.md | 117 ++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 resources/master_data/ref/_분석_안쓰는마스터.md diff --git a/resources/master_data/ref/_분석_안쓰는마스터.md b/resources/master_data/ref/_분석_안쓰는마스터.md new file mode 100644 index 00000000..e4ac832c --- /dev/null +++ b/resources/master_data/ref/_분석_안쓰는마스터.md @@ -0,0 +1,117 @@ +# 안 쓰는 마스터 자료 분석 (PLAN 7-4 앞 절반) + +읽기 전용 분석 — 목록만 뽑음 · **파일·코드는 하나도 안 옮김**(다음 일감 몫). + +## ① M01 화면이 실제로 읽는 파일 + +읽기 사슬 — `M01_MasterData_Router.py` → `Store.py` → `check_master.load(FOLDER)` +(`FOLDER = resources/master_data`). `load()` 는 밑줄(`_`)로 시작하는 파일만 빼고 +**첫 층 `*.json` 전부**를 매 요청마다 통째로 읽음 — 갈래를 가려 고르지 않음. + +- **최상위 `*.json` 145개** — 로직 54 · 소요량 56 · 계수 27 · 재료 3(자재품목·품셈재료·유가전력) · + 환율·일위대가조합·인력·기계·요율 각 1. **전부 `load()` 가 읽음 — 목록 밖인 최상위 json 은 하나도 없음.** +- **`_키대장.json`** — `load()` 는 건너뛰지만 `master_keys.py`(`BOOK`)가 새 키를 줄 때 따로 읽음 → 실제로 읽힘. +- **엔진·검사 스크립트 8개** — `check_master.py`(695) · `master_combo.py`(141) · `master_copy.py`(298) · + `master_keys.py`(426) · `master_text.py`(285) · `master_formula.py`(767) · `master_material.py`(224) · + `master_draft.py`(641) — `Store.py`·`Store_Cache.py`·`Store_Make.py` 가 부르는 사슬. + +**「목록」 = 최상위 json 145 + `_키대장.json` + 위 스크립트 8개.** 이 밖의 파일만 ②에서 가름. + +## ② 목록 밖 파일 갈래 + +### `scripts/` — 37개(46 항목 중 `__pycache__` 빼고, 위 8개 제외) + +모두 **㉯ 검사·빌더만 읽음** — 서버는 안 부르지만 사람이 손으로 돌리는 도구라 옮기면 그 도구가 깨짐. + +| 갈래 | 파일(줄 수) | +|---|---| +| 빌더(정본을 원자료에서 다시 만듦) 16 | build_계수_산림품셈_01장_추가(641) · build_기계_건설품셈(660) · build_로직_재료_고르기(78) · build_소요량_건설품셈_공통2장(688) · build_소요량_건설품셈_공통3장(611) · build_소요량_건설품셈_기계설비(62) · build_소요량_건설품셈_토목(167) · build_시설자재가격(86) · build_요율(427) · build_용도(223) · build_인력_노임(416) · build_자재품목_분류(688) · build_재료_유가전력(227) · build_재료_자재품목(156) · build_품셈재료_고르기(185) · build_환율(90) | +| 빌더가 부르는 공통 부품(직접 안 돌림) 12 | _md표_읽기(307) · _migrate_base(472) · _migrate_keys(317) · _계수_공통2장(149) · _설비_계수(179) · _설비_손(12) · _설비_읽기(131) · _설비_표(389) · _토목_계수(100) · _토목_손(204) · _토목_읽기(194) · _토목_표(322) | +| 관급단가 갱신 사슬(서로 부름) 5 | update_관급단가(723) · update_관급단가_기타(240) · update_관급단가_느슨(371) · update_관급단가_보강(182) · update_관급단가_합침(170) | +| 읽기 전용 분석 도구 4 | analyze_식_복사(155, `ref/_설계_식_복사.md` 근거) · compare_estx(486) · 로직_복잡도_재기(53) · check_값없는줄(120, 일감 이전 것) | + +### `old/` — 37개(json 34 · py 3) + +PLAN 7-4 의 가정(「B08·B09 를 옮긴 뒤라 `old/` 의존이 줄었을 것」)은 **일부만 맞음** — +`old/` 는 지금도 살아 있는 화면이 읽는 자리가 있음. + +- **㉰ 화면이 지금도 읽음 — 4개(옮기면 그 화면이 깨짐)** + - `2_공종_건설_마스터_2026-01-01.json` · `2_공종_산림_마스터_2026-01-01.json` — + `common_util_work_item_key.py`(글롭 `2_공종_*_마스터_*.json`) → + `B05_Profile_Corridor_Prebuild.py` · `B06_Section_Router_HaulPlan.py` · `B06_Section_Server_Calc_Prebuild.py` + - `2_공종_산림건설_연결_2026-01-01.json` — `common_util_work_item_link.py` → 위와 같은 화면 + - `3_품셈_산림_돌쌓기경사_13-4-4_2026-01-01.json` — `B06_Section_UI_Cross_Lean.ts` 가 **직접 import** + (횡단도 벽 전면 기울기 표준경사) + - 덤 — `common_util_node_bundle.py` 가 `old/` 의 모든 `*.json` 수정 시각을 지켜봄(내용은 안 읽고 + 「낡음」 판정만 — 하나라도 바뀌면 TS 번들을 다시 지음) +- **㉯ old_code(끊긴 B08·B09·Z01)만 읽음 — 12개** — 지금 화면과는 무관. + `old_code/` 는 `main.py` 에서 라우터가 끊겨 있어(PLAN 7-3) 실제로는 안 돌지만, 그 코드를 지우기 전엔 + 참조가 남음: `1_기초_노임_건설업`·`1_기초_유가_시도별`·`1_기초_유가_전국평균`·`1_기초_자재_시설공통`· + `1_기초_제비율_토목`·`2_공종_산림_밑수없음`·`3_품셈_건설_기계경비기준_8장`·`3_품셈_건설_기계운전경비`· + `3_품셈_건설_표전체`·`3_품셈_산림_계수`·`3_품셈_산림_자원목록보충`·`3_품셈_산림_표전체` +- **㉮ 아무도 안 읽음 — 21개** — 살아 있는 화면도 old_code 도 안 부름: + `1_기초_노임_제조업`(1168) · `1_기초_환율_일별`(45) · `2_공종_건설_밑수없음`(3164) · + `2_공종_건설_열쇠대장`(12948) · `2_공종_건설_형태미정`(4702) · `2_공종_산림_열쇠대장`(4519) · + `2_공종_산림_자원줄`(6300) · `2_공종_산림_자원줄못맞춤`(2988) · `2_공종_산림_형태미정`(6) · + `2_공종_산림건설_줄구실기준`(112) · `3_품셈_산림_거푸집사용횟수_1-7-1`(184) · + `3_품셈_산림_돌쌓기규격갈래_13-4`(54) · `3_품셈_산림_돌쌓기뒷길이_13-4-4`(40) · + `3_품셈_산림_목재구조갈래_13-13-1`(80) · `3_품셈_산림_철근가공갈래_12-3`(101) · + `3_품셈_산림건설_기계작업량`(387) · `4_화면_이름표`(9656) · `재료_나라장터자재`(7034) · + `_build_mach.py`(455) · `_build_mat_price.py`(103) · `_build_pum.py`(198) + + ⚠ 이 21개는 **이미 `old/` 안**이라 「옮길 후보」가 아니라 「지울 후보」 — 삭제 판단은 7-5·사용자 몫. + +### `ref/` — 67개(md 58 · json 8 · csv 1) + +md 58개는 **코드가 안 읽음**(사람·AI 가 보는 설계·검증 기록) — 이 분석은 「코드가 읽는지」 만 가르므로 +md 하나하나가 「아직 쓸모 있나」 는 이 일감 범위 밖으로 둠(임의 결정 — 막히면 정하고 한 줄 남기라는 규칙을 따름). + +json·csv 9개는 갈래가 갈림: + +| 파일(줄 수) | 갈래 | 읽는 곳 | +|---|---|---| +| 공종_자원별칭_실무_2026-01-01(167) | ㉰ 시험이 읽음 | `common_util_aliases.py` → 시험 `test_b09_fuel_kind_vibrator.py`·`test_b08_root_removal_excavator.py` | +| 수량_사방기슭막이치수_사방기술교본_2026-01-01 | ㉰ 화면이 읽음 | `B05_Profile_UI_Drainage_Facility_Fields.ts` 가 직접 import | +| _관급_보강_후보.json | ㉯ 도구가 씀 | `update_관급단가_보강.py`·`update_관급단가_합침.py` | +| 공종_수량연결_실무_2026-01-01(691) | ㉯ old_code 만 | `old_code/B08_Quantity_Engine_Handoff_Mapping.py` | +| 수량_구조물원단위_울진_2026-01-01(652) | ㉯ old_code 만 | `old_code/B08_Quantity_Engine_ObservedUnit.py` | +| 품셈_산림_돌종류계수_울진_2026-01-01(164) | ㉯ old_code 만 | `old_code/B08_Quantity_Engine_UnitQuantity_StoneSpec.py` | +| 품셈_산림_재료할증_울진_2026-01-01(181) | ㉯ old_code 만 | `old_code/B08_Quantity_Engine_MaterialSummary.py` | +| _열목록_화면표.csv(45) | **㉮ 아무도 안 읽음** | 없음 | +| 수량_돌쌓기찰라이브러리_소광리_2026-01-01(285) | **㉮ 아무도 안 읽음** | 없음 | + +## ③ `old/`·`ref/` 도 같은 잣대 — 이미 ②에 담음 + +## ④ 옮길 후보(파일 이름·줄 수) — 지금 아무도 안 읽는 것만 + +### 강한 후보 — 진짜 아무도 안 읽음(옮겨도 깨질 자리 없음) + +| 파일 | 자리 | 줄 수 | 깨질 자리 | +|---|---|---|---| +| _원문목록.json | resources/master_data/ | 201 | 없음 — 단, `ref/_걷을_옛코드.md` 가 미래 B09 색인 후보로 이미 언급함(지우진 말고 old/ 로만) | +| _열목록_화면표.csv | resources/master_data/ref/ | 45 | 없음 | +| 수량_돌쌓기찰라이브러리_소광리_2026-01-01.json | resources/master_data/ref/ | 285 | 없음 | + +### 약한 후보 — old_code(끊긴 라우터)만 읽음(old_code 를 먼저 걷어야 안전) + +| 파일 | 자리 | 줄 수 | 깨질 자리 | +|---|---|---|---| +| 공종_수량연결_실무_2026-01-01.json | ref/ | 691 | old_code/B08_Quantity_Engine_Handoff_Mapping.py(지금은 안 돌아감) | +| 수량_구조물원단위_울진_2026-01-01.json | ref/ | 652 | old_code/B08_Quantity_Engine_ObservedUnit.py | +| 품셈_산림_재료할증_울진_2026-01-01.json | ref/ | 181 | old_code/B08_Quantity_Engine_MaterialSummary.py | +| 품셈_산림_돌종류계수_울진_2026-01-01.json | ref/ | 164 | old_code/B08_Quantity_Engine_UnitQuantity_StoneSpec.py | + +### 절대 옮기면 안 되는 것 — 6개 + +`old/` 4개(공종 마스터 2·공종 산림건설 연결 1·돌쌓기경사 1) + `ref/` 2개(공종_자원별칭_실무·수량_사방기슭막이치수) — +B05·B06 화면과 시험 2개가 지금도 부름. + +## 한 줄 결론 + +- 최상위 `*.json` 145개·엔진 스크립트 8개는 전부 M01 이 읽어 옮길 후보가 없음. +- `scripts/` 37개도 전부 살아 있는 빌더·검사 도구라 옮길 후보 없음. +- 진짜 옮길 후보는 **3개(531줄)** + old_code 정리 뒤에나 옮길 수 있는 **4개(1,688줄)** 뿐 — + PLAN 7-4 가 기대한 것보다 훨씬 작음. +- `old/` 는 이미 4개 파일로 B05·B06 화면을 떠받치고 있어 **7-5 에서 `old/` 를 통째로 지우면 안 됨** — + 7-4 세 번째 체크(공종 마스터를 `old/` 에 두되 버리지 않음)와도 들어맞음. +- `old/` 안의 21개(54,244줄)는 이미 옮겨져 있고 아무도 안 읽음 — 「지울 후보」 로 7-5·사용자 몫에 넘김.