feat(tester): 건설 PDF ↔ md 전수 커버리지 검사 + 겸용 연료 둘 갈라 읽기

브레인 B08·B14.

- **PDF ↔ md 커버리지**(`test_const_pdf_coverage.py`) — PDF 글자층을 좌표로 줄로 다시 묶어
  값 수를 뽑고 md 전문과 양방향으로 맞댐. 지금 **결손 749**(PDF 에 있는데 md 에 없음) ·
  **허구 547**(md 에만 — 대부분 붙은 줄 잔재 `0008900.90` 꼴)
  · 쪽별 셈을 목록에 두어 **늘면 빨강**(새 구멍) · `--report` 로 구멍 큰 쪽 스물을 뽑음
  · ⚠ 줄 짝은 안 맞춤(PDF 는 칸마다 줄바꿈) · 값처럼 생긴 수만(소수점·세 자리 이상, 연도 뺌) ·
    차례 줄·쪽번호 줄은 뺌
- **겸용 연료 둘**(`_build_mach.py`) — 3450-0642 현장가열 표층재생기 `73.7+휘발유54.5` ·
  7992-0001 모르타르 믹서 `1.87㎾ 휘발유1.3`
  · 둘째 연료는 `secondary_fuel_*`, 전력은 `electric_power_kw`(연료가 아니라 곁값)
  · 연료 줄 274 → 276 · 대조 시험도 같은 꼴을 읽게 넓혀 **기계 못 보는 자리 38 → 27**
  · 이름표에 새 열 셋 + 줄 수 갱신
- 전체 시험 2,442 통과

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 14:35:24 +09:00
co-authored by Claude Opus 5
parent 7786316ef5
commit 1660ca48ff
7 changed files with 1050 additions and 112 deletions
@@ -1977,7 +1977,7 @@
"merged_columns": 178,
"files": 41,
"tables": 101,
"columns": 543,
"columns": 546,
"value_groups": 207,
"unknown": 0,
"value_groups_by_kind": {
@@ -4813,7 +4813,7 @@
"name_ko": "기계 연료소모량·운전경비",
"summary": "기계마다 한 시간에 쓰는 연료량과 잡재료비 비율, 운전원 수.",
"shape": "list",
"rows": 274,
"rows": 276,
"columns": [
{
"key": "machine_code",
@@ -4862,6 +4862,23 @@
"name_ko": "읽은 방법",
"unit": "",
"visible": false
},
{
"key": "secondary_fuel_type",
"name_ko": "겸용 연료 종류",
"unit": "",
"note": "원문이 한 칸에 연료를 둘 적은 기종 — 현장가열 표층재생기 `73.7+휘발유54.5`."
},
{
"key": "secondary_fuel_rate_l_per_hour",
"name_ko": "겸용 시간당 연료량",
"unit": "L"
},
{
"key": "electric_power_kw",
"name_ko": "전력",
"unit": "㎾",
"note": "연료(ℓ/hr)가 아니라 곁값 — 모르타르 믹서 `1.87㎾ 휘발유1.3`."
}
]
},