7b7727d8(건설 품셈 원천 벌·공종 마스터 다시 뽑음) 뒤 기준정보 이름표의
줄 수 셈이 옛 값으로 남아 test_z01_master_data 트리·이름표 대조가 빨강.
- pum_const variables/pum/tables 2,275 → 2,279
- const_form_undetermined items 151 → 153
- const_basis_missing items 450 → 451
검증: 전체 시험(7b7727d8 상태) 2,444 통과 · 실패는 이 대조 1건뿐 →
이름표를 읽는 시험 7파일 109건 전부 통과.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QqkvdyxUtANWroVKpQUyxE
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
- gen_md.py 색인 대상에 original/원가계산 추가 — 산림 표준품셈 이관 뒤
재생성 때 목록에서 빠지던 문제 해소. 그림만 든 폴더(pic)는 제외
- 04_참조_법령기준_목록.md 5절(AUTO 블록)만 다시 뽑음 — 1~4절 수기 등록표 보존
- 원가계산 절 신설: 산림·건설 표준품셈, 노임단가 2종, 유가·환율·자재단가 등 10폴더
- 그동안 색인에 안 올라가 있던 법률 10건(건설폐기물·폐기물관리법 계열)과
행정규칙 2건(예정가격작성기준·환경친화적인 도로건설 지침)도 함께 올라감
- 색인 링크 986개 전부 실제 파일로 이어짐 확인
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QqkvdyxUtANWroVKpQUyxE
앞 커밋 72927741 (auto: 2026-09-18 20:01) 의 실제 내용 = 이번 이동 작업 전부.
자동 백업이 전체 시험 도중 작업 트리를 쓸어 올린 것. 이미 dev·다른 창 브랜치에
퍼져 있어 제목을 다시 쓰지 않고 이 커밋에 설명을 남김.
72927741 내용
- 원문 폴더 이동: original/행정규칙/임도 품셈 적용기준 (현 산림사업 표준품셈)
→ original/원가계산/산림_표준품셈 (파일 11개, 내용 불변)
- 옛 경로를 가리키던 곳 33개 갱신: B09 코드 3 · 시험 2 · 원가 입력값 2 ·
수집 도구 자료 3 · STmate 분석 3 · 기술문서 17 · 참조 법령기준 목록 등
- 수집 도구(collect_law.py): 항목에 "folder" 가 있으면 그 자리로 수집 —
다시 수집해도 옛 폴더가 되살아나지 않음
- 법령 이름(「임도 품셈 적용기준 (현 산림사업 표준품셈)」)은 그대로 둠, 경로만 바꿈
이 커밋
- pum_forest_2026.json 의 경로 한 줄이 바뀌어 지문(sha256)이 달라짐 →
산림 공종 마스터를 다시 만들어 지문만 갱신 (공종·금액 불변)
검증: 전체 시험 중 이번 작업 관련 실패 0. 남은 실패 2건(test_build_pum[pum_const],
test_work_item_master_const 산출 대조)은 51d0615a(건설 8장 표 넷 추가) 뒤
건설 품셈 재생성이 안 된 것 — 이번 작업과 무관.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011rSNs79DQ4sYy44HJVDYwa
브레인 B41 깃 싱크용 마무리 커밋.
- 충돌은 만들어지는 마스터 넷뿐 — 손으로 안 합치고 **추출기로 다시 뽑음**
- 서브가 양수기 7993-0020 값이 이웃 7992 것임을 밝혀 오귀속을 닫음 → 연료 줄 276 → 275
· 그 줄에만 있던 `parse_method` 칸이 비어 이름표에서도 뺌(열 546 → 545)
- 건설 표 2,274 → 2,275 · 형태 미판정 151 그대로 · 산림 미판정 0 · 건설 밑수 미확보 450
- PDF ↔ md 구멍 — 결손 749 → 756 · 허구 547 → 540(합은 그대로 · 값 일곱이 허구에서 결손으로 옮겨 감)
· 장별 목록도 다시 뽑음
- ⚠ 전체 시험은 도는 중에 멈춤(B37 중지 지시) — 이 커밋은 싱크를 위해 트리를 비우려는 것
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
랩탑메인 구멍 목록(2026-09-18) 「허구」 갈래 = 표가 글줄 속에 눌린 자리.
- 8-2-22 잡재료 등 손료율(인쇄 205면) — 구분 단말뚝·이음말뚝 / 제잡비율 17·22
- 8-2-23 해머계수(k)(인쇄 207면) — 파일크기 H200~H350 · 항타·항발 두 줄
- 8-2-25 작업계수 F0값(인쇄 209면) — 항타 0.9 · 항발 1.0
- 8-2-25 수중 펌프 및 수조선정(인쇄 214면) — 96㎾ 아래 1~4대 네 줄(ø150 은 3·4대에 걸친 한 칸)
검증 — 넷 다 PDF 표 칸 글자와 낱개까지 대조(일치) · 쪽 그림으로 줄 짚음.
⚠ 목록 대조 결과 — 제8장 「결손」 80줄은 **이미 내 md 에 다 있음**(목록이 내 최근 push 전 판으로 뽑힘).
「허구」 42줄 중 26줄만 지금 md 에서 찾히고, 나머지는 이미 고친 자리(9020·9060·7202 등).
⚠ 목록의 줄 번호는 **합본** 기준 — 분할본과 다름. 내 고침은 분할본에 먼저 들어가 있음.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
브레인 B30 원문 규명 — PDF 340쪽 주연료표의 「휘발유1.3」은 **바로 윗줄 7992(모르타르 믹서)** 것이고
양수기 줄은 전력 1.49㎾ 뿐이었음. 옛 추출이 **이웃 줄 값을 물려받은 자리 틀림**이었음
(「원문 부재」가 아니라 **이웃 줄 오귀속**). 7992 쪽 휘발유 1.3 은 이미 갈라 들어가 있음.
· `mach_base_2026.json` 의 양수기 연료 줄을 지우고 다시 뽑음 — 연료 276 → **275**
⚠ 이어받기는 **옛 벌을 보고 되살리므로** 한 번 지워야 영영 안 돌아옴(`이어받음 {'fuel': 1}` → **0**)
· 장부에서 세 줄이 닫힘(연료 7993-0020 · 셈 연료 코드 수 · 셈 연료 원문에 없는 자료 줄)
— `_갈래.닫힌 자리` 에 규명·처리를 남겨 뒀음
· 딸려 빠진 줄 하나 — 「안 잰 칸 mach_fuel_rate.parse_method」(그 칸을 가진 줄이 그것뿐이었음)
⇒ 기초단가 어긋남 17 → **14**(잣대 못 알아봄 7 · 원문 부재 7) · 할 일 아님 34 → 33
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
브레인 B18 ②. 잣대는 원문 ↔ 마스터 어긋남 건수.
- 판정 셋 더함(`_FormsConst`)
· 칸에 `인/ton`·`인/개소` — **그 단위당 사람 몫**이라 소요량 표(13-1-1 플랜트 배관 여덟)
· 머리에 「품명·명칭」+「단위」 — 자재 소요량 표
· 머리에 「사용시간」 — 장비를 몇 시간 쓰는지 적은 소요량 표(13-9-1 수중펌프)
- ⚠ 산림 미판정 0 그대로 — 건설 층은 산림이 못 가렸을 때만 돎
- 남은 151 갈래: 표지 없음 77 · 머리 두 단 63 · 구간 6 · 원문이 품을 안 적음 5
- 건설 밑수 미확보 438 → 448(새로 판정된 표가 밑수 셈에 들어온 만큼)
- 전체 시험 2,445 통과
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
브레인 B28 — 「지우는 것보다 남기는 것이 안전 · 애매하면 남기고 사유」가 이 판의 확정 잣대라
(계수 절단 사고 뒤 세운 것) 휘발유 1.3ℓ 를 **지우지 않고 표시만 단다.**
· 세 줄에 `표시`(「원문 부재 · 옛 벌 이어받음 · 사람 확인 필요」)와 `잠정`(「남김 — 사용자 판단 목록 일곱째」)을 붙임
· 비울지 사람값 자리로 굳힐지는 사용자 회신 뒤 확정
· ⚠ 다시 뽑을 때 보고에 뜨는 `이어받음 {'fuel': 1}` 은 **표시가 일이니 끄지 말 것**
· 메모 칸(`_MEMO_FIELDS`)에 `표시`·`잠정` 을 더해 맞대기에서 뺌 — 사람이 적은 글이라 어긋남 판정에 안 씀
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
랩탑 서브가 PDF 로 「원문이 규격·주연료 두 칸에 같은 ㎾ 를 적는 자리」로 판정했고(cae43718)
md 도 그대로임(`| 7993-0020 | 양수기 | 1.49㎾ | 1.49㎾ | - | - |`) ⇒ **원문에 기름 값이 없음.**
남은 것은 **자료 쪽** — `mach_fuel_rate` 가 휘발유 1.3ℓ 를 담고 있고 그것은 원문에 없는 값을
**옛 벌에서 이어받은 것**임(다시 뽑을 때마다 `이어받음 {'fuel': 1}` 로 보고됨).
닫는 길 둘을 사유에 적어 둠 — ㉠ 원문에 없으니 비움 · ㉡ 사람이 정해 넣는 자리로 남기고 표시를 달기.
어느 쪽인지는 판정 자리라 그대로 둠(지어 채우지 않음).
⇒ 갈래를 「잣대 못 알아봄 · 랩탑 서브」에서 **「원문 부재 · ㉰ 판정」**으로 옮김.
기초단가 17 — 잣대 못 알아봄 **7**(규격 빈칸 일곱, 랩탑 서브 B17) · 원문 부재 10(㉰).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
**① 기종 이름 — `(8201) 3D GNSS 머신 가이던스(굴착기용)`**
추출기가 **첫 낱자가 숫자면 쪽번호로 보고 버리던** 탓에 8201 이름을 못 찾고 **옛 벌의 뭉개진 글**을
이어받고 있었음(`배관파이프시 간 당(10-7)분류번호규 격7995-0050…`). 낱자가 하나도 없는 토막만
버리게 고침 — 옛 벌에서 이어받은 이름 7 → **0** · 이름 바로잡힌 줄 1(값은 안 움직임).
⚠ `_build_mach.py` 는 랩탑 메인이 지은 것 — 한 줄 잣대만 고쳤음.
**② 8-1-7 손료보정 — 원문이 제 표로 고쳐졌음**
전엔 글로 뭉개져 `덤프트럭2510` 처럼 붙어 있어 「25·10 인지 2·510 인지 못 가름」으로 세고 있었음.
이제 `| 덤프트럭 | 25 | 10 |` 이라 **칸에서 바로** 읽음 — 기종 글은 원문이 낱자 사이에 빈칸을 두므로
(`불도저( 1 9 톤이상 제외)`) 빈칸을 지워 맞댐. 네 줄이 한꺼번에 풀림(보정 셋 + 수 자리 가름).
**③ 이름 없는 기종을 세는 자리** — 8-3 에 `(코드) 이름` 머리글이 없어 **양쪽이 다 비어 조용히 지나가는**
자리를 세게 함. 지금은 **0** — 8202~8204 도 머리글이 [주] 줄에 섞여 있어 둘 다 읽고 있음.
⇒ 기초단가 어긋남 23 → **17**(잣대 못 알아봄 16 → **10** · 원문 부재 7).
남은 잣대 10 은 다 랩탑 서브 PDF 몫 — 규격 빈칸 일곱(원문이 기종 이름을 여러 줄로 쪼갬) ·
양수기 7993-0020 셋(규격이 주연료 칸에 밀림).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
**받아 다시 뽑은 결과**
· 건설 형태 미판정 175 → **166** · 밑수 확보 **713** · 미확보 438(원문 부재 436 · **미판독 2**)
· 산림 밑수 미확보 79(원문 부재 78 · **미판독 1**)
· 품셈 원천 건설 표 2,273 → **2,274**(산림 476 그대로) · 기계 손료 611 → **620** · 연료 274 → **276**
⇒ 랩탑 서브가 9020 이어 표를 붙이고 랩탑 메인이 겸용 연료를 갈라 읽은 것이 그대로 들어옴
**장부 손질**
· ⚠ 합치며 **내 갈래와 랩탑 메인의 옛 class·주인이 섞였음** — 「원문 부재」인데 주인이 랩탑 메인으로
적힌 일곱 줄을 ㉰ 로 되돌리고 주인을 뗌. 원문에 없는 것은 남이 고쳐도 안 풀림.
· 랩탑 메인이 새로 올린 「손료보정」 세 줄에 갈래·사유·주인 적음 — 8-1-7 가산비율 표가 글로 뭉개져
이름 칸에 수(`2510`)가 들어앉은 자리(「손료보정 수 자리 가름」 과 한 뿌리)
· 기계 장부에서 **저절로 빠진 것** — 9020 이어 표 일곱 · 겸용 연료 둘 · 손료 계수 칸 없는 표 둘
⇒ 지금 어긋남: 공종 마스터 **22** · 기초데이터 **1** · 기초단가 **23**(잣대 못 알아봄 16 · 원문 부재 7)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
브레인 B18 ①. 총량만으로는 누가 무엇을 고칠지 몰라 **쪽 · 표 제목 · 줄 글자**를 담아 장별로 나눔.
- `resources/tester/_pdf_gap_report.py` — 값 셈은 커버리지 시험 잣대를 그대로 씀(두 벌 금지)
- 목록 `docs/raw/verification/2026-09-18_건설PDF대조/` (목차 + 장별 43 파일 · 699 줄)
· 결손 = PDF 에 있는데 md 에 없음 · 허구 = md 에만(대개 붙은 줄 — 같은 자리에서 짝을 이룸)
· 큰 것: 제13장 플랜트 271 · 제8장 건설기계 122 · 제2장 토목 120 · 제4장 기계설비 51
- 가짜 양성 둘 다듬음
· 쪽 머리 줄(「제13장 … 723」)·붙은 머리(`173제8장 건설기계`)는 목록에서 가림
⚠ **셈에서는 안 뺌** — md 도 머리를 본문에 붙여 적어 한쪽만 빼면 허구가 늘어남(749/547 → 600/929)
· 표 제목 칸이 자료 줄을 집던 것 — **글자가 둘 이상 있어야 제목**으로 봄
· 쪽 머리를 먼저 훑어 「장 모름」 474 → 0
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
- 시험 장부는 양쪽을 다 읽어 합침(서브 줄 25 살림) · 자료는 추출기로 다시 뽑음
- `_fuel` 은 내 판(겸용 연료·전력)을 취함 — 서브의 「㎾ 전용은 기름 값 없음」 뜻도 그 안에 담김
- 칸 토막은 서브 `_cells`(빈 칸 = 없음 · `동력` 뗌) 를 쓰되 **코드가 하나면 칸 통째로**
(`1.87㎾ 휘발유1.3` 처럼 한 값 안에 공백)
- 8-1-7 손료 가산비율 이름 셋은 원문이 글로 뭉개져 이름 칸에 수가 들어앉음 — 목록에 사유로 둠
- 셈 — 건설 표 2,274 · 형태 미판정 166 · 밑수 확보 713 · 미확보 438 · 기계 손료 611 → 620
· PDF↔md 구멍은 결손 749 · 허구 547 그대로(md 고치는 창 몫)
- 전체 시험 2,445 통과
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
브레인 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
- 계수 A 4 · B 18 · C 8 · D 14 · E 4 로 묶음마다 길이가 달라 한 줄에 통째로 눌려 있었음
- 묶음 안에서 「값 ↔ 계수」 짝을 지켜 폄 · 짧은 묶음은 빈칸으로 둠(원문도 아래가 비어 있음)
- 계수 E 는 재료분석 네 줄과 1.15·1.00·0.90·0.60 을 짝지어 적음
검증 — 쪽 그림(인쇄 191면)으로 줄 짚고 PDF 표 칸 글자와 낱개까지 대조(일치).
⇒ **공통 8장 붙은 줄 36 → 0** (남은 검출 2건은 오탐 — 파일해머·크레인 조합표, 공기압축기 부수물 표).
브레인 일감 B07(2) · B10(5) · B17(6) 도 모두 닫힘 — 그중 넷은 「원문대로라 고칠 것 없음」 판정.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq