Commit Graph
38 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5 22bcccc663 Merge: 데스크탑 서브 다섯(184865ce 양수기 오귀속 바로잡음)과 한 점 — 자료 다시 뽑음
브레인 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 19:02:42 +09:00
eomsangdonandClaude Opus 5 184865cec9 fix(data): 양수기 7993-0020 휘발유 1.3 은 이웃 줄 7992 것 — 오귀속 바로잡아 어긋남 셋 닫음
브레인 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
2026-09-18 17:27:00 +09:00
eomsangdonandClaude Opus 5 8ddfcd6e57 chore(tester): 양수기 7993-0020 — 「남김」으로 잠정 처리하고 표시를 닮(지우지 않음)
브레인 B28 — 「지우는 것보다 남기는 것이 안전 · 애매하면 남기고 사유」가 이 판의 확정 잣대라
(계수 절단 사고 뒤 세운 것) 휘발유 1.3ℓ 를 **지우지 않고 표시만 단다.**

· 세 줄에 `표시`(「원문 부재 · 옛 벌 이어받음 · 사람 확인 필요」)와 `잠정`(「남김 — 사용자 판단 목록 일곱째」)을 붙임
· 비울지 사람값 자리로 굳힐지는 사용자 회신 뒤 확정
· ⚠ 다시 뽑을 때 보고에 뜨는 `이어받음 {'fuel': 1}` 은 **표시가 일이니 끄지 말 것**
· 메모 칸(`_MEMO_FIELDS`)에 `표시`·`잠정` 을 더해 맞대기에서 뺌 — 사람이 적은 글이라 어긋남 판정에 안 씀

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 17:08:24 +09:00
eomsangdonandClaude Opus 5 61f08d33a6 chore(tester): 양수기 7993-0020 세 줄 — 원문 쪽은 닫고 「자료 쪽」으로 구분해 적음(잣대 10 → 7)
랩탑 서브가 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
2026-09-18 17:06:50 +09:00
eomsangdonandClaude Opus 5 fd6865c19a fix(data): 숫자로 시작하는 기종 이름을 버리던 잣대 고침 · 8-1-7 손료보정을 제 표에서 읽음 — 기초단가 잣대 16 → 10
**① 기종 이름 — `(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
2026-09-18 17:04:46 +09:00
eomsangdonandClaude Opus 5 c12367cc33 chore(data): 전수 대조기·겸용 연료·9020 이어 표를 받아 다시 뽑음 — 건설 형태 166 · 밑수 미판독 건설 2·산림 1
**받아 다시 뽑은 결과**
· 건설 형태 미판정 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
2026-09-18 16:58:31 +09:00
eomsangdonandClaude Opus 5 73f373a40d Merge: 데스크탑 서브(c0b22442 기계 규격 맞대기)와 한 점 — 자료는 다시 뽑음
- 시험 장부는 양쪽을 다 읽어 합침(서브 줄 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
2026-09-18 15:00:39 +09:00
eomsangdonandClaude Opus 5 1660ca48ff 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
2026-09-18 14:35:24 +09:00
eomsangdonandClaude Opus 5 c0b22442b0 feat(tester): 규격 맞대기를 559 줄로 넓혀 「다른 줄 0」 확인 · 공종 마스터 어긋남 23 도 세 갈래로 가름
**① 규격 맞대기 넓힘 — 437 → 559 줄** (손료 줄 608 중)
  · 한 코드 줄은 규격 안에 빈칸이 들어도 칸을 통째로 씀(`2,200×5,150 ×1,000` 따위)
  · **원문과 다른 줄 0** — 559 줄이 원문과 글자까지 같음
  ·  **남은 일곱은 자료가 원문 빈칸을 채운 자리** — 원문 손료표가 한 칸에 든 기종 이름을
    여러 줄로 쪼개 적어(「수동 싱글드럼」 → 수동·싱글·드럼) 뒷줄이 비었고, 자료는 앞 줄에서
    이어받아 「싱글」·「드럼」·「엔진」 **조각**을 규격에 담고 있음. 수·계수는 원문과 같음.
    ⇒ 랩탑 서브에 PDF 대조 남김(7430·7431 윈치 · 7811·7812 엔진 · 9030 예선)

**② 공종 마스터 어긋남 23 → 22 · 세 갈래로 가름**
  · **남의 몫 17** — [주] 이어짐 읽기 14 + md 밑수 읽기 2(랩탑 메인) + F0333 PDF 대조 1(랩탑 서브)
  · **잣대 5** — 부록 14-2 표 셋(부록을 공종에서 가르는 잣대 없음) · F0076(분모 둘) · F0405(할증률 갈래 없음) — 다 ㉰
  · **원문 부재 0** — ⚠ 이 장부는 어긋남만 담음. 「원문에 밑수가 없는 것」 71 건은 `basis_missing` 에 따로 있음
  · F0406〈돌쌓기의 개수 및 중량의 표준〉은 거절 자리로 닫아 할 일 아님 칸으로(32 → 33)
  · 기초데이터 한 줄(이형철근 6~7 범위)도 「잣대」로 가름

⚠ 갈래 낱말이 두 벌임 — **어긋남 칸**은 「무엇이 막고 있나」(원문 부재·잣대·남의 몫) ·
**할 일 아님 칸**은 「왜 할 일이 아닌가」(거절 자리·그 밖·부록 예시·원문 부재). 장부에 곁줄로 적어 둠.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 14:24:02 +09:00
eomsangdonandClaude Opus 5 16883b1941 feat(tester): 기계 규격 437 줄을 원문과 맞대기 시작 · 기초단가 어긋남 61 → 24 로 가름(원문 부재 / 잣대 못 알아봄)
**① 기계 못 보는 자리 25 → 13**
  · **규격을 맞대기 시작** — 원문 손료표 「규 격」 칸을 읽어 손료·가격·연료 세 벌에 다 걸어 맞댐.
    **437 줄이 원문과 같음을 확인**(그 전엔 한 줄도 안 재던 칸). 토막이 코드 수와 안 맞는 줄은
    자료 값으로 갈음되니 지어 채우는 일 없음.
  · 「안 잰 칸」 아홉은 **원문 밖 말**이라 할 일 아님 칸으로 뺌 — 프로그램 이름(alias·rule_id) ·
    사람 메모(note) · 살림살이(parse_method) · 낳은 값(loss_coefficient_per_hour = 계 계수 ÷ 10⁷) ·
    자리 표시(source_section·section) · 원문 조건을 영어로 줄인 이름(exception·exclusion)

**② 기초단가 장부 49 줄을 두 갈래로 가르고 줄마다 사유·주인**
  · **원문 부재 32** — 값이 원문·원천에 없거나 원문 밖 말(㉮ 25 는 집계에서 뺌 · ㉰ 7 은 남김)
  · **잣대 못 알아봄 17** — 값은 원문에 있는데 전사·읽기가 못 가름 ⇒ 고치면 풀림
    – **랩탑 서브 15**: 9020 이어 표 일곱 · 8201 손료표 머리 뭉개짐 둘 · 양수기 7993-0020 셋 ·
      손료보정 `2510` 가름 · 5220·7995 계수 칸(PDF 에 있는지 확인)
    – **랩탑 메인 2**: 겸용 연료(`73.7+휘발유54.5` · `1.87㎾ 휘발유1.3`) 갈라 읽기
  ⇒ 할 일 **61 → 24**(㉯ 17 · ㉰ 7) · 할 일 아님 칸 34

**③ 랩탑 메인 것을 받아 다시 뽑음** — 건설 형태 미판정 196 → **175** · 밑수 확보 711 → **713** ·
  기계 값 바뀜 0 · 갈래 열쇠 장부는 합집합 209(내 CW-00326 · 랩탑 CW-00370 둘 다 살림)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 14:15:05 +09:00
eomsangdon 4a2cf76aeb Merge remote-tracking branch 'origin/main_laptop_1' into sub_desktop_1
충돌은 **뽑아서 생기는 파일 넷**(공종 마스터 둘 · 이름표 둘)뿐 — 손으로 쓴 자리가 없어
랩탑 쪽을 취함. 랩탑이 판정 코드를 고쳐 뽑은 것이라 그쪽이 새 것임(형태 275 → 196).
곧바로 다시 뽑아 덮음.
2026-09-18 13:22:34 +09:00
eomsangdonandClaude Opus 5 75a96a6a18 fix(tester): 프룬이 「할 일 아님」 칸을 되돌려 놓던 구멍 막음 · 기계 md 읽기 셋 넓힘(못 보는 자리 38 → 25)
**① 프룬 구멍** — 읽기(`load_known()`)만 「할 일 아님」 칸을 읽게 고쳤고 **쓰기는 안 고쳤음**.
  `--prune` 이 합쳐 읽은 것을 그대로 되쓰면 2026-09-18 에 가른 칸이 다시 갈래로 섞여
  **없는 할 일 36 이 되살아남**. 세 파일 다 「제자리에서 지우기」로 고침.

**② 기계 읽기 넓힘**
  · `| 9020- | 비항SD | | … |` 꼴 **앞자리만 알리는 머리줄** — 값이 없으니 못 보는 자리가 아님(8줄 뺌)
  · 빈 칸·`동력` 낱말·전력(㎾) 주연료를 읽게 함 — 전력 기종 아홉은 원문에 기름 값이 없어
    양쪽이 비는 것이 맞음(12줄 뺌) · 7360-0090 차선 제거기는 원문 휘발유 5.53 을 이제 읽음
  ·  **머리 없는 이어 표**를 세는 자리를 만듦 — 책장 넘김에 밀린 줄을 `|---|` 없이 따로 적어
    표로 안 잡히던 자리. **9020 그래브 준설선 일곱 줄의 손료계수가 양쪽 다 조용히 빠져 있었음**

**③ 드러난 어긋남을 장부에 사유·주인과 함께 올림**
  · 7993-0020 양수기 — md 가 규격을 주연료 칸에 밀어 적음(코덱스: PDF 대조로 휘발유 1.3ℓ 제자리에)
  · 9020 일곱 줄 — 코덱스: 앞 표에 이어 붙일 것(`제8장_건설기계.md` 3617줄 자리)
  · 겸용 연료 둘(3450-0642 · 7992-0001) — 랩탑 메인: `_build_mach.py` 가 갈라 읽게

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 13:21:13 +09:00
eomsangdonandClaude Opus 5 c22cc7f80d feat(b08): 건설 형태 미판정 275 → 196 · 밑수 확보 675 → 710 — 못 가린 것은 갈래로 남김
브레인 일감(2026-09-18). 잣대는 **원문 ↔ 마스터 어긋남 건수**(금액 아님).

- 건설 표 판정 넷 더함(`_FormsConst`)
  · 할증·보정 율표(「할증률」·「기계경비의」·「효율」) · 작업량·시공능력·소요시간 표 ·
    기계 가격·손료표(기계 벌이 정본) · 머리가 공식 기호(`K`·`t(분)`) · 줄 이름이 시간/사용량 ·
    다짐 두께·횟수 기준표 · 백분율 표의 「0」을 셈에서 뺌
  · ⚠ 산림 미판정 0 그대로 — 건설 층은 산림이 못 가렸을 때만 돎
- 못 가린 196 은 **갈래를 적어** 남김(`const_undetermined_kind`)
  · 머리가 두 단 108 · 그 밖(사람이 봐야 함) 82 · 머리가 구간 6
- ⚠ **밑수·[주] 를 남의 장 원문에서 읽고 있었음** — 건설 원문이 장별 파일인데 **첫 파일만** 열어
  모든 표의 줄 번호를 맞댔음. 표마다 제 `source_file` 을 보게 고침
  (그 탓에 「미판독 79」가 헛으로 세어지고 있었음)
- 밑수를 **표 머리 칸에서도** 읽음 — 「(단위 : ㎢)」·「(도엽당)」 꼴
  · ⚠ 한 칸에 단위가 둘이면(`손료계수 (1일 1대당)`) **안 읽음** — 어느 쪽이 밑수인지 못 가림
  · 밑수 단위에 층·set·Joint·발파·공·㎢·도엽·ea 더함(원문이 세는 물건)
- 셈 — 건설 미판정 275 → 196 · 건설 밑수 확보 675 → 710 · 미확보 439 → 431(원문 부재 356 · 미판독 75)
  · 산림 밑수 미확보 81 → 79(8-6-2·8-6-3 드론방제 「ha당」이 표 머리에서 읽힘) · 산림 미판정 0 유지
  · 원문↔마스터 밑수 어긋남 목록 14 → 12(F0228·F0229 풀림)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-18 13:15:51 +09:00
eomsangdonandClaude Opus 5 803c17163e 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
2026-09-18 10:44:58 +09:00
eomsangdonandClaude Opus 5 41ab123b46 Merge: 데스크탑 서브(9f27d619)와 한 점으로 — 자료는 다시 뽑고 시험 장부만 손으로 합침
브레인 지시(2026-09-18)대로 랩탑 메인이 한 번에 풂. 자료 파일은 손으로 안 합치고 **추출기로 다시 뽑음**.

- 손으로 푼 것 셋
  · `_Table.py` 임포트 — 양쪽 뜻 다 살림(서브 `judged_absent` + 내 `judged_const_form`)
  · 원문 md 해상 9050 손료표 — 서브가 줄마다 푼 판을 취하되 **HEAD 에만 있던 「(9060) 토운선」 제목 줄을 살림**
  · 열쇠 지문 — 합친 판으로 다시 잼(옛 837eb8aa… · 서브 6f223c69… → 46c0d413…)
- 시험 장부 둘은 **양쪽을 다 읽어 합침** — 서브가 붙인 칸(주인·갈래·할 일 아님)을 바탕에 두고 내 값으로 덮음
  · 서브 것만 있던 줄 22 를 살림 · 양쪽이 고쳐 저절로 풀린 줄 10 은 `--prune` 으로 뺌
  · ⚠ 「할 일 아님」 칸으로 옮긴 줄이 갈래에도 남아 두 번 세지 않게 뺌(33) · F0257 은 밑수 읽기가 넓어져 풀려 칸에서 나옴(34 → 33)
- 자료는 다시 뽑음 — `_build_pum.py` · `_build_mach.py` · 공종 마스터 빌더
  · 건설 품셈 표 2,202 → 2,270(다른 창이 뭉친 줄·표를 더 풂) · 연료 274 · 손료 611 · 가격 613
  · 산림 미판정 0 · 산림 밑수 251(서브의 F0046·F0068 되돌림이 살아 있음)
  · 건설 미판정 277 · 밑수 확보 674 · 미확보 435 · 미판독 92
- 이름표 줄 수·못박은 셈 갱신 — 건설 표 2,270 · 산림 밑수 미확보 80 · 건설 미판정 277 · 건설 밑수 미확보 435 ·
  건설 갈래 195 · 건설 공종 축 997/1,334 → 1,044/1,381(원문이 더 읽힌 것이지 값이 바뀐 것 아님)
-  금액 불변 — 직접공사비 5,983,724 · 합계 10,124,000 그대로

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-18 09:56:07 +09:00
eomsangdonandClaude Opus 5 83220dc231 feat(b08): 건설 표 모양 판정층 — 미판정 891 → 276 · 건설 밑수 미판독 184 → 90 · 산림 0 그대로
브레인 일감. 표 모양 판정이 산림 표에 맞춰져 있어 건설 표를 못 가렸음(건설 미판정 891 · 산림 0).

- `B08_Quantity_Build_WorkItemMaster_FormsConst.py` — **산림 잣대가 미판정으로 떨어질 때만** 도는 건설 층
  · 기계 손료표(머리 「분류번호」+「상각 비율」) 122 · 율·계수표(손율·요율·보정계수) · 값 없는 설명·서식표 ·
    건설 직종(특급·고급·중급·초급 기술자 · 지적기사 · 비계공 …) · 줄에 단위 칸+값 · 값 자리 계산식 ·
    줄 이름이 공식 기호뿐(β·E) · 값이 모두 백분율
  · ⚠ 비고 칸의 산출식은 값으로 안 봄 — 인력품 표가 계수로 뒤집히던 자리(9-5-4 수치지도)
  · ⚠ 꼬리 단위는 품·자재 단위만 값으로 셈 — `24hr`·`30톤`·`0.166일` 은 규격·기간 표기
  · ⚠ **못 가리면 미판정으로 남김**(276) — 지어내 채우지 않음
- 밑수 읽기 넓힘(`_Table.SOURCE_BASIS_RE`) — 건설은 절 제목 끝에 밑수를 적음
  · `(용접개소당)`·`(세면기 개당)`·`(절단길이 10m당)`·`(m당 : 관길이기준)`·`(일당)`·`(기당)` 을 읽음
  · 단위에 일·기·조·명·틀 더함 · ⚠ 「회」는 넣지 않음(2026-09-17 서브 판정)
  · ⚠ `(1ha당, 100본당)` 처럼 **밑수가 둘이면 안 고름** · `공㎥당` 이 `㎥` 로 깎이던 것 고침
  · ⚠ **작업조 표에는 「일」 밑수를 안 붙임**(c3da333e — 붙이면 유로폼 호표가 사라짐)
  · 건설 밑수 확보 537 → 639 · 미판독 184 → 90 · 산림 확보 251 → 253(원문에 있던 2-2-4 ha당 등)
- 브레인 ①[주] 17 중 3 — `md_notes` 이어짐에 「- 4. 고철공제 : A=…」 꼴(콜론·식) 과 중첩 [주] 를 더함
  · 남은 14 는 마스터가 뒤 표의 [주]까지 붙여 둔 자리 — 「애매하면 안 깎는 쪽」으로 까닭만 달아 둠
- 브레인 ②밑수 5 중 3 — `(단위 : ㎥)`(당 없음) · 줄 칸의 `(160ha당)` · 설명 글이 앞에 붙은 `(…, ha당)` 읽음
  · F0322·F0323 은 원문 밑수가 표 둘 아래 산출식에만 있어 사람 판정 유지
-  금액 불변 — 직접공사비 5,983,724 · 합계 10,124,000 그대로
- `test_form_const.py` 22 — 산림이 건설 층에 안 닿음 · 꼴 여섯 가름 · 못 가리면 미판정 · 밑수 아홉 꼴
- 곁가지(받은 md 손질이 부른 것)
  · 8-11 이동식 임목파쇄기 — 랩탑 서브가 8-4 를 줄마다 풀자 **연료 칸이 「-」 인 빈 레코드**가 생겨 산림
    8-11 [주]⑤(13.5ℓ·16%) 층이 통째로 빠졌음 → 「연료가 비면 산림 [주]가 정본」으로 두 자리 고침
  · 기계 벌 — 중유 기종(`중유487.2`) 을 경유로 적던 것 · 연료가 둘인 칸(`73.7+휘발유54.5`) 을 반쪽만 싣던 것 ·
    원문에 없는 기종을 옛 벌에서 이어받던 것 고침(연료 274)
  · ⚠ 이어받기는 **원문에 줄이 있는데 연료를 못 읽은 코드**까지 — 못 읽은 줄 + 주연료 칸이 수가 아닌 줄
    (양수기 7993-0020 은 원문이 규격을 연료 칸에 밀어 적음 `1.49㎾` · 사람이 맞춘 1.3ℓ 를 지킴)
  · 이름표 줄 수·건설 공종 축 셈·열쇠 지문 갱신(까닭을 파일에 적음)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-18 09:07:49 +09:00
eomsangdonandClaude Opus 5 9f27d61965 feat(data): 기계·품셈 원천 벌 다시 뽑음 · 「인」 밑수 셋 바로잡음 — 금액 그대로
**① 기계 원천 벌 다시 뽑음**(`_build_mach.py`) — 랩탑 서브가 8장 md 를 크게 고친 뒤
  · 연료 **214 → 274**(새 기계 60) · 손료 611 · 가격 613 — 값 바뀐 줄 가격 122 · 손료 122 · 연료 35
  · 규격 세 줄짜리 표의 셋째 줄(출력 ㎾)이 되살아남 — 9070-0020 도 규격이 빈칸에서 「80ton대선 8ton달기」로
  ·  **금액 안 움직임** — 직접공사비 5,983,724 통과
   남은 구멍 — 손료표 9020~9090 여덟 덩어리에서 코드를 못 읽음(`parse_audit`) · 연료 코드 수 272↔274 ·
    3108-0040 연료 갈래(중유↔경유). 장부에 주인(랩탑 메인)과 함께 적어 둠
**② 품셈 원천 벌도 다시 뽑음**(`_build_pum.py`) — 건설 표 둘 바뀜·둘 새로·둘 빠짐

**③ 「인」 밑수 셋 바로잡음**(안티그래비티 PDF 대조 · 브레인 판정)
  · F0046·F0068 — 비고의 「1인당」을 파서가 밑수로 읽고 있었음. **비워 둠**(사람 판정) ·
    미확보 목록에 「**원문 부재** — 사람 판정: …」 사유를 달아 다음 바퀴에 또 안 세어지게 함
     「인은 밑수가 아니다」 2026-09-09 판정이 **넓게 옳았음** — 「숫자가 붙었을 때만 인정」이라는
      예외(2-2-5 천공기)까지 물러남. 그 시험도 뒤집고 까닭을 적음
  · F0076 — 목적물 1km 는 **정당한 밑수**였음(반쪽 아님). 뜻이 뒤집혀 있던 `productivity` 를
    `requirement` 로 고침(값은 소요인력)
  ⇒ 사용자 판단이 **8 → 5** 로 줄어듦(남은 다섯: 부록 14-2 표 셋 · F0405 증가율표 성격 · 이형철근 범위)

밑수 확보 251 → 249 · 미확보 80 = 원문 부재 70 + 미판독 10 · 지문·이름표·시험 갱신

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 07:05:07 +09:00
eomsangdonandClaude Opus 5 d379acc59b chore(tester): ㉮ 36 을 「할 일 아님」 칸으로 빼고 갈래 나눔 · ㉯ 에 주인 다 적음
**① ㉮ 를 갈래에서 아주 뺌** — 장부에 섞여 있어 바퀴마다 「어긋남」으로 다시 세어지던 것.
  `_할일_아님` 칸으로 옮김(공종축 34 + 기초값 2) · **지우지는 않음**(나중에 사유를 보아야 함)
  갈래 — 거절 자리 11 · 그 밖 18 · 원문 부재 4 · 부록 예시 1
  ⚠ **세는 곳에서만 빼고 비교에는 넣음** — `load_known()` 이 그 칸도 읽게 함.
    안 그러면 옮긴 줄이 다시 「새로 어긋남」으로 빨개짐
  시험으로 못박음 — 칸이 있나 · 34줄인가 · 줄마다 **왜 할 일이 아닌지** 사유가 있나 · 갈래가 넷 중 하나인가

**② ㉯ 남의 몫에 주인 다 적음** — 갈래 없던 기계 줄 65 에도 적어 미정 0
  랩탑 메인 87(md 읽기 22 + 기계 원천 벌 재추출 65) · 랩탑 서브 1(F0333 PDF 대조)

**③ 남은 건수 — 실제 할 일만**
  ① 산림 공종 축 **0** (미확보 79 = 원문 부재 69 + 미판독 10, 열은 다 거절 자리) · 미귀속 표 22 는 ㉰ 에
  ② 건설 공종 축 **1,053** (형태 미판정 891 + 밑수 미판독 162) — 뿌리는 「판정이 산림 표로만
     맞춰진 것」이라 랩탑 메인 몫
  ③ 확인 대기 **100** = ㉯ 92(다 남의 몫) + ㉰ 8 · 할 일 아님으로 뺀 것 36
  ④ 사용자 판단 **8** — F0046·F0068 「1인」 밑수 · F0076 반쪽 「1km」 · 부록 14-2 표 셋 ·
     F0405 증가율표 성격 · 이형철근 범위 6~7
  ⇒ **내가 지금 할 수 있는 것은 0** — 다 남의 차례이거나 사용자 판단

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 06:19:53 +09:00
eomsangdonandClaude Opus 5 f898a3645e chore(tester): ㉯ 23 에 주인을 적음(랩탑 메인 22 · 랩탑 서브 1) · ㉰ 11 → 8 로 줄임
**① ㉯ 남의 몫 23 에 「누구·무엇을」 적음** — 장부 줄마다 `owner`·`owner_ask`
  · **랩탑 메인 22**
    – [주] 17: `md_notes` 의 이어짐 규칙(`_NOTE_CONT`)에 **「- 숫자.」 로 시작하는 [주] 안쪽 규칙**을
      더해 줄 것. 지금은 「- ①②」·「- -」·「※*·」만 이어짐으로 봐서 「- 4. 고철공제 : A=…」에서 끊김.
      ⚠ 새 절 제목과 가르는 것이 일 — 알맹이(콜론·등호) 없는 짧은 줄만 제목
    – 밑수 5(F0173·F0188·F0225·F0322·F0323): **md 밑수 읽기**를 넓혀 줄 것. 원문이 절 이름·본문·
      표머리에 적어 둔 자리를 md 쪽이 못 읽어 「마스터가 더 가짐」으로 뜸(마스터 값은 원문과 같음)
  · **랩탑 서브 1** — F0333: 몸 줄이 앞 표와 똑같음. **PDF ↔ md** 로 어느 쪽이 맞는지 짚어 줄 것
  ⇒ 셋 다 **넘겨받아 고쳐 주면 내가 반영할 것이 없음**(장부에서 저절로 빠짐)

**② ㉰ 11 → 8** — 셋은 사용자 판단이 아니라 **이름을 줄여 적은 것**이었음(값은 원문과 같음).
  원문 이름으로 고쳐 닫음 — 토량환산계수 「암괴나 호박돌이 섞인 모래」 둘 · 철근 복잡 예시 「교량의 슬래브」

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 06:03:06 +09:00
eomsangdonandClaude Opus 5 60199f7393 feat(data): 기계 원천 벌 추출기 — 8장 md → mach_base 를 기계 코드로 잡아 다시 뽑음
브레인 일감(마지막 병목). 코덱스가 8장 md 를 손질(뭉친 손료표 되살리기 · 8-4 운전경비 줄마다 풀기)했는데
자료가 앞 판 그대로였음. 품셈 벌(`_build_pum.py`)과 같은 병 — 뽑는 길이 저장소에 없었음.

- `resources/data_cost_input_value/_build_mach.py` — 절은 글(`8-3 기계손료`…)로, 자리는 **기계 코드**로 잡음
  · 한 칸에 코드가 여럿인 줄은 토막 수가 맞을 때만 읽고, 안 맞으면 지어내지 않고 알림·`parse_audit` 셈으로
  · 2단 머리(「시 간 당(10-7)」 + 상각비·정비비·관리비 계수) 그대로 읽음 · 규격 열이 둘·셋인 표(5202·5203)도 제자리
  · 값 안에 공백이 있는 규격 칸은 닫는 괄호로 가름(진동기 「전기식 …(0.75㎾) 엔진식 …(2.6㎾)」)
  · 사람 판단은 옛 벌에서 이어받음 — 조종원 배정 121 · 암석 보정 · 손으로 맞춘 연료 13 · 손질 사유 8 ·
    머리글 없는 기종 이름 7
- 옛 md(177d8844)로 돌리면 **자료의 숫자·규격과 어긋나는 자리 0** · 운전경비 원문 표 21개의 절까지 그대로
- 다시 뽑음 — 가격 613(값 그대로 · 뭉개진 이름 30 정리) · 손료 387 → 611(되살아난 표에서 221 코드) ·
  연료 214(코드 그대로)
-  금액 불변 — 직접공사비 5,983,724 · 합계 10,124,000 그대로(원가계산서 열세 칸 전부)
-  **연료 197 ↔ 214 밝힘 — 갈린 것이 정상임**. 원문 8-4 에 적힌 코드 303 =
  값이 ℓ/hr 인 201 + 사람이 맞춘 13(`parse_method`) + **주연료가 수가 아닌 21**(전기 `㎾`·`-` — 연료 벌에 안 실음) +
  한 칸에 뭉쳐 토막이 안 맞는 3줄 81. 곧 214 는 맞는 수이고, 197 은 대조 시험이 더 좁게 읽던 수였음
- `test_build_mach.py` — 자료가 md 와 같음 · 줄이 밀려도 값 그대로 · 뭉친 줄과 풀린 줄이 같은 값 ·
  2단 머리 읽기 · 토막 안 맞으면 안 지어냄 · 사람 손질 이어받음 · 사라진 코드 알림
- 곁 — 기초단가 대조 목록 기계 어긋남 127 → 3 · 이름표 손료 줄 수 387 → 611 · 코덱스 8-4 손질로 건설 품셈 벌
  4표가 바뀌어 `_build_pum.py` 로 다시 뽑음( 건설 공종 마스터 다시 짓기는 데스크탑 서브 몫)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-18 05:19:00 +09:00
eomsangdonandClaude Opus 5 f0d533d1a2 chore(data): 코덱스 8-4·[주] 손질 받아 다시 지음 — 금액 그대로 · 기계 자료만 재추출 대기
**금액 안 움직임** — 직접공사비 5,983,724 시험 통과 · 호표 675 그대로.

다시 지은 결과 — 산림·건설 밑수·형태 수치는 **그대로**(251/79 · 538/439 · 미판정 891).
코덱스의 8-4 전사가 `pum_const_2026.json` 에는 이미 반영돼 있었고, 갈래 편 수만 줄어듦
(건설 997/1,293 → 991/1,287 · 산림 365/627 → 360/620 — [주] 경계 손질 몫).

 **기계 자료만 아직 못 움직임** — 코덱스가 8-4 운전경비 92종을 md 에 전사했으나
  `mach_base_2026.json` 은 그 앞 판임(연료 코드 원문 197 ↔ 자료 214). 그 벌을 만드는 추출기가
  이 저장소에 없어 우리가 못 돌림 ⇒ 고칠 자리는 **기계 원천 벌 재추출**.
  장부에 사유·갈래(㉯ 남이 고쳐야 풀림)를 달아 여덟 줄 적음(조용히 안 보탬)

시험 상수 갱신 — 건설 갈래 편 1,293 → 1,287 · 공종 997 → 991 · 이름표 줄 수

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 04:24:18 +09:00
eomsangdonandClaude Opus 5 5cdf305619 feat(b08): 확인 대기 75건을 셋으로 가름(㉮41·㉯23·㉰11) · 「당」 없는 몫 꼴을 읽어 밑수 251
**① 확인 대기 가르기** — 「다 사유 있음」으로 뭉쳐 있던 것을 갈래로 나눠 **무엇이 진짜 할 일인지** 보이게 함
  ㉮ **영영 할 일 아님 41** — 「일당」은 품의 단위 · 작업조 표(넣으면 호표가 사라짐) · 「인/조」 ·
    사람 판정으로 닫힌 표 성격 7 · 비목 구성표 7 따위. **집계에서 갈라 둠**(다음 바퀴에 또 안 세어짐)
  ㉯ **남이 고쳐야 풀림 23** — [주] 17(코덱스 md 읽기 넓히기) · 밑수 5(마스터가 맞고 md 가 덜 읽음) ·
    F0333 원문 md 의심(코덱스 PDF 대조)
  ㉰ **사용자 판단 필요 11** — ⚠ 아래 셋이 제근 9-21 같은 자리
    · F0046·F0068 마스터 밑수가 「1인」 — 「인」은 밑수가 아니라는 2026-09-09 판정과 어긋남
    · F0076 「1km」는 반쪽 — 원문은 「인/1일 1km당」으로 분모가 둘
    · 그 밖 부록 표 셋(떼어 낼지) · F0405 증가율표 성격 · 토량환산계수 2 · 이형철근 범위 · rebar 1

**② 「당」 없이 몫으로만 적힌 자리를 읽게 함** — 「(인/100㎡)」·「(인/ha)」·「(인/㎡)」·「(대/ton)」.
  ⚠ 이 구멍으로 다섯 표가 「원문 부재」로 **잘못 세어지고 있었음**(실은 원문이 적어 둔 것).
  가림을 넓히고 그 다섯을 사람 판정으로 채움 ⇒ 밑수 확보 246 → **251** · 미확보 84 → 79
  (원문 부재 69 + 미판독 10)

시험 — 장부 비교에서 **사람이 적은 메모 칸**(`why`·`class`·`class_why`)을 빼도록 함(자료가 아니라 설명)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 04:08:13 +09:00
eomsangdonandClaude Opus 5 32140059f2 feat(b08): 미판독 12 → 9 — 분모가 또렷한 셋 채움(「ha당 소요량」·「조/ha당」) · 확보 246
브레인 3바퀴 차례 ③. 미판독 열둘을 원문에서 하나씩 열어 봄.

- **채운 셋** — F0050·F0052 페인트·마킹테이프 「재료비 (ha당 소요량)」 · F0224 페르몬 유인트랩
  「소요인력(조/ha당)」. 다 **1ha당**. 밑수 확보 243 → 246 · 미확보 87 → 84
  ⚠ 자동 판정을 넓히지 않고 표마다 적음 — 숫자 없는 「<단위>당」을 받으면 규격 칸
    (「(무한궤도,0.7㎥)」)이 밑수로 둔갑함(옛날에 다섯 건 걸렸던 병)
- **안 채운 아홉은 다 거절 자리** — 「(단위 : 인)」 셋은 2026-09-09 오독 판정 자리(8-6-2·8-6-3) ·
  「㎥/1인/1일」·「1ha당, 100본당」·「1대 1조, 시간당」·「인 당」은 분모가 둘 이상
- **더하기만** — 원문 셀 453/453 그대로 · 밑수 바뀐 표 셋 다 빈칸에서 참
-  reference 는 재검사에서 **오분류 0** 으로 닫힘(실값 13 옮김 · 설계 규격표 14 유지)

 **브레인 판정 하나 — [주] 낱말 뜻이 갈림**(마스터가 더 가진 17건)
  md 쪽 읽기는 이어짐을 `- ①②`·`- -`·`※*·` 로만 보아 「- 4. 고철공제 : A=1㎥×0.008×…」 같은
  **번호 달린 규칙**에서 끊음. 마스터는 그것을 [주]로 봄.
  ⚠ md 규칙을 그대로 쓰면 **2바퀴에서 잘렸다가 3바퀴에 되살린 고철 공제 50kg/㎥ 가 다시 사라짐.**
  그래서 마스터를 안 깎고 장부에 사유와 함께 적어 둠

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 03:50:04 +09:00
eomsangdonandClaude Opus 5 c3592b250c feat(b08): 밑수 미확보를 「원문 부재 75」와 「미판독 12」로 가름 · 강관비계 공㎥당 채움
브레인 판정(안티그래비티 3바퀴 — 96 → 실질 43). **미확보 88 중 76 은 고칠 것이 아님** —
원문에 밑수가 아예 없는 것이라 채우면 없는 값을 지어내는 꼴.

- 미확보 줄마다 `why` 를 붙여 **자동으로 가름** — 표 머리·첫 줄·표 위 여섯 줄에 「…당」·「단위」가
  적힌 괄호가 있으면 「미판독」, 없으면 「원문 부재」. ⚠ 목록만 가르고 **값은 안 채움**
  ⇒ 산림 87 = **원문 부재 75 + 미판독 12** · 건설 439 = 원문 부재 308 + 미판독 131
  ⇒ 다음 바퀴에 75 가 또 「할 일」로 세어지지 않음(집계에도 `basis_absent_in_source`·`basis_unparsed`)
- 미판독 가운데 **F0366 강관비계**만 채움 — 원문 L6634 「(단위: 공㎥당)」.
  「공㎥」(공간체적)가 자동 판정 단위 목록에 없어 못 읽던 자리. ⚠ 목록을 넓히면 규격 칸이
  밑수로 둔갑하므로 그 표만 사람 판정으로 둠 ⇒ 확보 242 → 243
- ⚠ 안티그래비티가 채울 수 있다 한 넷(F0251·F0304·F0362·F0379)은 **원문을 열어 보니 단위줄이
  없음** — 채우지 않고 사유로 남김(억지로 채우면 지어내는 꼴)
- 이름표에 `why` 칸 · 지문·줄 수 갱신

⚠ 건설 기계 쪽은 코덱스의 8-4 행 병합 복원을 기다려 한 번에 — 지금 손대지 않음

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 03:22:49 +09:00
eomsangdonandClaude Opus 5 88a9df01a5 feat(b08): 원천 벌 다시 뽑힌 뒤 마스터 다시 지음 — 밑수 238→242 · 건설 새 표 열 · 5-26 밑수 992㎡
랩탑 메인의 추출기(줄 번호를 안 쓰고 글자로 맞대는 쪽)가 서서 원천 벌이 다시 뽑혔음.
막혀 있던 「다시 짓기」를 그 위에서 돌림.

- 산림 밑수 확보 **238 → 242** · 미확보 92 → 88 (5-19-1 · 5-27 · 5-28-1 · 9-21 되살아남)
- 건설 표 **2,192 → 2,202** — 코덱스가 되살린 제8장 손료표 열(C2193~C2202) · 표 귀속 2,202/2,202
- 건설 [주] 실린 표 1,106 → 1,110 · 형태 미판정 881 → 891(새 표 열이 미판정으로 들어옴)

⚠ **5-26-1·2·3 밑수를 사람 판정 100㎡ → 원문 992㎡ 로 물림**(브레인 판정)
  원문 L2878·L2892·L2905 가 「(인/992㎡당)」. 앞서 100㎡ 는 **머리가 소실돼 원문을 못 읽던 때**
  흔한 밑수로 메운 값이었음 — 이 고리의 잣대가 「원문이 정본」이라 사람 판정이 물러남.
  ⚠ 100 과 992 는 열 배 가까이 달라 **금액이 크게 갈리는 자리** — 사유를 코드와 시험에 남김
  (992㎡ 는 「0.1정(1반)」에 해당하는 옛 면적 단위)

시험·이름표 손질 — 지문 갱신 · 건설 표 수 2,192 → 2,202 · 이름표 줄 수(원천 2,202 · 미확보 88 ·
건설 미판정 891) · 「사람 판정은 원문이 나오면 물러난다」를 시험으로 못박음

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 02:30:49 +09:00
eomsangdonandClaude Opus 5 1614c545bf feat(data): 원천 벌 추출기 — 품셈 md → pum_forest·pum_const 를 줄 번호에 안 기대고 다시 뽑음
브레인 일감(막힌 자리). 코덱스가 md 에 줄을 보태자 원천 벌의 옛 줄 번호가 밀려 산림 밑수가 238 → 105 로
떨어졌고, 머리글로 다시 맞추니 12장 같은 머리글 이웃 표를 집어 직접공사비가 움직였음. 추출기가 저장소에 없었음.

- `resources/data_cost_input_value/_build_pum.py` — md `|` 표를 칸 글자 그대로(2단 머리 안 펼침)
  · 표 번호·절은 옛 벌에서 이어받음 — ① 글자 같은 표를 차례 지키며 맞댐(이웃으로 못 건너뜀)
    ② 맞은 표 사이 수가 같으면 같은 차례끼리(글자만 고쳐진 표) ③ 다르면 그 안 머리 같은 표끼리
  · 새 표는 가장 큰 번호 다음 · 사라진 표는 번호 버리고 알림 · 줄 번호·sha256 은 새 md 에서
  · 옛 md(177d8844)에 돌리면 산림 476 · 건설 2192 표가 원천 벌과 글자까지 같음(표 번호·절·줄·칸)
- 다시 뽑음 — 산림: 줄만 밀린 351 · 글자 바뀐 표 0 / 건설: 줄만 밀린 199 · 새 표 10(C2193~C2202 ·
  코덱스가 뭉친 글을 표로 되살린 제8장 손료표 · 뒤 번호 안 밀림)
-  금액 불변 — 다시 뽑고 공종 마스터를 다시 지어 원가계산서를 잼: 직접공사비 5,983,724 → 5,983,724 ·
  총원가 9,203,637 · 합계 10,124,000 그대로(원가계산서 열세 칸 전부 같음 · `test_work_item_key_gate`) · 열쇠 새 발급 0
  · 이 커밋만으로는 원문 맞대기 둘이 빨강(마스터 줄 번호가 옛 md 기준 — 받기 전부터 빨강) · 마스터 다시 지으면 초록
  · ⚠ 마스터 다시 짓기는 데스크탑 서브 몫이라 커밋에 안 넣음 — 지으면 밑수 238 → 242 · 미확보 92 → 88
    (코덱스가 되살린 밑수 줄: 5-19-1 ㎡ · 5-27 10㎡ · 5-28-1 100㎡ · 9-21 100㎡) · 지문 시험은 그때 갱신
- `test_build_pum.py` — 원천 벌이 md 와 같음 · 줄 37 보태도 번호·절 그대로 · 표가 끼어도 뒤 번호 안 밀림 ·
  12-17-1 같은 머리글 표 가운데를 고쳐도 제 번호 · 빠진 표는 알림 · 2단 머리 안 펼침
- 원문 맞대기 알려진 목록을 마스터 다시 지은 뒤 모습에 맞춤 —
  ⚠ 5-26-1·2·3 코덱스 복원 「(인/992㎡당)」 ↔ 마스터 사람 판정 100㎡ 어긋남(사람 판단 필요) ·
  5-28-2 「(일 당)」 은 작업조 표라 마스터가 일부러 비움

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-18 02:15:05 +09:00
eomsangdonandClaude Opus 5 51bd93ebf3 test(z01): 기초단가 원천 시험 — 손료표 복원 뒤 멈추던 것 · 줄 번호 열쇠를 표 차례·코드로
코덱스 2단 머리 복원(42073a6d)으로 손료표 13개는 풀림. 남은 둘에서 시험이 멈추고(15건 오류) 있었음.

- 5220 소형브레이커 · 7995 배관파이프 — 머리 「시 간 당(10-7)」 은 표 위 글줄로 돌아왔으나 표에 계수 칸이
  없음(원문에 값 없음) → 멈추지 않고 「손료 계수 칸 없는 표」 로 못 보는 자리에 남김
- ⚠ 목록 열쇠·원표 맞대기가 줄 번호에 기대고 있었음(`손료 줄 L2683` · 운전경비 원표를 `line` 으로 찾음)
  → md 가 고쳐질 때마다 통째로 밀림. 코드·8-4 안 표 차례로 바꿈
- 복원으로 원문에서 새로 읽히는 손료 줄 → 자료에 없는 기종 8 묶음(0230·3601·6532·6801·7101·7120·7830·9060)
  · 원문 손료 코드 586 → 608 · 뭉개진 손료 글 11 이 모두 표로 돌아와 못 봄 목록에서 빠짐

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-18 01:50:31 +09:00
eomsangdonandClaude Opus 5 d466bf67cf fix(data): 4바퀴 기초값 — 각재 비율 지어낸 것 뺌 · 손료 칸 밀림 · 전문공사 300억 이상 · 제조 노임 상위업종
브레인 4바퀴. 원문을 열어 하나씩 확인한 뒤 고침. **값(숫자)은 원문 그대로, 자리·이름만 맞춤.**

**① 거푸집 「각재」 비율 여섯 — 지어낸 것이라 뺌**
  원문 12-4(F0336)는 **「합 판」 한 줄에 두 열**(재료별% · 노무비%)을 적고 「각 재」 줄엔 비율이 없음.
  각재 자리에 있던 값이 **합판 줄의 노무비 열과 한 자도 안 다름** — 다른 열을 갖다 쓴 것이었음.
  ⇒ `plywood` → `plywood_material_pct` · 노무비 열은 `plywood_labor_pct` 로 제자리 ·
    각재는 `timber_absent` 로 **비워 두고 사유**(옛 값도 함께 남김)

**② 기계 손료 5202·5203 칸 밀림** — 규격 열이 둘·셋인 표라 한 칸(5202)·두 칸(5203) 밀려
  상각비율 자리에 내용시간(800·4,000)이 들어가 있었음. 원문 건설 8장 L2617~2633 대로 여덟 줄 맞춤

**③ 전문공사 일반관리비 300억 이상** — 마지막 구간이 「100억-300억 미만」으로 닫혀 **300억 넘는
  전문공사가 어느 구간에도 안 걸렸음.** 원본 XLSX 대로 300~1000억 · 1000억 이상(둘 다 4.5%)을 더함.
  ⚠ 대조 시험의 구간 지도(`SPECIAL_PRICE`)에도 그 둘이 없어 원문 쪽에서도 안 잡히고 있었음 — 함께 채움

**④ 제조 노임 115~123 상위업종** — 「품질 관리 / 하위업종」인데 하위만 담아 반쪽이었음(아홉 줄).
  원문(중소기업중앙회 조사표)대로 채움. 노임 값은 안 건드림

**⑤ 덤프 토사 E0 는 0.60 이 맞음** — 원문 10-12-1 은 식에 `E0=0.75` 를 적지만 바로 아래 [주]⑤
  「굴착기의 작업능력 산정 비교」 표가 `E0 | 토사 | 0.60(불량)` 비고에 **「임 도」** 라고 못박음. 근거를 자료에 적음
**⑥ 이형철근** — 원문이 범위 「6~7」로 적은 것을 `alt_rate_range` 로 함께 실음(쓰는 값은 7 그대로)

⚠ 기계 이름 뭉개짐·손료표 md 변환 오류는 **코덱스가 md 를 고치는 중**이라 손대지 않음

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 01:18:24 +09:00
eomsangdonandClaude Opus 5 635fcbfc84 Merge remote-tracking branch 'origin/main_laptop_1' into sub_desktop_1 — 자동 대조 장부에 비목 구성표 여섯을 사유와 함께 적음(sub_requirement 판정)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 01:03:36 +09:00
eomsangdonandClaude Opus 5 177d8844c6 test(z01): 기초단가 다섯(노임·기계·자재·유가·제비율) 원천 맞대기 — 못 보는 자리는 갈래마다 목록으로
브레인 일감 ③ 뒤 절반. 자료 `sources[].path` 가 가리키는 원천(노임 md 둘 · 건설 품셈 제8장 md ·
나라장터 json · 오피넷 json 둘 · 조달청 제비율 xlsx + 국민연금법 xml)을 따로 읽어 칸마다 맞댐.

- 맞댄 양 — 노임 건설 132×5 · 제조 129×6 / 기계 가격 613 · 손료 387×9 · 연료 197×4 · 연료표 21 칸 ·
  조종원 규칙 3 · 암석 할증 4 / 자재 6,999×13 / 유가 전국 2×3 · 시도 17×2 / 제비율 233 값
- 어긋남 → 알려진 목록(`fixtures/base_prices_source_known.json`) 에 까닭과 함께
  · ⚠ 기계 손료 5202·5203(8 코드) 칸 밀림 — 규격 칸이 둘·셋인 표라 내용연수 자리가 비고 상각비율에 800·4,000
  · 기계 — 내용연수 빠짐 9 · 코드 「-0003」 표기로 3201-0003 빠짐 · 자료에 없는 기종 묶음 32(199 코드) ·
    이름에 뭉친 표 글이 들어가거나 비었거나 앞 기종 이름을 물려받은 코드 약 60
  · 제비율 — 전문공사 일반관리비 4.5% 가 원문 병합 칸으로 300억 이상까지인데 자료는 100억~300억까지만
  · 노임 제조 115~123 업종 이름에서 상위 「품질 관리」 빠짐
  · 자재 0 · 유가 0 · 기계 가격 값 0
- 못 보는 자리 `*_blind` — PDF→md 변환 틀림 · 한 줄로 뭉친 손료표 11 · 값과 코드가 1:1 로 안 맞는 연료표 4 ·
  파생 시간당 손료계수 · 조종원 배정 121(사람 판단) · 붙어 버린 암석 할증 수 · API 스냅숏(공표 원본 아님) ·
  출처 없는 부가세·처리 규칙 · 제비율은 조달청 요약표(국민연금만 법령 대조)
- 원천 쪽 이상 — 제8장 9010 손료표 내용연수 「3,0000」 오기 · 가격표 머리 「가격(₩)」 인데 8-1-6 은 천원 ·
  제조 노임 111 상하위 표 「**94,994」 · 시도 유가 07·16 이 「전남광주(20)」 한 줄
- 값을 하나씩 바꿔 16/16 빨강 · 원천 쪽 값 바꿈 · 고쳐짐 · 새 칸 · 줄 삭제도 잡음

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-18 01:01:19 +09:00
eomsangdonandClaude Opus 5 fdc81e7520 test(z01): 기초데이터 열(품셈 근거) 원문 맞대기 — 칸 단위 대조 · 못 재는 칸은 까닭과 함께
브레인 일감 ③ 앞 절반. 기초값 열다섯 중 품셈 원문에서 옮겨 적은 열을 원문 표와 칸 단위로 맞댐
(토량환산 · 자재 할증 · 거푸집 전용 · 철근 갈래 · 목구조 갈래 · 돌쌓기 경사·뒷길이·돌 종류·갈래 · 기계 작업량).

- 원문 = 산림 품셈 md 표(F0004·F0008~12·F0040·F0336·F0395·F0407·F0412·F0413·F0408·F0410·F0419·F0440 ·
  12-3 [주]①) · 10-12 덤프 식 글의 기호 자리(`t3=`·`γt=`·`E0=`) · 건설 품셈 제8장 md 불도저 속도·삽날
- 어긋남 7 → 알려진 목록(`fixtures/base_data_source_known.json`) 에 까닭과 함께
  · ⚠ 거푸집 전용 비율 「timber(각재)」 여섯 값 = 원문 12-4 합판 줄 「노무비(%)」 열 — 원문엔 각재 비율이 없음
  · 이형철근 주철근 원문 「6-7」 → 7 · 덤프 토사 E0 본문 0.75 대신 표 0.60 · 발파암 운반 E 원문에 없음(0.9 이어 씀)
  · 이름 줄임 3(「암괴나 호박돌이 섞인 모래」 L·C 둘 · 「교량의 슬래브」)
- 칸마다 「잰다 · 못 잰다(까닭) · 글」 중 하나로 적힘 — 새 칸이 생기면 빨강
  · 못 잼: 교본 값(뒤채움 몫 · 전면 기울기) · 건설품셈 참고자료(원문 md 없음) · 프로그램 이음 칸 · B09 계산값
- 열마다 값을 하나씩 바꿔 빨강 확인 · 못 잡는 것 하나: 철근 예시는 글 포함만 봄(「교량」처럼 원문에 있는 낱말을 보태면 통과)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-18 00:42:02 +09:00
eomsangdonandClaude Opus 5 92fc6d3159 test(b08): 원문 맞대기 표 성격 사각 좁힘 — 품 표 276 → 305 알아봄 · 못 보는 12 와 비목 구성표 7 을 목록으로
브레인 일감 ①②. 시험이 못 보는 자리를 좁히고, 못 좁히는 자리는 까닭과 함께 남김.

- ① 표 성격 — 품 표 317 중 못 알아보던 41 의 원인을 가름
  · 넓힘: 단위 붙은 수(`10ℓ`·`5인/km`) · 범위 값(`3.3∼5.9`) · 「인력구분」「인원(명)」「시멘트(kg)」 표지 ·
    단위만 늘어선 줄(`| | ㎥ | ㎥ |`) → 305 알아봄(성격이 뒤집히면 빨강 — 10가지 뒤집어 확인)
  · 못 봄 12 → 목록 `form_blind` 에 까닭: 머리 소실 4 · 값 칸 비어 있음 4 · 뭉친 칸·식 글 2 ·
    연료표 1(F0046 — 같은 모양 셋은 참조인데 이것만 품) · 증가율표 1(13-4-1)
  · ⚠ 12-1-3 한중콘크리트 표(F0333)는 머리가 「온도 품종 0℃때…」인데 몸 줄이 앞 시멘트 표와 똑같음 — 원문 md 의심
  · 표지를 넓혀 새로 걸린 참조표 둘(8-6-1 F0227 · 13-4-4 F0410)은 사람 판정 참조라 까닭 달아 목록에
- ② 「재료비의 5%」 꼴 — 원문에 표 전체가 비목 구성(`재료비 | 설치비 재료비의 5%`)인 것은 7표(12장)
  · 모양은 시험으로 잡힘(첫 칸이 모두 비목 이름) · 참조냐 품이냐는 원문으로 못 가림 → `cost_rule` 「사람이 봐야 함」
  · 같은 꼴인데 12-29 만 requirement, 나머지 6 은 reference — 목록에 드러남
  · 「…비의 N%」 가 든 나머지 15표는 품 표 안의 한 칸(잡품 「주재료비의 5%」 · 감률 「굴취품의 20%」)이라 따로 안 셈
- 목록 칸 `why`(사람이 적은 까닭)는 맞대기에서 뺌 · --prune 도 까닭을 지킴

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-18 00:41:50 +09:00
eomsangdonandClaude Opus 5 1414c4d3cd fix(b08): 3바퀴 — 잘린 계수 34 되살림 · 못 읽던 [주] 세 꼴 · 실값 13표를 sub_requirement 로
브레인 3바퀴 차례대로.

**① 잘린 진짜 계수 되살림** — 2바퀴에서 34건이 함께 잘렸던 자리. 까닭 둘이었음:
  · 「> 【산출 예시】」 인용이 [주] 중간에 끼면 거기서 끊었음 → 뒤에 오는 ⑤⑥ 가산·할증이 사라짐
  · 「- 4. 고철공제 : A=1㎥×0.008×…」처럼 **번호를 달고 이어지는 진짜 규칙**을 절 제목으로 봤음
  ⇒ 끊는 자리를 **구조**(다음 절 · 새 표)로만 두고, 그 사이는 **건너뛰되 안 끊음**.
    제목은 **알맹이 없는 짧은 줄**(콜론·등호·백분율 없고 30자 이하)일 때만.
    ⚠ 「숫자가 있으면 제목 아님」으로는 못 가름 — 「- 3. 뿌리제거(100본당)」이 제목임(두 번 겪음)
  되살아난 것 — 고철 공제 50kg/㎥ · 위험목 인력 100% 가산 · 벌채 관목 30%·조재 20% ·
  집재 주행곤란·잔존목 10% · 할인할증 줄 여럿

**② 못 읽던 [주] 세 꼴** (랩탑 메인이 짚음)
  · 별표로 시작하는 줄 — 이어짐 글머리에 `*` 를 넣음
  · 인용 산출예시 뒤에 오는 줄 — ①에서 함께 풀림
  · **긴 표에 붙은 [주]** — 줄 수 제한(48)이 긴 표를 잘랐음 → 구조로만 끊고 수는 안전망으로만(400)
  ⇒ 산림 notes 표 306 → 309 · 줄 1,082 → 1,154

**③ 실값인데 「참고」로 빠져 있던 표 13** → `sub_requirement`
  ⚠ `requirement` 로 올리지 않음 — 상위 공종이 이미 세는 몫을 두 번 셈
    (F0393 은 `B09_Estimation_Euroform`, F0408·F0410 은 B08 표가 이미 직접 읽음).
    `reference` 면 금액이 0원 증발 ⇒ 「값은 실값, 자리는 상위 공종 종속」 딱지를 둠(안티그래비티 권고)
  보고서가 27 중 19만 가려 놓아 남은 여덟을 훑어 **F0338(콘크리트 포장 인력 · 포장공 3인·시공량 100/150㎥)**
  하나를 더 찾음. 나머지 열넷은 설계 규격·조건 분류·배합비율 조견표라 `reference` 가 맞음

자동 대조 장부(`work_item_master_source_known.json`) 손질 — 고쳐진 줄은 `--prune`,
남은 어긋남은 **사유를 달아** 적음. ⚠ 남은 [주] 어긋남은 다 **마스터가 더 가진 쪽** —
고칠 자리는 마스터가 아니라 **원문 md 쪽 추출**임(인용 뒤·별표·긴 표에서 아직 끊김)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 00:35:00 +09:00
eomsangdon 987b898caf wip(b08): 3바퀴 — 잘린 계수 되살림·sub_requirement 12·장부 갱신(병합 전 보관) 2026-09-18 00:23:06 +09:00
eomsangdonandClaude Opus 5 bb091dc029 test(b08): 원문 맞대기 [주] 읽기 — 「> 산출 예시」 뒤에 이어지는 [주] 줄도 봄 · 12표 새로 드러남
안티그래비티 2바퀴 보고(c11bb922)의 「잘린 계수」 4-3 ⑥ 을 시험도 못 잡고 있었음 — 원문이
`[주]① … ④` → `> 【소요인력 산출 예시】` → `- ⑤ … ⑥` 꼴이라 예시 덩어리에서 마스터와 시험이 같이 멈춤.

- 시험 읽기: [주] 도중의 `>` 줄은 건너뛰고 이어 봄(예시 글은 싣지 않음)
- 마스터에서 빠진 [주] 줄이 있는 표 12 새로 드러남 → 알려진 목록 [주] 13 → 25
  · 4-3 위험목 베기 ⑥ 인력으로만 제거 시 보통인부 100% 가산
  · 7-11 ④ 주행곤란 10%·5% · ⑤ 잔존목 밀도 10%·5% 할증
  · 할인·할증 반영 줄 — 3-6 · 6-6 · 7-2 · 7-4-2 · 7-5-2 · 7-7-2 · 7-15-2
  · 그 밖 2-1-5 · 2-2-1 · 7-12

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-18 00:21:51 +09:00
eomsangdonandClaude Opus 5 e5a1a4b6bf test(b08): 원문 맞대기 알려진 목록 갱신 — 데스크탑 서브 [주] 고침 38건 지움 · 작업조 표 밑수 5 올림
받기(32c4c5cf·c3da333e) 뒤 시험이 곧바로 잡은 것을 목록에 반영.

- [주] 51 → 13 — `--prune` 으로 고쳐진 38건 지움. 남은 13:
  · 마스터가 `*` 줄에서 끊음 — 4-2-1 ③~⑧(관목 30%·규격재 20% 할증) · 1-4-3 · 5-11 · 9-7-1 · 9-7-2 · 12-17-1
  · 긴 표 아래 [주]를 놓침 — 1-2-2 · 14-2
  · [주]가 없는 표가 뒤 표의 [주]를 받음 — 5-3-4 · 5-3-5 · 7-11 · 10-13-2 · 12-38-2
- 밑수 26 → 31 — 12-7-1·12-7-2·12-8·12-38-3·13-16-2 는 일부러 원문과 다름(작업조 표 · 밑수가 시공량 열 · c3da333e)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-18 00:06:56 +09:00
eomsangdonandClaude Opus 5 71c5dc2583 test(b08): 원문 md ↔ 마스터 맞대기 시험 — 안티그래비티 손 대조를 자동으로
브레인 일감. 원문 `(산림청고시 제2025-82호) 산림사업 표준품셈.md` 를 **빌더 코드 없이 따로 읽어**
`pum_forest_2026.json`·`work_item_master_2026-01-01.json` 과 맞댐. 어긋나면 표 번호·줄·칸까지 찍음.

- 0 이어야 하는 것 — 표 수·차례(476) · 셀 값 글자까지(원본 헤더·줄 · 마스터 condition_note·raw_row). 지금 0
- 알려진 어긋남 목록(`fixtures/work_item_master_source_known.json`) 밖에서 새로 어긋나면 빨강
  · 표 자리 3 — 〔부록 1~3〕 표 F0452·F0453·F0454 가 14-2 근주이식에 붙음
  · 밑수 26 — 원문 괄호가 있는데 마스터 비음 13(4-4 「(인/100㎡)」 · 12-19 「(단위: 공㎥당)」 …) ·
    마스터에만 있음 13(3-2 「인/1일 1km당」 분모 둘인데 km · 사람 판정 머리 소실 표 · 「(단위 : ㎥)」 …)
  · [주] 51 — 마스터가 40줄 넘는 표의 [주]를 놓침(1-2-2) · `*` 줄에서 끊음(4-2-1 ③~⑧ 할증 빠짐) ·
    본문 소제목 `- 2. …` 을 [주]로 실음 · 다음 표의 [주]를 끌어옴
  · 표 성격 11 — 품 표 표지(직종·소요인력·수량 단위 + 숫자)가 있는데 reference·coefficient
- 목록에 있는데 고쳐졌거나 모습이 바뀐 것도 빨강 — `--prune` 은 지우기만 함(새 것은 안 보탬)
- 안티그래비티 1바퀴 96건과 겹침 — 밑수 4 · 표 성격 5. 나머지는 이미 반영됐거나(데스크탑 서브 16) 보고 표 번호가 한 칸 밀려 있었음
- ponytail: 품 표 알아보기는 317 중 276 — 값이 범위거나 머리가 여러 줄로 갈린 표의 성격 뒤집힘은 못 잡음

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 23:51:14 +09:00
eomsangdonandClaude Opus 5 aeb18266bd fix(b09): 총액 1,000원 미만 버림을 기본으로 켬 · 절사 자동보정 진동 고침
근거 — 산림청고시 제2025-82호 「금액의 단위표준」 「설계서의 총액 · 원 · 1,000 · 미만버림」.
실무 6건 원가계산서가 여섯 다 000 으로 끝나는 것이 증거.

· 기본 켬 — cut_basis="grand_total" · cut_unit_krw=1000
· 조용히 안 깎음(2026-09-08 합의의 정신) — 이윤 조정액 줄과 결과 메모에 고시 번호를 달고
  기준 입력판 11 에서 끌 수 있음을 함께 적음 · 칸 밑 안내도 고쳐 씀
· 끄는 값을 none 으로 바꿈 — 빈 값은 저장이 안 돼 기본으로 되돌아가 끌 수가 없었음
· 진동 고침 — 걸음마다 ÷1.1(종전엔 첫 걸음만). 이윤 1원이 총공사비 1.1원이라
  잔차를 그대로 빼면 경계를 지나침(울진 신설 654→999→900→910→909…)
· 안 앉으면 「끝자리 N원이 남음」을 메모로 보임
· 실무 6건 전수 000 판정을 새 벌로 지킴

곁 — tmp/tests/test_b09_cost_fixtures.py 를 resources/tester/ 로 옮김(픽스처 포함).
     tmp 쪽 사본은 안 지움 · 겹침은 파일 머리에 적음.
     기본이 바뀌어 깨진 남의 시험 6건은 「안 자른 값」 자리에 cut_basis="none" 을 넣어 고침.

전체 시험 1782 통과 · 28 건너뜀.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Prk9BCHG1EMAywk9k8wegA
2026-09-14 09:40:24 +09:00