Merge remote-tracking branch 'origin/main_laptop_1' into sub_desktop_1

랩탑 메인이 건설 공종 축·목차 오기 고침·파일 쪼개기를 냈음. 충돌 셋 해소:

- **열쇠 벌**(`_Keys.py`) — 랩탑의 갈래별 매개(`key_prefix`·`general_roots`)를 취하고,
  내 잣대 읽기(`axis_policy.json`)를 되살려 **기본값이 자료에서 옴**
  ⇒ 랩탑이 코드로 되돌려 둔 `GENERAL_PROVISION_ROOTS` 는 잣대를 못 읽는 자리용 기본값으로만 남김
- **산림 마스터·지문** — 랩탑 것(코덱스 원문 대조로 표 넷 제자리 · 잎 358 → 360)
- **이름표** — 랩탑이 건설 kind 를 정식으로 냈으므로 내 「기다리는 자리」(`pending_merged_tables`) 버림 ·
  공용 `columns` 여덟과 값 낱말 여섯은 살림 · `toc_duplicate_rows` 이름표는 뺌
  (오기 고침으로 빈 목록이 되어 「묵은 이름표」가 됨 — 다시 생기면 그때 붙일 것)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
This commit is contained in:
2026-09-17 13:32:47 +09:00
co-authored by Claude Opus 5
21 changed files with 206573 additions and 2329 deletions
@@ -65,32 +65,45 @@
"name_ko": "건설 공종",
"settled": false,
"source": "resources/data_cost_input_value/pum_const_2026.json",
"toc_source": "⚠ 목차표가 없다 — 장 파일 46개(`source_file` 칸)가 유일한 계층 근거다",
"toc_source": "합본 원문 머리 「목 차」 글줄 — 목차표가 없어 랩탑 메인이 글에서 읽음(부문 5 · 장 45 · 1,367줄)",
"code_prefix": "CP",
"key_prefix": "CW",
"code_shape": "CP-<부문2>-<장2>-<절…>",
"code_shape_why": "⚠ **부문마다 장 번호가 1부터 다시 시작한다** — 01_공통부문 제1장은 적용기준, 02_토목부문 제1장은 도로포장공사다. 장 번호만으로 코드를 지으면 부문이 다른 공종끼리 덮는다. 산림에서 목차 번호 겹침 둘(12-17-2·12-24-1)이 실제로 서로 덮고 있었다.",
"code_shape_why": "⚠ **부문마다 장 번호가 1부터 다시 시작한다** — 공통 1장은 적용기준, 토목 1장은 도로포장공사다. 부문 자리가 없으면 부문이 다른 공종끼리 덮는다(산림에서 목차 번호 겹침 둘이 실제로 덮고 있었다). ⇒ **총칙 뿌리도 부문 자리까지 적는다.**",
"general_provision_roots": [
"01_공통부문/제1장_적용기준.md"
"CP-01-01"
],
"general_provision_basis": "산림 FP-01 적용기준과 짝. 단위표준·토질·할증 같은 기준표 46개.",
"general_provision_basis": "CP-01-01 공통부문 제1장 적용기준 — 줄 37 · 표 46. 산림 FP-01 적용기준과 짝. 단위표준·토질·할증 같은 기준표.",
"general_provision_pending": [
{
"chapter": "01_공통부문/제8장_건설기계.md",
"root": "CP-01-08",
"chapter": "공통부문 제8장 건설기계",
"rows": 75,
"tables": 351,
"why": "산림 FP-02 「소요재료 및 기계손료」와 짝으로 보이나, 기계 시공능력·손료 파라미터라 공종으로 볼 여지도 있음. ⬜ 안티그래비티 조사 대기.",
"already_extracted": "C0426·C0427 은 `resources/data_machine_productivity/` 로 이미 꺼냈음"
},
{
"chapter": "05_유지관리부문/제1장_공통.md",
"root": "CP-05-01",
"chapter": "유지관리부문 제1장 공통",
"rows": 37,
"tables": 40,
"why": "이름이 「공통」 — 기준표 장인지 공종 장인지 원문 확인 필요. ⬜ 안티그래비티 조사 대기."
"why": "이름이 「공 통」 — 기준표 장인지 공종 장인지 원문 확인 필요. ⬜ 안티그래비티 조사 대기."
}
],
"known_defects": [
"표 2,192 중 883(40 %)이 절 이름이 어긋남 — 파서가 글 속 제목을 못 잡음(PLAN 데스크탑서브 「빠진 표 일곱」 절)",
"`section` 이 절 번호가 아닌 표 289 — 그 가운데 11 은 값이 박힘"
]
"형태 미판정 881 / 2,192 — B09 표 읽기가 산림 표로만 검증됨",
"밑수 미확보 447 — 곱하면 안 되는 줄이라 받는 쪽이 가려야 함",
"갈래 키 비어 있음 — 랩탑 메인이 뒤로 미룸"
],
"counts_2026": {
"rows": 1367,
"work_item": 997,
"group": 270,
"general_provision": 0,
"empty": 100,
"note": "총칙 표시 전 셈(랩탑 메인 첫 산출). 뿌리를 붙이면 `general_provision` 으로 옮겨 간다 — 줄이 줄지는 않는다."
}
}
}
}