fix(B08): 건설 품셈 원천 벌·공종 마스터 다시 뽑음 — 51d0615a 표 넷 반영

51d0615a(건설 8장 — 글줄 속에 눌려 있던 표 넷을 떼어 세움) 뒤 원천 벌과
공종 마스터가 안 뽑혀 시험 빨강 2건(test_build_pum[pum_const] ·
test_work_item_master_const 산출 대조).

- pum_const_2026.json: _build_pum.py 로 다시 뽑음 — 표 2,275 → 2,279
  (새 표 C2278~C2281: 8-2-23 유압 파일 해머 · 8-2-24 진동파일 해머 ×2 ·
  8-2-25 워터제트 병용 압입공), 기존 표 글자 변화 0 · 줄만 밀림 280
- 건설 공종 마스터(const_*)만 다시 지음 — 산림 쪽 손 안 댐
  - 공종 1,367 그대로 · 새 열쇠 발급 0
  - 전후 대조: 공종 3개(CW-00340~342)에 새 표 붙음, 기존 표 3개(C0499 ·
    C0502 · C0520)는 값 불변 — 주석에 섞여 있던 표 글자만 빠짐, 나머지
    37 공종은 줄 번호만 이동
- 시험 test_표는_다_붙고_못_붙인_표는_목록 표 수 기준 2,275 → 2,279

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QqkvdyxUtANWroVKpQUyxE
This commit is contained in:
2026-09-18 21:53:31 +09:00
co-authored by Claude Opus 5
parent eb3bb9396d
commit 7b7727d84e
6 changed files with 982 additions and 657 deletions
File diff suppressed because it is too large Load Diff
@@ -1,29 +1,29 @@
{
"schema_version": "1.0",
"dataset_id": "data_work_item_master_manifest",
"generated_at": "2026-09-18T18:48:46+09:00",
"generated_at": "2026-09-18T21:50:29+09:00",
"built_by": "B08_Quantity/B08_Quantity_Build_WorkItemMaster.py",
"source": {
"dataset_id": "pum_const",
"effective_date": "2026-01-01",
"sha256": "082a6ef243bf1df2eadd21c9a7e570a4c340ea861defc066d5a7ae5eb58d58f3",
"sha256": "861a6a8c5b7d74fa21d25f4f4422d1ab34d85f98ff1d5a3e67ed9d4945250611",
"file": "pum_const_2026.json"
},
"files": [
{
"file": "const_work_item_master_2026-01-01.json",
"sha256": "6ec645223959121bca840d585be18eb8bf191d4d7065e9220670b8f4cfdf15b6",
"size_bytes": 4736720
"sha256": "25c082c2ca696a547bf6363c3cca92c039505759490936122d7d5b8c8b028ee1",
"size_bytes": 4740067
},
{
"file": "const_form_undetermined_2026-01-01.json",
"sha256": "f263117db94b40280a8dc8ed814c7e43deca83a29be6b004dff8af4d26b277e3",
"size_bytes": 89384
"sha256": "8e61664196a17d13745e4f753596696e559022aa146f5770044ebcc8a811dc76",
"size_bytes": 90252
},
{
"file": "const_basis_missing_2026-01-01.json",
"sha256": "8458defb018f7dd3bdba0ea52ecb0186ab08da098b1c5b4cf70ca267edc355bc",
"size_bytes": 118131
"sha256": "aea06bc8697639f8a131a106b81b4a8a7326ba11195f5c88a33f715556da8f6a",
"size_bytes": 118388
}
]
}
@@ -568,511 +568,518 @@
"pum_table_id": "C0500",
"section": "8-2-23 유압 파일 해머",
"pum_form": "requirement",
"line": 1265,
"line": 1271,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0507",
"section": "8-2-24 진동파일 해머('96, '26년 보완)",
"pum_form": "requirement",
"line": 1331,
"line": 1342,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(인/ 일)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0514",
"section": "8-2-24 진동파일 해머('96, '26년 보완)",
"pum_form": "requirement",
"line": 1407,
"line": 1424,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(인/일)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0518",
"section": "8-2-25 진동파일해머(워터제트 병용 압입공)",
"pum_form": "requirement",
"line": 1455,
"line": 1472,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C2281",
"section": "8-2-25 진동파일해머(워터제트 병용 압입공)",
"pum_form": "requirement",
"line": 1510,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0521",
"section": "8-2-25 진동파일해머(워터제트 병용 압입공)",
"pum_form": "requirement",
"line": 1494,
"line": 1520,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(인/ 일)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0526",
"section": "8-2-25 진동파일해머’를 따른다.8-2-26 유압식 압입 인발기(유압식 압입 인발공)",
"pum_form": "requirement",
"line": 1546,
"line": 1572,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(인/일)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0533",
"section": "8-2-29 펌프식 준설선('10, '11년 보완)",
"pum_form": "requirement",
"line": 1639,
"line": 1665,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(㎥/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0534",
"section": "8-2-29 펌프식 준설선('10, '11년 보완)",
"pum_form": "requirement",
"line": 1661,
"line": 1687,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0535",
"section": "8-2-29 펌프식 준설선('10, '11년 보완)",
"pum_form": "requirement",
"line": 1675,
"line": 1701,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0536",
"section": "8-2-29 펌프식 준설선('10, '11년 보완)",
"pum_form": "requirement",
"line": 1689,
"line": 1715,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0537",
"section": "8-2-29 펌프식 준설선('10, '11년 보완)",
"pum_form": "requirement",
"line": 1713,
"line": 1739,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0550",
"section": "8-2-30 그래브 준설선('10, '11년 보완)Q = q⋅k⋅f⋅Ecm여기서Q: 1시간당 준설량(㎥/hr)q: 버킷 또는 디퍼의 용량(㎥)k: 버킷 및 디퍼의 계수f: 현 지반의 토량을 기준하였을 때와의 준설토량의 변화율(체적 환산계수)cm : 1회 싸이클시간(초)E: 작업효율223제8장 건설기계",
"pum_form": "requirement",
"line": 1883,
"line": 1909,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0555",
"section": "8-2-30 그래브 준설선('10, '11년 보완)Q = q⋅k⋅f⋅Ecm여기서Q: 1시간당 준설량(㎥/hr)q: 버킷 또는 디퍼의 용량(㎥)k: 버킷 및 디퍼의 계수f: 현 지반의 토량을 기준하였을 때와의 준설토량의 변화율(체적 환산계수)cm : 1회 싸이클시간(초)E: 작업효율223제8장 건설기계",
"pum_form": "requirement",
"line": 1930,
"line": 1956,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0568",
"section": "8-3 기계손료8-3-1 [00]토공기계('19년 보완)(0101) 불도저(무한궤도)",
"pum_form": "requirement",
"line": 2070,
"line": 2096,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0569",
"section": "8-3 기계손료8-3-1 [00]토공기계('19년 보완)(0101) 불도저(무한궤도)",
"pum_form": "requirement",
"line": 2085,
"line": 2111,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0570",
"section": "8-3 기계손료8-3-1 [00]토공기계('19년 보완)(0101) 불도저(무한궤도)",
"pum_form": "requirement",
"line": 2095,
"line": 2121,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0571",
"section": "8-3 기계손료8-3-1 [00]토공기계('19년 보완)(0101) 불도저(무한궤도)",
"pum_form": "requirement",
"line": 2115,
"line": 2141,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0572",
"section": "8-3 기계손료8-3-1 [00]토공기계('19년 보완)(0101) 불도저(무한궤도)",
"pum_form": "requirement",
"line": 2122,
"line": 2148,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0574",
"section": "8-3 기계손료8-3-1 [00]토공기계('19년 보완)(0101) 불도저(무한궤도)",
"pum_form": "requirement",
"line": 2137,
"line": 2163,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0575",
"section": "8-3 기계손료8-3-1 [00]토공기계('19년 보완)(0101) 불도저(무한궤도)",
"pum_form": "requirement",
"line": 2153,
"line": 2179,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0576",
"section": "8-3 기계손료8-3-1 [00]토공기계('19년 보완)(0101) 불도저(무한궤도)",
"pum_form": "requirement",
"line": 2170,
"line": 2196,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0577",
"section": "8-3 기계손료8-3-1 [00]토공기계('19년 보완)(0101) 불도저(무한궤도)",
"pum_form": "requirement",
"line": 2184,
"line": 2210,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0578",
"section": "8-3 기계손료8-3-1 [00]토공기계('19년 보완)(0101) 불도저(무한궤도)",
"pum_form": "requirement",
"line": 2197,
"line": 2223,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0579",
"section": "8-3 기계손료8-3-1 [00]토공기계('19년 보완)(0101) 불도저(무한궤도)",
"pum_form": "requirement",
"line": 2206,
"line": 2232,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0589",
"section": "8-3-2 [10]다짐기계(1106) 머캐덤 롤러(자주식)",
"pum_form": "requirement",
"line": 2313,
"line": 2339,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0596",
"section": "8-3-3 [20]운반 및 하역기계(2101) 크레인(무한궤도)",
"pum_form": "requirement",
"line": 2408,
"line": 2434,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0597",
"section": "8-3-3 [20]운반 및 하역기계(2101) 크레인(무한궤도)",
"pum_form": "requirement",
"line": 2417,
"line": 2443,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0598",
"section": "8-3-3 [20]운반 및 하역기계(2101) 크레인(무한궤도)",
"pum_form": "requirement",
"line": 2425,
"line": 2451,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0599",
"section": "8-3-3 [20]운반 및 하역기계(2101) 크레인(무한궤도)",
"pum_form": "requirement",
"line": 2433,
"line": 2459,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0603",
"section": "8-3-3 [20]운반 및 하역기계(2101) 크레인(무한궤도)",
"pum_form": "requirement",
"line": 2472,
"line": 2498,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0608",
"section": "8-3-4 [30]포장기계(3108) 아스팔트 믹싱플랜트",
"pum_form": "requirement",
"line": 2525,
"line": 2551,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0609",
"section": "8-3-4 [30]포장기계(3108) 아스팔트 믹싱플랜트",
"pum_form": "requirement",
"line": 2533,
"line": 2559,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0610",
"section": "8-3-4 [30]포장기계(3108) 아스팔트 믹싱플랜트",
"pum_form": "requirement",
"line": 2545,
"line": 2571,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0614",
"section": "8-3-4 [30]포장기계(3108) 아스팔트 믹싱플랜트",
"pum_form": "requirement",
"line": 2590,
"line": 2616,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0615",
"section": "8-3-4 [30]포장기계(3108) 아스팔트 믹싱플랜트",
"pum_form": "requirement",
"line": 2597,
"line": 2623,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0616",
"section": "8-3-4 [30]포장기계(3108) 아스팔트 믹싱플랜트",
"pum_form": "requirement",
"line": 2605,
"line": 2631,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0617",
"section": "8-3-4 [30]포장기계(3108) 아스팔트 믹싱플랜트",
"pum_form": "requirement",
"line": 2612,
"line": 2638,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0620",
"section": "8-3-5 [40]콘크리트기계(4108) 콘크리트 배치플랜트",
"pum_form": "requirement",
"line": 2645,
"line": 2671,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0621",
"section": "8-3-5 [40]콘크리트기계(4108) 콘크리트 배치플랜트",
"pum_form": "requirement",
"line": 2659,
"line": 2685,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0623",
"section": "8-3-5 [40]콘크리트기계(4108) 콘크리트 배치플랜트",
"pum_form": "productivity",
"line": 2677,
"line": 2703,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0624",
"section": "8-3-5 [40]콘크리트기계(4108) 콘크리트 배치플랜트",
"pum_form": "productivity",
"line": 2687,
"line": 2713,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0640",
"section": "8-3-6 [50]골재생산기계 등(5105) 크러셔(이동식) ('11년 보완)",
"pum_form": "productivity",
"line": 2864,
"line": 2890,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0651",
"section": "5220-00151.5㎾8,0002,500(5330) 드릴웨곤",
"pum_form": "requirement",
"line": 2989,
"line": 3015,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0652",
"section": "5220-00151.5㎾8,0002,500(5330) 드릴웨곤",
"pum_form": "requirement",
"line": 2997,
"line": 3023,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0653",
"section": "5220-00151.5㎾8,0002,500(5330) 드릴웨곤",
"pum_form": "requirement",
"line": 3004,
"line": 3030,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0656",
"section": "8-3-7 [60]기초공사용 기계(6105) 그라우팅 믹서",
"pum_form": "requirement",
"line": 3038,
"line": 3064,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0677",
"section": "8-3-7 [60]기초공사용 기계(6105) 그라우팅 믹서",
"pum_form": "requirement",
"line": 3272,
"line": 3298,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0680",
"section": "8-3-7 [60]기초공사용 기계(6105) 그라우팅 믹서",
"pum_form": "requirement",
"line": 3304,
"line": 3330,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0682",
"section": "8-3-7 [60]기초공사용 기계(6105) 그라우팅 믹서",
"pum_form": "requirement",
"line": 3326,
"line": 3352,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0715",
"section": "50-2.6m5,0008-3-9 [80]스마트 건설장비(8201) 3D GNSS 머신 가이던스(굴착기용) ('23년 신설)",
"pum_form": "requirement",
"line": 3654,
"line": 3680,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0717",
"section": "50-2.6m5,0008-3-9 [80]스마트 건설장비(8201) 3D GNSS 머신 가이던스(굴착기용) ('23년 신설)",
"pum_form": "requirement",
"line": 3668,
"line": 3694,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0718",
"section": "50-2.6m5,0008-3-9 [80]스마트 건설장비(8201) 3D GNSS 머신 가이던스(굴착기용) ('23년 신설)",
"pum_form": "requirement",
"line": 3675,
"line": 3701,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0727",
"section": "8-4 운전경비 산정('08, '09, '10, '11, '12, '13, '14, '15, '16, '17년 보완)8-4-1 [00]토공기계",
"pum_form": "requirement",
"line": 3826,
"line": 3852,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(ℓ/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0728",
"section": "8-4 운전경비 산정('08, '09, '10, '11, '12, '13, '14, '15, '16, '17년 보완)8-4-1 [00]토공기계",
"pum_form": "requirement",
"line": 3862,
"line": 3888,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(ℓ/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0729",
"section": "8-4-2 [10]다짐기계",
"pum_form": "requirement",
"line": 3894,
"line": 3920,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(ℓ/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0730",
"section": "8-4-3 [20]운반 및 하역기계('21년 보완)",
"pum_form": "requirement",
"line": 3931,
"line": 3957,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(ℓ/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0731",
"section": "8-4-3 [20]운반 및 하역기계('21년 보완)",
"pum_form": "requirement",
"line": 3962,
"line": 3988,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(ℓ/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0732",
"section": "8-4-4 [30]포장기계",
"pum_form": "requirement",
"line": 4006,
"line": 4032,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(ℓ/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0733",
"section": "8-4-5 [40]콘크리트기계",
"pum_form": "requirement",
"line": 4038,
"line": 4064,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(ℓ/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0734",
"section": "8-4-5 [40]콘크리트기계",
"pum_form": "requirement",
"line": 4048,
"line": 4074,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(ℓ/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0735",
"section": "8-4-6 [50]골재생산기계 등",
"pum_form": "requirement",
"line": 4074,
"line": 4100,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(ℓ/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0736",
"section": "8-4-6 [50]골재생산기계 등",
"pum_form": "requirement",
"line": 4090,
"line": 4116,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(ℓ/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0737",
"section": "8-4-7 [60]기초공사용 기계('21년 보완)",
"pum_form": "requirement",
"line": 4104,
"line": 4130,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(ℓ/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0738",
"section": "8-4-8 [70]기타기계('24년 보완)",
"pum_form": "requirement",
"line": 4130,
"line": 4156,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(ℓ/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0739",
"section": "8-4-8 [70]기타기계('24년 보완)",
"pum_form": "requirement",
"line": 4171,
"line": 4197,
"why": "원문 부재 — 거절 자리: 원문이 적은 것이 '(ℓ/hr)' 라 밑수로 안 받음"
},
{
"pum_table_id": "C0740",
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"pum_form": "requirement",
"line": 4202,
"line": 4228,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0741",
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"pum_form": "requirement",
"line": 4215,
"line": 4241,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0742",
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"pum_form": "requirement",
"line": 4228,
"line": 4254,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0743",
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"pum_form": "requirement",
"line": 4238,
"line": 4264,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0744",
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"pum_form": "requirement",
"line": 4249,
"line": 4275,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0745",
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"pum_form": "requirement",
"line": 4259,
"line": 4285,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0746",
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"pum_form": "requirement",
"line": 4269,
"line": 4295,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
"pum_table_id": "C0747",
"section": "8-4-9 [90]해상기계(9010) 펌프준설선 ('10, '11년 보완)",
"pum_form": "requirement",
"line": 4281,
"line": 4307,
"why": "원문 부재 — 원문에 밑수가 아예 없음(채우면 지어내는 꼴)"
},
{
@@ -1374,6 +1374,23 @@
],
"reason": "단위·밑수·직종 표지 없음 · 값은 있는데 표지가 없음 — 사람이 봐야 함"
},
{
"pum_table_id": "C2278",
"section": "8-2-23 유압 파일 해머",
"headers": [
"구 분",
"단말뚝",
"이음말뚝"
],
"first_rows": [
[
"제 잡 비 율",
"17",
"22"
]
],
"reason": "단위·밑수·직종 표지 없음 · 값은 있는데 표지가 없음 — 사람이 봐야 함"
},
{
"pum_table_id": "C0501",
"section": "8-2-24 진동파일 해머",
@@ -1411,6 +1428,34 @@
],
"reason": "단위·밑수·직종 표지 없음 · 값은 있는데 표지가 없음 — 사람이 봐야 함"
},
{
"pum_table_id": "C2279",
"section": "8-2-24 진동파일 해머",
"headers": [
"파일크기 구 분",
"H200",
"H250",
"H300",
"H350"
],
"first_rows": [
[
"항 타",
"0.8",
"0.95",
"1.0",
"1.05"
],
[
"항 발",
"0.8",
"0.9",
"0.95",
"1.05"
]
],
"reason": "단위·밑수·직종 표지 없음 · 값은 있는데 표지가 없음 — 사람이 봐야 함"
},
{
"pum_table_id": "C0503",
"section": "8-2-24 진동파일 해머",
File diff suppressed because it is too large Load Diff
@@ -83,7 +83,8 @@ def test_표는_다_붙고_못_붙인_표는_목록(built: tuple) -> None:
# 2026-09-18 2,192 → 2,202 — 코덱스가 제8장 손료표 열(C2193~C2202)을 되살림
# 2026-09-18 합침 2,202 → 2,270 → 2,272 — 랩탑 서브·안티그래비티·코덱스가 원문 md 의
# 뭉친 줄·표를 잇달아 풂(8-2 시공능력 · 8-4-9 해상기계 …)
assert stats["tables_total"] == 2275
# 2026-09-18 2,275 → 2,279 — 51d0615a 8-2-23~25 파일 해머 표 넷(C2278~C2281) 떼어 세움
assert stats["tables_total"] == 2279
assert stats["tables_attached"] + len(master["orphan_tables"]) == stats["tables_total"]
assert stats["tables_orphan"] == len(master["orphan_tables"]) == 0