From 6a604a973ac86be048b9944b059a35854f19f6f6 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Tue, 22 Sep 2026 13:46:37 +0900 Subject: [PATCH] =?UTF-8?q?knowledge(M01):=20B05=C2=B7B06=20=EC=9D=B4=20ol?= =?UTF-8?q?d/=C2=B7ref=20=ED=8C=8C=EC=9D=BC=20=EC=97=AC=EC=84=AF=EC=9D=84?= =?UTF-8?q?=20=EC=9D=BD=EB=8A=94=EB=8B=A4=EB=8D=98=20=EA=B2=83=20=EB=8B=A4?= =?UTF-8?q?=EC=8B=9C=20=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 코드·데이터 안 고침 · 읽기 전용 · `ref/_분석_B05B06_옛자료.md` 한 파일 - sub1 문서(여섯 다 B05·B06 이 읽음)를 코드로 다시 따라가 보니 실제로 읽는 건 둘뿐 - 공종 마스터 2·공종 산림건설 연결·공종 자원별칭 넷은 old_code(끊긴 B08·B09)만 읽음 — B05·B06 코드에는 부르는 줄이 없음(node_bundle 이 old/ 전체 수정 시각만 훑는 것과 혼동됐던 것) - 돌쌓기경사 13-4-4(B06 횡단도 벽 기울기)·사방기슭막이치수(B05 근거 문구) 둘은 진짜로 화면이 읽음 — 09-14 자기 전용 폴더에서 만들어졌다가 09-19 옛 자료 정리 때 old/·ref 로 같이 쓸려 들어간 것 (B08·B09 만들며 들어간 게 아니라 B08·B09 정리 때 잘못 같이 옮겨진 것) - 이 둘을 지키는 시험(`test_b06_wall_lean_table`·`test_b05_revetment_sabang_basis`)도 old_code 로 같이 옮겨져 지금은 안 돌아감 — B05·B06 쪽 지킴이 비어 있음 - 걷는 차례 제안 — 나머지 넷은 걸림 없음 · 둘만 전용 자리로 빼고 import 경로 2줄 고침 · 죽은 시험 둘 되살림 Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj --- .../master_data/ref/_분석_B05B06_옛자료.md | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 resources/master_data/ref/_분석_B05B06_옛자료.md diff --git a/resources/master_data/ref/_분석_B05B06_옛자료.md b/resources/master_data/ref/_분석_B05B06_옛자료.md new file mode 100644 index 00000000..25929514 --- /dev/null +++ b/resources/master_data/ref/_분석_B05B06_옛자료.md @@ -0,0 +1,119 @@ +# B05·B06 이 old/·ref 파일 여섯을 읽는 진짜 까닭 + +읽기 전용 분석 — 코드·데이터 하나도 안 고침. + +`ref/_분석_안쓰는마스터.md`(sub1)가 「B05·B06 이 old/·ref 파일 여섯을 읽음」이라 적은 것을 한 줄 한 줄 +따라가 다시 봄. **결론부터 — 여섯 가운데 실제로 B05·B06 화면을 돌리는 건 둘뿐**이고, 나머지 넷은 +B08·B09(끊긴 옛 코드)만 쓰는 것을 sub1 이 잘못 묶은 것. + +## 파일 하나씩 + +### ① `old/2_공종_건설_마스터_2026-01-01.json` · `old/2_공종_산림_마스터_2026-01-01.json` + +- **읽는 코드** — `common_util/common_util_work_item_key.py` 41째 줄(`MASTER_DIR.glob("2_공종_*_마스터_*.json")`). + 이 모듈을 실제로 부르는 곳은 `old_code/B08_Quantity/B08_Quantity_Engine_Handoff.py` 254째 줄과 + `old_code/B09_Estimation/B09_Estimation_BillOfQuantities_Input.py` 뿐 — **B05·B06 코드 어디에도 + `common_util_work_item_key` 를 부르는 줄이 없음**(직접 검색해 확인). +- **B05·B06 과 닿는 유일한 자리** — `common_util_node_bundle.py` 가 `resources/master_data/old/` 의 + `*.json` **수정 시각**을 통째로 지켜봄(내용은 안 읽음·「낡음」 판정만). 이 파일도 그 34개 가운데 + 하나라 시각은 보이지만, **화면에 쓰이는 값은 하나도 없음**. +- **언제 들어왔나** — 파일 자체는 2026-09-17 커밋 `642a5be9`(건설)·`8f3a01cd`(work_item_key.py) — + 제목 그대로 **B08 인계 출구·B09 인계 입구 두 곳에서만 쓰려고 만든 것**(B08·B09 작업 중 생김, 사용자 말과 일치). + 2026-09-19 `0e6412fe` 로 `master_data/` 첫 층에서 `old/` 로 옮겨짐(B05·B06 과는 무관한 정리). +- **안 읽으면** — B05·B06 은 **아무 일도 없음**(원래 안 읽으므로). old_code 의 B08·B09 인계 계산이 + 다시 붙을 때만 문제(지금은 라우터가 끊겨 안 돌아감). +- **갈래 — ㉮ 그냥 걷어도 됨**(B05·B06 기준). + +### ② `old/2_공종_산림건설_연결_2026-01-01.json` + +- **읽는 코드** — `common_util/common_util_work_item_link.py` 42째 줄(`FOLDER.glob("2_공종_산림건설_연결_*.json")`). + 부르는 곳은 `old_code/B09_Estimation/B09_Estimation_BillOfQuantities_Input.py`· + `B09_Estimation_BillOfQuantities.py` 뿐 — 역시 B05·B06 은 안 부름. +- **언제** — 2026-09-17 `06e1f4ef` — 「산림·건설 어느 품을 쓸지 표가 정함」, B09 인계 규칙(사용자 말과 일치). +- **안 읽으면** — B05·B06 무관. old_code B09 재연결 때만 문제. +- **갈래 — ㉮ 그냥 걷어도 됨**(B05·B06 기준). + +### ③ `old/3_품셈_산림_돌쌓기경사_13-4-4_2026-01-01.json` + +- **읽는 코드** — `B06_Section_UI_Cross_Lean.ts` 13째 줄이 이 파일을 바로 import 해 `leanOf()` 함수를 + 만듦(16~18째 줄). 그 함수를 `B06_Section_UI_Cross_Culvert_Geom.ts`(178·629째 줄)와 + `B06_Section_UI_Cross_Revetment.ts`(201·291째 줄)가 불러 씀. +- **화면에 쓰는 자리** — 횡단도(단면도)에서 **관 유입·유출부·독립 기슭막이·다단 벽**을 그릴 때 벽 + 전면의 기울기(1:n)를 정함 — 품셈 13-4-4 [주]⑪ 「돌쌓기 표준경사」 표(직고 4단계 × 성토/절토 × + 메쌓기/찰쌓기 = 16칸). **사용자에게 보이는 것은 횡단도 벽의 실제 기울어진 모양 그 자체**임. +- **언제 들어왔나(중요)** — 기능은 2026-09-14 커밋 `0e609e69` 로 처음 생겼는데, 그때 import 경로는 + `resources/data_masonry/masonry_slope_2026-01-01.json` — **B08·B09 와 무관한 이 기능만의 전용 폴더**였음. + 2026-09-19 커밋 `ebd148c4`(제목 「옛 자료 폴더 이동 뒤 서버 불러오기 복구」)가 `data_masonry/` 를 + 통째로 `master_data/old/` 로 옮기는 정리를 하면서 import 경로만 기계적으로 따라 고침 — + **B08·B09 를 만들며 들어간 게 아니라, B08·B09 정리(사용자 말 그대로) 때 엉뚱하게 같이 쓸려 들어간 것**. +- **안 읽으면** — 파일이 없어지면 TS import 가 못 찾아 **번들 빌드 자체가 깨짐**(횡단도를 그리는 화면 + 코드 전체가 안 뜸) — 이 파일이 있는데 표에 맞는 칸이 없을 때만 코드가 「종전 0.3」 으로 조용히 + 후퇴함(주석 확인) — 어느 쪽이든 심각. +- **마스터로 갈음되는지** — `계수_산림품셈_13장_구조물.json` 안에 13-4-4 표가 이미 있으나(CF000140) + 그건 **주④⑤⑥⑦⑨**(줄눈메꿈·물구멍·뒷채움) 표이고, 이 파일이 쓰는 건 **주⑪ 표준경사**(다른 절) — + **지금 마스터는 이 표를 안 가지고 있음. 갈음 안 됨.** +- **갈래 — ㉰ 걷으면 기능이 없어짐**(화면 자체가 못 뜸). 지킬 파일. +- **덤 — 지킴 시험도 같이 쓸려 들어감** — `resources/tester/test_b06_wall_lean_table.py` 가 + 이 표의 최신 판을 대조하는 시험인데, `old_code/B08_Quantity_Engine_UnitQuantity_StoneSpec` 을 + 같이 읽는 바람에(B08 쪽 대조도 겸함) `old_code/resources/tester/` 로 함께 옮겨져 **지금은 안 돌아감** + — B06 쪽 지킴이 비어 있음. + +### ④ `ref/공종_자원별칭_실무_2026-01-01.json` + +- **읽는 코드** — `common_util/common_util_aliases.py` 29째 줄. +- **부르는 곳** — 전부 `old_code/`(B08_Quantity_Engine_Handoff_Mapping · B09_Estimation_UnitPrice · + ResourceAxis_Join · MachineProductivity 계열) + `resources/tester/test_b09_fuel_kind_vibrator.py` · + `resources/tester/test_b08_root_removal_excavator.py` 둘. **B05·B06 화면 코드는 전혀 안 부름.** +- **⚠ 그 시험 둘은 지금 이미 깨져 있음** — 실제로 `pytest --collect-only` 로 돌려 확인: + `ModuleNotFoundError: No module named 'B09_Estimation.B09_Estimation_UnitPrice'`(B08 도 같은 증상). + B08·B09 가 `old_code/` 로 옮겨간 뒤 이 시험 둘의 import 만 안 고쳐져 지금은 **아예 실행이 안 됨** — + sub1 문서의 「시험이 지킴」은 이제 사실이 아님(시험이 죽어서 지키는 게 없음). +- **갈래 — ㉮ 그냥 걷어도 됨**(B05·B06 기준). 단 시험 둘은 이 파일과 무관하게 이미 고장 나 있어 + 별도 정리 필요(이 일감 범위 밖 — 한 줄만 남김). + +### ⑤ `ref/수량_사방기슭막이치수_사방기술교본_2026-01-01.json` + +- **읽는 코드** — `B05_Profile_UI_Drainage_Facility_Fields.ts` 12째 줄이 바로 import. + 256~268째 줄 `sabangBasisLines()` 가 이 표에서 「높이 규칙·계획비탈 표준비·둑마루 두께 기준· + 뒷채움 조약돌 두께」 네 줄을 뽑아 문장으로 만듦. +- **화면에 쓰는 자리** — `createRevetSideGroup()`(270~301째 줄)이 이 문장을 **독립 기슭막이 입력칸 + 바로 밑에 안내문(근거)으로 보여줌** — 계산에 쓰이는 수치가 아니라 **사용자가 값을 넣을 때 보는 + 설명 문구**. `B05_Profile_UI_Drainage_Facility.ts`(본체 폼)가 이 조각을 불러 써서 실제 화면에 붙음. +- **언제 들어왔나** — 기능은 2026-09-14 `ad63dd8f`(제목에 `feat(b05,b06,b08)` — B05 화면 근거와 + B08 사유가 「같은 파일」을 보게 지었다고 명시)로 생겼고, 그때 경로는 `resources/data_masonry/ + revetment_sabang_2026-01-01.json` — 전용 폴더. 2026-09-19 `ebd148c4`(③과 같은 커밋)가 `master_data/ref/` + 로 옮기며 경로만 고침. **B05 몫으로 함께 설계된 파일이 정리 때 ref/ 로 쓸려 들어간 것.** +- **안 읽으면** — 파일이 없으면 TS import 가 못 찾아 **B05 배수시설 서브폼 빌드가 깨짐**(계곡 통과 + 시설 입력 화면 전체가 못 뜸). 있어도 삭제하면 근거 문구 네 줄이 사라짐 — 계산 값 자체는 안 + 바뀌지만 「왜 이 값을 제안하는지」 사용자가 못 봄. +- **마스터로 갈음되는지** — 지금 마스터에 「독립 기슭막이 근거」에 해당하는 표가 없음(품셈이 아니라 + **사방기술교본**이 원출처라 산림품셈 계수·소요량 파일에 안 실림). 갈음 안 됨. +- **갈래 — ㉰ 걷으면 기능이 없어짐**. 지킬 파일. +- **덤 — 지킴 시험도 함께 쓸려 들어감** — `resources/tester/test_b05_revetment_sabang_basis.py` 도 + `old_code/B08_Quantity_Engine_Pipe` 를 같이 읽어(B08 사유 대조 겸함) `old_code/resources/tester/` 로 + 옮겨짐 — 지금은 안 돌아가 B05 쪽 지킴도 비어 있음. + +## 한 줄 요약표 + +| 파일 | B05·B06 이 실제로 읽나 | 언제·왜 들어왔나 | 갈래 | +|---|---|---|---| +| 공종_건설_마스터 · 공종_산림_마스터 | 아니오(old_code 만) | 09-17 B08·B09 인계용으로 만듦 | ㉮ 걷어도 됨 | +| 공종_산림건설_연결 | 아니오(old_code 만) | 09-17 B09 인계 규칙 | ㉮ 걷어도 됨 | +| 돌쌓기경사_13-4-4(품셈 표준경사) | **예 — B06 횡단도 벽 기울기** | 09-14 전용 폴더에서 만듦 → 09-19 old/ 로 쓸려 옮겨짐 | ㉰ 못 걷음 | +| 공종_자원별칭_실무 | 아니오(old_code + 죽은 시험 2개) | — | ㉮ 걷어도 됨 | +| 수량_사방기슭막이치수 | **예 — B05 근거 문구** | 09-14 전용 폴더에서 만듦 → 09-19 ref/ 로 쓸려 옮겨짐 | ㉰ 못 걷음 | + +## 걷는 차례 제안 + +1. **먼저** — 공종_건설_마스터·공종_산림_마스터·공종_산림건설_연결·공종_자원별칭_실무 넷은 B05·B06 과 + 무관하니 이 넷 때문에 `old/`·`ref/` 를 못 건드릴 이유는 없음(다른 일감의 old/ 정리 그대로 진행 가능). +2. **돌쌓기경사·사방기슭막이치수 둘은 자리를 옮김** — `old/`·`ref/`(정리 대상 폴더) 밖에 전용 자리를 + 새로 줌(예: 옛 이름 그대로 `resources/data_masonry/` 되살리기, 또는 `resources/master_data/` 안에 + 「old 아님」이 분명한 이름). 옮길 때 고칠 곳 — TS import 경로 2줄(`B06_Section_UI_Cross_Lean.ts` 13째, + `B05_Profile_UI_Drainage_Facility_Fields.ts` 12째) · `common_util_node_bundle.py` 의 + `SOURCE_DATA_DIRS`(새 폴더도 보게). +3. **죽은 지킴 시험 둘을 살림** — `test_b06_wall_lean_table.py`·`test_b05_revetment_sabang_basis.py` 를 + `old_code/resources/tester/` 에서 `resources/tester/` 로 되돌리고, B08 쪽만 읽는 줄(대조 부분)은 + 빼거나 손봐 **B05·B06 몫만** 다시 돌게 함 — 지금은 이 표가 바뀌어도 아무 시험도 안 잡아 줌. +4. 이 순서대로 하면 `old/`·`ref/` 안에 더는 B05·B06 이 읽는 파일이 없어져, 남은 정리(PLAN 7-4·7-5)를 + B05·B06 걱정 없이 진행할 수 있음.