From 32c200264e54e2169b9c7b4d37c10245b7de885d Mon Sep 17 00:00:00 2001 From: umsangdon Date: Thu, 5 Nov 2026 20:05:18 +0900 Subject: [PATCH] =?UTF-8?q?chore(794-2a2):=20dev=20=EB=B0=9B=EC=9D=80=20?= =?UTF-8?q?=EB=92=A4=20=EB=A7=88=EB=AC=B4=EB=A6=AC=20=E2=80=94=20=EA=B0=9C?= =?UTF-8?q?=EC=A0=95=20=EC=B9=B8=20=EB=8B=A4=EC=8B=9C=20=EC=B1=84=EC=9B=80?= =?UTF-8?q?=20=C2=B7=20=EC=A7=80=EB=AC=B8=201,519=20=C2=B7=20=EB=82=A1?= =?UTF-8?q?=EC=9D=80=20=EA=B8=B0=EB=8C=80=20=EC=85=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - build_로직_개정.py 다시 돌림 — 새 GF000335 · GF000336 개정 [2026](GX 출처 「자체」 = 빈칸) - test_791_1 지문 fixture 1,516 → 1,519(기존 줄 같음 · GF000284 = 중간값 칸만 늘고 금액 같음) · test_794_2b 마스터 해시 같은 fixture - test_713_3 — 로직 수 1,515 → 1,519(794-2b 잔토처리 1 + 794-2a2 셋) · 묶음 335 → 337(794-2b 3-2-1) · 부르는 512 → 513(채집 GX) — 낡은 수 - test_263_2 — GF000284 입력 넷 뒤에 적재기계 · 덤프(794-2a2 고르기 덧) — 낡은 기대 Co-Authored-By: Claude Opus 5.5 --- .../로직_산림품셈_10장_자재․장비_운반.json | 2 ++ .../tester/fixtures/m01_791_1_logic_fingerprint.json | 9 ++++++--- resources/tester/test_263_2_haul_lib_copy.py | 3 ++- resources/tester/test_713_3_list.py | 12 +++++++----- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/resources/master_data/로직_산림품셈_10장_자재․장비_운반.json b/resources/master_data/로직_산림품셈_10장_자재․장비_운반.json index d3fc4ec66..e75f1859e 100644 --- a/resources/master_data/로직_산림품셈_10장_자재․장비_운반.json +++ b/resources/master_data/로직_산림품셈_10장_자재․장비_운반.json @@ -950,6 +950,7 @@ "이름": "시멘트운반(구역화물 운임 + 하차비)", "결과단위": "원/포", "출처": "산림품셈 10-1", + "개정": [2026], "소유": "공용", "비고": "운반비 = 구역화물 운임(자재 「구역화물」 톤급 · 거리 이내 줄 · 원/회) ÷ 적재 톤 ÷ 포수(40kg 포대 · 원문 주) · 해석: 적재 톤 = 톤급 · ÷ 1.1 = 운임의 부가세 뺌(실무 · 원문 없음) · 하차비 = 보통인부 하차 품(입력 · 원문 「1회 · 인도조건에 따라」 · 품 수 없음) · 옛 판 참고(현행 원문 없음): 적상 0.18 · 적하 0.13 인/ton", "시험입력": { "톤급": "10.5톤", "거리": "20km", "하차품": 0.0489 }, @@ -1045,6 +1046,7 @@ "이름": "철근운반(구역화물 운임 + 하차비)", "결과단위": "원/ton", "출처": "산림품셈 10-2", + "개정": [2026], "소유": "공용", "비고": "운반비 = 구역화물 운임(자재 「구역화물」 톤급 · 거리 이내 줄 · 원/회) ÷ 적재 톤 · 해석: 적재 톤 = 톤급 · ÷ 1.1 = 운임의 부가세 뺌(실무 · 원문 없음) · 하차비 = 보통인부 하차 품(입력 · 원문 「1회 · 인도조건에 따라」 · 품 수 없음) · 옛 판 참고(현행 원문 없음): 철근 하차 11분/ton(2인 1조)", "시험입력": { "톤급": "10.5톤", "거리": "20km", "하차품": 0.0489 }, diff --git a/resources/tester/fixtures/m01_791_1_logic_fingerprint.json b/resources/tester/fixtures/m01_791_1_logic_fingerprint.json index 2046fe7e8..9a138e2dd 100644 --- a/resources/tester/fixtures/m01_791_1_logic_fingerprint.json +++ b/resources/tester/fixtures/m01_791_1_logic_fingerprint.json @@ -1465,7 +1465,7 @@ "GF000281": "0e04b83c9ad7fec9", "GF000282": "0078b51a88b7eb8e", "GF000283": "cef74d92887ff33d", - "GF000284": "fcd03ba312687b70", + "GF000284": "e035f3f7ecd83ece", "GF000285": "f26e296cff8a8cc0", "GF000286": "11a75298fc653945", "GF000287": "9ee12abca8b5bfcc", @@ -1515,7 +1515,10 @@ "GF000331": "a180544f2ae28361", "GF000332": "9a8ef8dfe5b2edc5", "GF000333": "86799e690947928f", - "GF000334": "05e8796025a4fe06" + "GF000334": "05e8796025a4fe06", + "GF000335": "9c400ca3e7b49338", + "GF000336": "a9b9e0bb0f7da1f0", + "GX000004": "a3f4c454a5764d6e" }, - "마스터": "a0b7d5e4662e3312" + "마스터": "884c1240fa2c924d" } diff --git a/resources/tester/test_263_2_haul_lib_copy.py b/resources/tester/test_263_2_haul_lib_copy.py index 6f74cbdf0..b8ffa7b21 100644 --- a/resources/tester/test_263_2_haul_lib_copy.py +++ b/resources/tester/test_263_2_haul_lib_copy.py @@ -81,7 +81,8 @@ def test_손_값_이김(tmp_path): lines = library.library_inputs(tmp_path, "precombo", "system", None, KEY, folder) first = next(x for x in lines if x["id"] == LID) assert first["로직"] == "GF000284" and first["값"]["재료"] == "토사" # 덮기 전 값 - assert [i["이름"] for i in first["입력"]] == ["재료", "운반거리", "지역", "보정작업"] + assert [i["이름"] for i in first["입력"]][:4] == ["재료", "운반거리", "지역", "보정작업"] + assert [i["이름"] for i in first["입력"]][4:] == ["적재기계", "덤프"] # 794-2a2 고르기 덧 def test_거리_바뀐_뒤_셈_새_사본_옛_사본_prune(tmp_path): diff --git a/resources/tester/test_713_3_list.py b/resources/tester/test_713_3_list.py index c4149d6b2..e4cb339ba 100644 --- a/resources/tester/test_713_3_list.py +++ b/resources/tester/test_713_3_list.py @@ -11,20 +11,22 @@ COLS = {"묶음", "묶음수", "작업량", "부모", "부르는수", "불리는 def test_목록_줄_수_그대로_덧칸_다_있음() -> None: got = router.get_logics()["logics"] assert ( - len(got) == 1515 - ) # 묶음은 화면 접기만 — 목록 줄은 정본 로직 수 그대로(713-4 1,461 + 782 건설 기초 54) + len(got) == 1519 + ) # 묶음은 화면 접기만 — 목록 줄은 정본 로직 수 그대로(713-4 1,461 + 782 건설 기초 54 + 794-2b 잔토처리 1 + 794-2a2 셋) assert all(COLS <= set(x) for x in got) def test_묶음_작업량_부르기() -> None: more = store_list.extras() - # 한 절에 로직 둘 넘음(조사 12-B ㉯ 323 → 713-4 합침 · 지움 뒤 307 → 782 건설 기초 335) - assert sum(1 for v in more.values() if v["묶음"]) == 335 + # 한 절에 로직 둘 넘음(조사 12-B ㉯ 323 → 713-4 합침 · 지움 뒤 307 → 782 건설 기초 335 → 794-2b 3-2-1 둘 337) + assert sum(1 for v in more.values() if v["묶음"]) == 337 work = {k for k, v in more.items() if v["작업량"]} assert len(work) == 65 # 27 − 터파기 작업량 6(713-4 · 단가 로직 안에 품음) + 782 시공능력 44 assert more["GF000098"]["부모"] == ["GF000099"] # 측구터파기 작업량 → 단가 로직 밑 assert more["GC000268"]["불리는수"] >= 300 # 기계경비 로직 - assert sum(1 for v in more.values() if v["부르는수"]) == 512 # 506 + 782 건설 기초 6 + assert ( + sum(1 for v in more.values() if v["부르는수"]) == 513 + ) # 506 + 782 건설 기초 6 + 794-2a2 채집 GX 1 assert more["GC000294"]["관련"] == ["GC000292"] # 비고 「1-5-6(주③)」 # 인재경 줄 수 = 712-1 묶음 파생 · 못 가른 「하위」 = 복합 하위 로직 부르기 31(조사 12-B ③4) assert sum(v["인재경"]["하위"] for v in more.values()) == 31