fix(b09): 원문이 줄마다 풀린 표를 못 읽어 금액이 떨어지던 것 — 직접공사비 5,983,724 복귀

랩탑 서브·안티그래비티가 원문 md 의 뭉친 줄을 줄마다 푸는 중인데(2026-09-18), 그 모양을
읽는 길이 없어 **호표가 첫 갈래 값만 남거나 표째 사라졌다.** 값이 바뀐 것이 아니라
**적는 모양만 바뀐 것**이라, 풀린 줄을 도로 뭉쳐 같은 길로 읽게 했다.

- `_ThreeAxis._glue_rows` — 세로축 값이 줄마다 갈린 표(11-1 콘테이너 · 13-5-1 돌붙임)를
  한 줄로 되뭉침. ⚠ 칸 수가 다른 줄이 섞이거나 자원 이름 줄이 안 남으면 안 뭉침
- `_ThreeAxis` 는 **두 단 머리 표(13-4-1·13-4-4)에서 손을 뗌** — 그 표는 제 길이 따로 있고,
  여기서 가로채면 대·소분류가 열 수로 안 나뉘어 표째 막힘(갈래 80 이 사라졌었음)
- `_Transposed.match_packed_rows` — 뭉침이 없어도 **값 칸이 갈래 수만큼 따로 선 줄**이면
  같은 표로 읽음(돌쌓기 13-4-2·13-4-5 · 13-5-2)
- 산림 할증률 표 31 — 자료에 박아 둔 원문 줄 번호를 지금 자리로 다시 잡음(`coef_2026.json`).
  ⚠ 그 번호는 B09 가 표 아래 [주] 원문을 읽는 데도 쓰므로 밀린 채 두면 엉뚱한 글이 붙음
- 합판 전용률 대조는 **열 이름으로** 칸을 찾게 함 — 원문 앞에 빈 칸이 늘어도 안 깨짐
- ⭐ 금액 — 4,932,972 로 떨어졌던 직접공사비가 **5,983,724** 로 복귀 · 합계 10,124,000
- 덤 — 6-7-1 교목 시비 갈래 다섯 · 13-10-2 나무 말뚝박기 두 표가 새로 섬(사라진 갈래 0)
- 못박은 수 갱신 — 산림 갈래 332 → 337 · 공종 축 620 → 624 · 건설 1,388 → 1,484 ·
  밑수 미확보 80 → 81 · 이름표 갈래 66 → 67 · 건설 갈래 195 → 207 · 열쇠 지문

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
This commit is contained in:
2026-09-18 10:44:58 +09:00
co-authored by Claude Opus 5
parent 2312cbbdc4
commit 803c17163e
21 changed files with 7975 additions and 3233 deletions
+31 -31
View File
@@ -23,7 +23,7 @@
"tables": [
{
"section": "1-4-1. 작업시기",
"line": 930,
"line": 933,
"headers": [
"작업시기",
"할증률"
@@ -45,7 +45,7 @@
},
{
"section": "1-4-2. 조림 후 경과연수",
"line": 941,
"line": 944,
"headers": [
"조림 후 경과연수",
"할증률"
@@ -67,7 +67,7 @@
},
{
"section": "1-4-3. 집단화정도",
"line": 951,
"line": 954,
"headers": [
"구 분",
"집단화 정도",
@@ -93,7 +93,7 @@
},
{
"section": "1-4-4. 작업구역",
"line": 966,
"line": 969,
"headers": [
"구 분",
"집단화 정도",
@@ -139,7 +139,7 @@
},
{
"section": "1-4-5. 경사도",
"line": 981,
"line": 984,
"headers": [
"적용기준",
"경사도",
@@ -185,7 +185,7 @@
},
{
"section": "1-4-6. 작업장까지의 이동거리",
"line": 998,
"line": 1001,
"headers": [
"구 분",
"작업장까지 이동거리",
@@ -226,7 +226,7 @@
},
{
"section": "1-4-7. 하층식생",
"line": 1011,
"line": 1014,
"headers": [
"하층식생",
"할증률"
@@ -248,7 +248,7 @@
},
{
"section": "1-4-8. 장애물의 정도",
"line": 1019,
"line": 1022,
"headers": [
"장애물의 정도",
"할증률"
@@ -270,7 +270,7 @@
},
{
"section": "1-4-9. 제거대상 식생",
"line": 1029,
"line": 1032,
"headers": [
"제거대상 식생",
"할증률"
@@ -292,7 +292,7 @@
},
{
"section": "1-4-10. 토양상태",
"line": 1039,
"line": 1042,
"headers": [
"토양조건",
"할증률"
@@ -314,7 +314,7 @@
},
{
"section": "1-4-11. 덩굴피복도",
"line": 1049,
"line": 1052,
"headers": [
"덩굴 피복도",
"할인․할증률"
@@ -344,7 +344,7 @@
},
{
"section": "1-4-12. 제거대상 피복도",
"line": 1061,
"line": 1064,
"headers": [
"제거대상 피복도",
"할인․할증률"
@@ -366,7 +366,7 @@
},
{
"section": "1-4-13. 주행 장애물 상태",
"line": 1073,
"line": 1076,
"headers": [
"주행 장애물 상태",
"할증률"
@@ -388,7 +388,7 @@
},
{
"section": "1-4-14. 집재방향",
"line": 1081,
"line": 1084,
"headers": [
"구분",
"집재방향",
@@ -442,7 +442,7 @@
},
{
"section": "1-4-15. 횡단운반거리",
"line": 1095,
"line": 1098,
"headers": [
"횡단운반거리",
"할증률"
@@ -464,7 +464,7 @@
},
{
"section": "1-4-16. 규격재 생산",
"line": 1105,
"line": 1108,
"headers": [
"적용 조건",
"할증률"
@@ -478,7 +478,7 @@
},
{
"section": "1-4-17. 방제대상목 분포",
"line": 1111,
"line": 1114,
"headers": [
"구 분",
"대상목 분포",
@@ -534,7 +534,7 @@
},
{
"section": "1-4-18. 방제대상목 평균 경급",
"line": 1125,
"line": 1128,
"headers": [
"구분",
"평균경급",
@@ -570,7 +570,7 @@
},
{
"section": "1-4-18. 방제대상목 평균 경급",
"line": 1135,
"line": 1138,
"headers": [
"구분",
"내 용",
@@ -586,7 +586,7 @@
},
{
"section": "1-4-20. 방제지 사면",
"line": 1143,
"line": 1146,
"headers": [
"구 분",
"내 용",
@@ -617,7 +617,7 @@
},
{
"section": "1-4-21. 방제지 접근성",
"line": 1155,
"line": 1158,
"headers": [
"구 분",
"내 용",
@@ -643,7 +643,7 @@
},
{
"section": "1-4-22. 방제 수종",
"line": 1168,
"line": 1171,
"headers": [
"구 분",
"내 용",
@@ -664,7 +664,7 @@
},
{
"section": "1-4-23. 방제목 운반거리",
"line": 1175,
"line": 1178,
"headers": [
"구 분",
"내 용",
@@ -705,7 +705,7 @@
},
{
"section": "1-4-24. 방제장비 규격",
"line": 1188,
"line": 1191,
"headers": [
"구 분",
"내 용",
@@ -726,7 +726,7 @@
},
{
"section": "1-4-25. 작업시간 제한",
"line": 1197,
"line": 1200,
"headers": [
"구 분",
"적용조건",
@@ -762,7 +762,7 @@
},
{
"section": "1-4-26. 소규모 작업물량 제한",
"line": 1212,
"line": 1215,
"headers": [
"구분",
"조 건",
@@ -794,7 +794,7 @@
"tables": [
{
"section": "1-3-1. 재료의 할증",
"line": 857,
"line": 860,
"headers": [
"종 류",
"정 치 식 (%)",
@@ -835,7 +835,7 @@
},
{
"section": "1-3-1. 재료의 할증",
"line": 869,
"line": 872,
"headers": [
"종 류",
"할 증 률 (%)"
@@ -861,7 +861,7 @@
},
{
"section": "1-3-1. 재료의 할증",
"line": 878,
"line": 881,
"headers": [
"종 류",
"할 증 률 (%)"
@@ -875,7 +875,7 @@
},
{
"section": "1-3-1. 재료의 할증",
"line": 884,
"line": 887,
"headers": [
"종 류",
"할 증 률 (%)"
@@ -929,7 +929,7 @@
},
{
"section": "1-3-1. 재료의 할증",
"line": 901,
"line": 904,
"headers": [
"재 료 별",
"할 증 률 (%)",
@@ -2,11 +2,11 @@
"schema_version": "1.0",
"dataset_id": "mach_base",
"effective_date": "2026-01-01",
"generated_at": "2026-09-18T09:13:39+09:00",
"generated_at": "2026-09-18T09:56:32+09:00",
"sources": [
{
"path": "resources/knowledge/original/원가계산/건설공사_표준품셈/01_공통부문/제8장_건설기계.md",
"sha256": "56f0fd548393deae2e4c8179da03c2c5551c0e69ab1110d93796091c59a176e2",
"sha256": "3c64895cfd381f1a864f6c1bc3a59924ca8162ff9ce33ac82da96341647c8eb5",
"role": "primary"
}
],
@@ -2531,12 +2531,14 @@
{
"machine_code": "7202-0008",
"machine_name": "자동세륜기(롤 타입)",
"price_thousand_krw": 16828
"price_thousand_krw": 16828,
"specification": "2,200×5,150 ×1,000"
},
{
"machine_code": "7202-0010",
"machine_name": "자동세륜기(롤 타입)",
"price_thousand_krw": 21722
"price_thousand_krw": 21722,
"specification": "2,650×5,160 ×1,000"
},
{
"machine_code": "7204-0018",
@@ -9922,6 +9924,7 @@
{
"machine_code": "7202-0008",
"machine_name": "자동세륜기(롤 타입)",
"specification": "2,200×5,150 ×1,000",
"loss_coefficient_per_hour": 0.0006502,
"depreciation_coefficient_1e_minus_7": 3000,
"maintenance_coefficient_1e_minus_7": 2333,
@@ -9936,6 +9939,7 @@
{
"machine_code": "7202-0010",
"machine_name": "자동세륜기(롤 타입)",
"specification": "2,650×5,160 ×1,000",
"loss_coefficient_per_hour": 0.0006502,
"depreciation_coefficient_1e_minus_7": 3000,
"maintenance_coefficient_1e_minus_7": 2333,
@@ -15101,7 +15105,7 @@
"source_tables": [
{
"section": "8-4 운전경비 산정('08, '09, '10, '11, '12, '13, '14, '15, '16, '17년 보완)8-4-1 [00]토공기계",
"line": 3709,
"line": 3714,
"headers": [
"분류번호",
"기계명",
@@ -15363,7 +15367,7 @@
},
{
"section": "8-4 운전경비 산정('08, '09, '10, '11, '12, '13, '14, '15, '16, '17년 보완)8-4-1 [00]토공기계",
"line": 3745,
"line": 3750,
"headers": [
"분류번호",
"기계명",
@@ -15593,7 +15597,7 @@
},
{
"section": "8-4-2 [10]다짐기계",
"line": 3777,
"line": 3782,
"headers": [
"분류번호",
"기계명",
@@ -15863,7 +15867,7 @@
},
{
"section": "8-4-3 [20]운반 및 하역기계('21년 보완)",
"line": 3814,
"line": 3819,
"headers": [
"분류번호",
"기계명",
@@ -16085,7 +16089,7 @@
},
{
"section": "8-4-3 [20]운반 및 하역기계('21년 보완)",
"line": 3845,
"line": 3850,
"headers": [
"분류번호",
"기계명",
@@ -16411,7 +16415,7 @@
},
{
"section": "8-4-4 [30]포장기계",
"line": 3889,
"line": 3894,
"headers": [
"분류번호",
"기계명",
@@ -16641,7 +16645,7 @@
},
{
"section": "8-4-5 [40]콘크리트기계",
"line": 3921,
"line": 3926,
"headers": [
"분류번호",
"기계명",
@@ -16695,7 +16699,7 @@
},
{
"section": "8-4-5 [40]콘크리트기계",
"line": 3931,
"line": 3936,
"headers": [
"분류번호",
"기계명",
@@ -16877,7 +16881,7 @@
},
{
"section": "8-4-6 [50]골재생산기계 등",
"line": 3957,
"line": 3962,
"headers": [
"분류번호",
"기계명",
@@ -16979,7 +16983,7 @@
},
{
"section": "8-4-6 [50]골재생산기계 등",
"line": 3973,
"line": 3978,
"headers": [
"분류번호",
"기계명",
@@ -17065,7 +17069,7 @@
},
{
"section": "8-4-7 [60]기초공사용 기계('21년 보완)",
"line": 3987,
"line": 3992,
"headers": [
"분류번호",
"기계명",
@@ -17247,7 +17251,7 @@
},
{
"section": "8-4-8 [70]기타기계('24년 보완)",
"line": 4013,
"line": 4018,
"headers": [
"분류번호",
"기계명",
@@ -17549,7 +17553,7 @@
},
{
"section": "8-4-8 [70]기타기계('24년 보완)",
"line": 4054,
"line": 4059,
"headers": [
"분류번호",
"기계명",
@@ -17707,7 +17711,7 @@
},
{
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"line": 4085,
"line": 4090,
"headers": [
"명 칭",
"단위",
@@ -17875,7 +17879,7 @@
},
{
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"line": 4098,
"line": 4103,
"headers": [
"명 칭",
"단위",
@@ -17941,7 +17945,7 @@
},
{
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"line": 4106,
"line": 4111,
"headers": [
"명 칭",
"단위",
@@ -17986,24 +17990,52 @@
""
],
[
"주 연 료 잡 재 료 선 원",
"ℓ/hr % 인",
"23.2 45 3",
"26.2 45 3",
"36.4 36 3",
"50.9 36 3",
"65.5 32 3",
"72.8 32 3",
"116.4 27 4",
"145.5 27 4",
"349.2 18 4",
"주 연 료",
"ℓ/hr",
"23.2",
"26.2",
"36.4",
"50.9",
"65.5",
"72.8",
"116.4",
"145.5",
"349.2",
""
],
[
"잡 재 료",
"%",
"45",
"45",
"36",
"36",
"32",
"32",
"27",
"27",
"18",
"주연료의%"
],
[
"선 원",
"인",
"3",
"3",
"3",
"3",
"3",
"3",
"4",
"4",
"4",
""
]
]
},
{
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"line": 4114,
"line": 4121,
"headers": [
"명 칭",
"단위",
@@ -18036,20 +18068,50 @@
""
],
[
"주 연 료 잡 재 료 건설기계운전사 선 원",
"ℓ/hr % 인 인",
"9.5 81 1 2",
"19.1 73 1 2",
"57.3 63 1 3",
"95.5 58 1 4",
"108.3 56 1 4",
"주 연 료",
"ℓ/hr",
"9.5",
"19.1",
"57.3",
"95.5",
"108.3",
""
],
[
"잡 재 료",
"%",
"81",
"73",
"63",
"58",
"56",
"주연료의%"
],
[
"건설기계운전사",
"인",
"1",
"1",
"1",
"1",
"1",
""
],
[
"선 원",
"인",
"2",
"2",
"3",
"4",
"4",
""
]
]
},
{
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"line": 4122,
"line": 4132,
"headers": [
"명 칭",
"단위",
@@ -18099,7 +18161,7 @@
},
{
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"line": 4130,
"line": 4140,
"headers": [
"명 칭",
"단위",
@@ -18123,17 +18185,31 @@
""
],
[
"주 연 료 잡 재 료 선 원",
"ℓ/hr % 인",
"1.9 63 3",
"2.5 63 3",
"주 연 료",
"ℓ/hr",
"1.9",
"2.5",
""
],
[
"잡 재 료",
"%",
"63",
"63",
"주연료의%"
],
[
"선 원",
"인",
"3",
"3",
""
]
]
},
{
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"line": 4138,
"line": 4150,
"headers": [
"명 칭",
"단위",
@@ -18307,7 +18383,7 @@
},
{
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"line": 4150,
"line": 4162,
"headers": [
"명 칭",
"단위",
@@ -18346,16 +18422,64 @@
""
],
[
"주 연 료 잡 재 료 준 설 선 기 관 사 준 설 선 운 전 사 선 원",
"ℓ/hr % 〃 〃 〃",
"123.8 29 1 1 1",
"152.4 29 1 1 1",
"208.3 25 1 1 1",
"225.4 25 1 1 1",
"242.6 25 1 1 1",
"259.8 25 1 1 1",
"276.9 25 1 1 1",
"주 연 료",
"ℓ/hr",
"123.8",
"152.4",
"208.3",
"225.4",
"242.6",
"259.8",
"276.9",
""
],
[
"잡 재 료",
"%",
"29",
"29",
"25",
"25",
"25",
"25",
"25",
"주연료의%"
],
[
"준설선 기관사",
"〃",
"1",
"1",
"1",
"1",
"1",
"1",
"1",
""
],
[
"준설선 운전사",
"〃",
"1",
"1",
"1",
"1",
"1",
"1",
"1",
""
],
[
"선 원",
"〃",
"1",
"1",
"1",
"1",
"1",
"1",
"1",
""
]
]
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff