From d22b59ae5c0104793aa54484286feaae990fb7e4 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sun, 13 Sep 2026 14:57:35 +0900 Subject: [PATCH] =?UTF-8?q?knowledge(=EC=B6=95C):=20=EC=A1=B0=EC=82=AC=20?= =?UTF-8?q?=EC=8B=A4=EC=B8=A1=20=EB=B0=98=EC=98=81=20=ED=8C=90=EC=A0=95=20?= =?UTF-8?q?=EB=8B=A4=EC=84=AF=20=E2=80=94=20=EC=A3=BD=EC=9D=80=20=ED=8C=8C?= =?UTF-8?q?=EC=9D=BC=20=EC=A0=95=EC=A0=95=C2=B7=EB=B6=80=EB=AA=A8=20?= =?UTF-8?q?=EB=91=90=20=EB=AA=A8=EC=96=91=C2=B7=EB=B3=84=EC=B9=AD=20?= =?UTF-8?q?=EB=B2=94=EC=9C=84=C2=B7=EA=B0=88=EB=9E=98=20=ED=82=A4=C2=B7?= =?UTF-8?q?=EC=BD=98=ED=81=AC=EB=A6=AC=ED=8A=B8=20=EB=B3=B4=EB=A5=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_0154EMdwPYNPuKc9eZv8SLEX --- docs/raw/verification/2026-09-13_축C_명세.md | 105 ++++++++++++++++--- 1 file changed, 89 insertions(+), 16 deletions(-) diff --git a/docs/raw/verification/2026-09-13_축C_명세.md b/docs/raw/verification/2026-09-13_축C_명세.md index a0e7dc79..6aaac6ab 100644 --- a/docs/raw/verification/2026-09-13_축C_명세.md +++ b/docs/raw/verification/2026-09-13_축C_명세.md @@ -31,26 +31,36 @@ | 무엇 | 자리 | 상태 | | --- | --- | --- | -| 공종 축 마스터 | `resources/data_work_item_master/work_item_master_2026-01-01.json` | ✅ 섬 | -| 자원 축 산출물 | `resources/data_cost_resource_axis/resource_axis_2026-01-01.json` | ✅ **418줄** | -| 못 맞춘 목록 | `resources/data_cost_resource_axis/unmatched_2026-01-01.json` | ⚠ **497줄** | -| 뒤 패스 코드 | `B09_Estimation/B09_Estimation_ResourceAxis*.py` (6파일) | ✅ 섬 | +| 공종 축 마스터 | `resources/data_work_item_master/work_item_master_2026-01-01.json` | ✅ 섬 (477공종·456표) | +| 뒤 패스 코드 | `B09_Estimation/B09_Estimation_ResourceAxis*.py` (6파일) | ✅ 섬 — **매번 메모리에서 새로 돎** | +| `data_cost_resource_axis/*.json` | 418줄·못맞춤 497 | ⛔ **옛 산출물. 정본 아님** | -**`stats` 실측** +### ⚠⚠ 2026-09-13 정정 — 앞서 적은 418/497 은 **죽은 파일**이었음 + +**브레인이 틀렸음.** `write_resource_axis` 는 **정의만 있고 부르는 곳이 한 군데도 없음**(확인 완료). +그 JSON 둘은 옛 마스터로 한 번 돌려 남긴 자취이고, **B09 는 실행할 때마다 메모리에서 새로 맞춤.** + +**살아 있는 실측** (랩탑 메인 조사, 지금 코드로 돌린 값) ``` -rows 418 · unmatched 497 -skipped_forms : coefficient 19 · reference 64 · undetermined 75 -policy : axis=resource_only · work_item_axis_owner=B08 - material_amounts_are_before_surcharge=true +맞춘 줄 575 노임 532 · 기계 43 · 자재 0 ⚠ 자재 축이 통째로 안 섬 +못 맞춤 508 +건너뛴 표 참조 63 · 미판정 73 · 계수 19 ``` -**⇒ 남은 일은 「만들기」가 아니라 「채우기」임.** +**⇒ 못 맞춘 508 은 한 덩어리가 아니라 둘임.** -못 맞춘 497줄의 주된 사유는 파일 안에 그대로 적혀 있음 — -**「카탈로그에 없는 이름 (기계·자재 카탈로그 미확보 포함)」.** -즉 막힌 것은 **단가가 아니라 이름·코드 목록조차 없는 것**임. -(예: `보통휘발유 (주연료)` · `체인오일 (일반오일)` — 이름은 품셈에 있는데 받을 코드가 없음) +| 갈래 | 수 | 무엇이 필요한가 | +| --- | ---: | --- | +| 카탈로그에 없는 이름 | 271 | **STmate 목록 894개로 풀릴 후보** (11장) | +| 뭉친 줄 이름 못 풂 등 | 약 230 | **표 읽기 문제** — 목록이 와도 안 풀림 | + +일감을 **둘로 갈라 잡을 것.** 「목록이 오면 다 풀린다」는 틀림. + +⭐ **제일 큰 구멍은 자재 0** — 자재 축이 아예 안 서고 있음. 여기부터 볼 것. + +**산출물 파일의 자리** — 정본은 **메모리 실행**임. `write_resource_axis` 는 **시험·조사용 덤프**로만 +두고 **정본으로 읽지 말 것.** 옛 JSON 둘은 지우지 말고 그대로 두되 **근거로 쓰지 말 것.** --- @@ -64,8 +74,17 @@ FP-<절>-<절>-<절> 예) FP-04-02-02 (벌목, 5m 미만) - 정본은 **품셈 절 번호**. 표의 행은 그 절의 **조건별 변형**(`variant` 칸)임 - **이름은 표시용, 잇기는 코드로.** 이름으로 맞추는 코드가 남아 있으면 그것이 곧 결함임 -- 부모·잎이 있음 — `FP-09-15` 는 부모이고 잎이 답구간·답외구간임. - **부모 코드에 수량을 붙이지 말 것** +- 부모·잎이 있음. ⚠ **「부모에 수량 금지」는 반쪽만 맞았음** — 2026-09-13 정정. + **부모가 두 모양이고 규칙이 다름**(랩탑 메인 실측). + + | 모양 | 보기 | 규칙 | + | --- | --- | --- | + | **갈래 고르기형** | `FP-10-12`(덤프·사토·표토 운반) · `FP-09-15`(표토제거) · `FP-05-24` · `FP-09-13` | **부모에 붙이지 말 것.** 잎 하나를 골라야 함. **못 고르면 오류로 세울 것** — 조용히 부모에 붙이면 금액 0 이 됨 | + | **단계 합산형** | `FP-09-04`(파쇄+집토) · `FP-09-05`(절취10%+깍기90%+집토) · `FP-12-38`(유로폼) | **내역 한 줄이 곧 부모임.** 부모에 수량을 붙이되 일위대가는 **잎들의 합**으로 조립 — 부모가 곧 조합 일위대가 | + + ⚠ **가름은 자동 판정하지 말 것.** 마스터에 `parent_mode` 칸을 두고 + 기본 `choose_one`, **합산형만 사람이 명시**. 표 모양으로 짐작하면 조용히 틀림. + ⇒ 지금 `FP-09-04`·`FP-10-12`·`FP-09-15` 는 일위대가 제목이 아예 없어 **금액 0** 임(실측). ### ⭐ 코드 체계 — 브레인 확정 (2026-09-13, 사용자 지시) @@ -195,6 +214,25 @@ AR-<종류>-<8자리 16진> 카탈로그에 없는 자원 - 방향은 **양쪽 다** — 우리 이름으로도, 실무·품셈 이름으로도 코드를 찾을 수 있어야 함 - **한 이름이 두 코드에 걸리면 오류로 세울 것.** 조용히 첫째를 고르면 안 됨 +### ⚠⚠ 2026-09-13 정정 — 별칭에 **범위** 칸이 있어야 함 + +**전역 양방향 사전은 틀림.** 별칭은 **표 범위에서만 참**임. + +`리핑암 = 파쇄암` 은 **산림품셈 10-11 f 표 안에서만** 성립함 — 우리 「리핑암」은 지반유형 +(캘 수 있는가)이고 품셈 「파쇄암」은 운반할 때의 상태(부서졌는가)라 **발파암도 캐고 나면 +파쇄암**임. 그 표가 토사·파쇄암·발파암을 따로 두었고 10-12 [주]③ 의 토량환산계수가 +**파쇄암 1/1.35 = 암절취(리핑)** 이라 그 표 안에서만 이어짐 (근거는 `B09_Estimation_UnitPrice.py:464~477` 주석). + +``` +별칭 한 줄 = { from , to , scope } + scope = 이 별칭이 참인 코드 범위 예) "FP-10-11" + ⛔ scope 없는 별칭은 오류로 세울 것 +``` + +흩어진 세 벌(`Handoff_Mapping` 의 파쇄암·암절취 · B09 의 파쇄암만 · +B08 인계본 `ground_class_aliases` — **B09 가 안 읽음**)을 한 벌로 모으되 +**범위를 붙여 옮길 것.** 범위 없이 합치면 발파암이 리핑암으로 조용히 섞임. + --- ## 6. 이중계상 경계 — 축으로 판정 @@ -422,6 +460,41 @@ STmate 코드는 `B00001`·`M00042` 꼴로 **층 글자 + 다섯 자리**이고 --- +## 14. `#갈래` 는 무엇인가 — 2026-09-13 판정 + +랩탑 메인 지적이 맞음. 일위대가 제목 446 중 **202 가 `B-<코드>#<한글이름>`** 이고, +지금 B09 는 그 한글을 **정규화해 맞추고** 있음(`normalize_variant_key`). +2장 「이름으로 맞추면 결함」과 부딪혀 보임. + +**가름** — 둘은 **다른 자리**임. + +| | 무엇 | 이름으로 맞춰도 되나 | +| --- | --- | --- | +| 공종 축 ↔ 자원 축 | **서로 다른 표를 잇는 것** | ⛔ 안 됨. 코드로만 | +| `#갈래` | **한 공종 안의 조건 딱지**(토질·암종·규격) | ⚠ 지금은 이름으로 맞추고 있어 약함 | + +**⇒ 판정 — 마스터의 `variant_key` 를 정본으로 삼을 것.** + +- 마스터 **456표 전부에 `variant_key` 가 이미 있음**(브레인 확인). 그런데 **B09 가 안 읽고** + 변형 문자열에서 매번 다시 만들어 씀 +- B09 가 **`variant_key` 를 읽게** 고칠 것. 문자열 재파생은 **폴백으로만** 남김 +- 폴백이 실제로 쓰이면 **로그로 남길 것** — 조용히 다른 갈래에 붙는 것을 잡으려는 것임 + +--- + +## 15. ⏸ 판정 보류 — 사용자 확인이 필요한 것 + +### 콘크리트가 어느 축으로 가나 (랩탑 메인 ⓔ) + +- **전개식**은 `material` 로 보내고, **관측 원단위 JSON** 은 `unit_price` 로 되어 있어 **두 벌**임 +- 브레인이 근거를 찾지 못함 — 지목된 「확정 3차 ⑥」은 백업 원문에서 **막자갈 식** 건이라 이 건이 아님 +- 한편 코드 주석은 「콘크리트는 `unit_price` 로 감 — **B09 가 배합을 분해**」, + 「배합 성분은 산출물에 나타나면 안 됨」이라 **`unit_price` 쪽으로 기울어 보임** +- ⛔ **임의로 고르지 않음.** 틀리면 **시멘트·모래·자갈이 두 번 세어지거나 통째로 빠짐** +- ⇒ **사용자 확인 대기.** 그때까지 양쪽을 **그대로 두고 기록만** 할 것 + +--- + ## 10. 고칠 때 이 문서는 **브레인이 관리함.** 코드 창이 계약을 바꿔야 하면 **고치지 말고 브레인에게 알릴 것** —