Commit Graph
53 Commits
Author SHA1 Message Date
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 36ff581a1e chore(data): 새로 받은 원문(dev 7 커밋)으로 다시 뽑음 — 금액 그대로
코덱스·랩탑 서브가 푼 원문(건설 8-2 시공능력 · 8-4-9 해상기계 · 8장 손료 이름 · 작업효율 E ·
산림 13-4-4 비고)을 받아 원천 벌·마스터를 다시 뽑음. 손으로 고친 값 없음.

- 건설 표 2,270 → 2,272 · 줄만 밀린 표 517 · 글자 바뀐 표 31(원문 손질분)
- 건설 공종 축 1,484 → 1,499 줄(공종 1,044 → 1,045) · 건설 갈래 576 → 588 · 밑수 미확보 437 → 439
- 산림은 그대로 — 갈래 337 · 형태 미판정 0 · 밑수 확보 251
- 못박은 수·이름표 줄 수·열쇠 지문 갱신
-  금액 불변 — 직접공사비 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 11:08:07 +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 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 e5fbbeae22 fix(data): 기초값 고침에 딸린 이름표 채움 · 제비율 구간 수 218 → 220
- 새 칸·값 묶음 열넷에 한글 이름 — `alt_rate_range`·`plywood_material_pct`·`plywood_labor_pct`·
  `timber_absent`·`loading_efficiency_basis`·`specialty_note`·`industry_note`·`basis` 따위
- Z01 제비율 줄 수 218 → 220 — 전문공사 일반관리비 300억~1000억·1000억 이상 두 구간을 채운 몫

⚠ **다시 뽑기는 아직 못 함 — 원천 벌 재추출이 먼저임** (아래 근거)
  · 코덱스가 md 를 고치자(줄 아홉 보탬) `pum_forest_2026.json` 이 들고 있는 **옛 줄 번호가 밀려**
    본문에서 밑수를 못 찾아 산림 밑수 확보가 **238 → 105 로 떨어졌음**
  · 줄 번호를 머리글로 다시 찾게 해 봤으나(238 → 243), 12장에 「구 분 | 적 용 | 비 고」 머리글이
    수두룩해 **이웃 표를 집어 밑수가 표끼리 돌아갔음** — 직접공사비가 5,983,724 → 5,811,903 으로
    **조용히 움직였음.** 첫 줄까지 맞대 좁히면 이번엔 218 로 더 떨어짐(원천 벌 셀이 md 와 다름)
  ⇒ 앵커링을 물리고 **옛 산출을 그대로 둠**(238/92). 고칠 자리는 마스터가 아니라
    **`pum_forest_2026.json`·`pum_const_2026.json` 을 고친 md 에서 다시 뽑는 것**임
  ⚠ 코덱스의 md 손질로 `test_base_prices_source_match` 가 15건 오류 —
    손료표 머리글 「시간당(10-7)」 을 못 찾음(그 표를 읽는 쪽은 메인·코덱스 몫)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 01:42:19 +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 6bd45b0cb4 feat(b08): 원문 대조 밑수 60건 반영 — 16 채움 · 왜곡 1 고침 · 나머지는 사유로 남김
브레인 일감 ①. 안티그래비티 전수 대조 보고(02544795)의 `item3_basis` 60건을
**하나씩 원문 줄을 열어 확인**한 뒤 반영. 값(숫자)은 한 칸도 안 건드림(원문 셀 453/453 그대로).

- **채움 16** — 원문 괄호가 분명하고 **분모가 하나**인 것만
  (3-8 드론 영상 ha · 10-7-4·10-8 기·일 · 12-7·12-8 일 · 13-8 ㎡ · 13-14 개 …)
- **왜곡 고침 1** — 13-10-2 윈치말뚝 박기: 원문 L7489 가 「(단위: 1일당)」인데 「개」로 서 있었음
- **거절 27 + 확인 뒤 기각** — 사유를 코드 주석에 남김
  · ⚠ 보고가 「인」을 밑수로 적은 셋(F0228·F0229·F0230)은 **2026-09-09 에 오독으로 판정된
    바로 그 표**(8-6-2 드론방제·8-6-3 지상방제) — 안 넣음
  · 분모가 둘인 자리(3-2 작업로 선정 「인/1일 1km당」 · 8-11 「1대 1조, 시간당」) — 반쪽은 안 적음
  · `coefficient`·`reference` 표는 밑수가 없음 · 「%」·「회」·「분/1회」·「공㎥」·「인/조」는 단위가 아님
- **보고가 틀린 자리 둘** — F0223 은 원문이 「100본/ha당」이라 마스터(ha)가 맞고,
  F0235 는 표머리가 「소요인력(인/본당)」이라 마스터(본)가 맞음. 보고대로 고쳤으면 뒤집힐 뻔했음

밑수 확보 227 → 243(미확보 103 → 92) · 지문 한 번 갱신(더하기 16 + 왜곡 고침 1)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 22:44:29 +09:00
eomsangdonandClaude Opus 5 b1db01bf9b Merge remote-tracking branch 'origin/안티그래비티' into sub_desktop_1
산출은 저쪽 것으로 다시 짓고, 내 쪽 시험 파일(열쇠 장부)은 내 것을 남김
(저쪽은 form 미판정 14 판정 전 판이라 70줄이 빠져 있었음).

- 이름표 — 산림 형태 미판정이 0 이 되어 그 표가 값 묶음으로 내려감(표 102 → 101)
- 갈래 다듬어진 줄 14 → 70(저쪽 이름 다듬기가 들어옴) · 갈래 332 그대로
- 지문·줄 수 다시 맞춤(밑수 미확보 산림 103 · 건설 439)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 22:35:19 +09:00
eomsangdonandClaude Opus 5 e8484611f7 feat(b08): 산림 형태 미판정 14 → 0 — 안티그래비티 원문 대조 판정을 자료에 넣음 · 밑수 5도 함께
브레인 일감 1. `산림품셈_form_미판정_14개_원문대조_규명.json`(안티그래비티)을 기존
사람 판정 자리(`FORM_JUDGMENTS`)에 실음 — 머리 소실 9 · 혼합 3 · 공식 1 · 글값 1, 전부 금액 대상.

- 형태 — 소요량형 9 · 생산량형 3 · 계수 2. **산림 미판정이 0 이 됨**
  ⚠ 안티그래비티가 적은 `formula` 는 낱말을 새로 만들지 않고 뜻이 같은 `coefficient` 로 둠
    (받는 쪽이 모르는 형태를 만나면 조용히 건너뜀)
- 밑수 — 머리가 소실돼 **자동으로는 못 읽는 표 일곱**만 `BASIS_JUDGMENTS` 로(막갈이 100㎡당 ·
  묘목운반 1,000본당 · 12-1-3 ㎥당 · 12-11-1 m당). 자동으로 읽히는 표는 안 넣음(정본이 흐려짐)
- **더하기만** — 형태 14가 undetermined 에서 갈렸고 밑수 5가 빈칸에서 찼음. 덮어쓴 값 0
- 딸린 시험·이름표 손질 — F0349 는 이제 소요량형 · F0322 「형식 미정」 사유가 사라짐 ·
  미판정 목록이 비어 이름표에서 표 → 값 묶음으로 내려감(다시 생기면 표로 섬)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 19:38:09 +09:00
eomsangdonandClaude Opus 5 4b6d4f141c feat(z01,b08): 이름 자간 다듬기·품셈 번호 숫자 정렬·건설 빈 칸 감춤 — 한 글자 낱말뿐인 조각이나 셋 이상 이어진 한 글자 낱말만 붙임(「측 량」→「측량」·「메 붙 임 · 깬 돌」→「메붙임 · 깬돌」 · 「그 외 자재」는 그대로) · 목록 경로 이름과 갈래 다듬은 이름(name_clean)에만 · 원문 이름은 마스터에 그대로 · 열쇠는 번호라 안 흔들림을 시험으로 못박음(다듬기 끈 목록과 열쇠 맞댐 · 장부 새 발급 0) · 품셈 번호 칸은 마디마다 수로 세움(「10-1」이 「2-1」 뒤) · 건설 「단계 무게」는 늘 빈칸이라 감춤(브레인 ⑥ · 서브 훑기)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 18:55:29 +09:00
eomsangdonandClaude Opus 5 85255f5ec5 feat(b08): 표머리 몫꼴에서 밑수 읽기 — 꼴마다 한 번씩 · 산림 18 · 건설 23 이 한꺼번에 채워짐
안티그래비티 자리 명세(2dab2ce2)가 준 것은 **값이 아니라 읽는 규칙**이었음(155 중 142가
「표머리 명시 단위」 자리표시). 그래서 하나씩 넣지 않고 꼴을 코드로 짬.

- 본문 쪽 몫꼴(`SOURCE_BASIS_RATIO_RE`)은 이미 있었으나 **표머리는 안 보고 있었음** —
  `인/ha`·`인/100kg`·`소요인력(인/본당)`·`재료비(1km 소요량기준)` 을 읽게 함. **분모가 밑수**
- ⚠ 반쪽 진실보다 「미확보」 — 거절하는 자리 둘
  · 분모가 둘인 몫(`ℓ/일,대`) — 대수를 안 곱해 조용히 적게 섬
  · 표머리끼리 어긋나는 표(`주연료 (ℓ/hr)` + `조종원 (인/일)`) — 먼저 걸린 것을 고르면 반은 틀림
- 차례가 뜻 — 표 안 「…당」이 먼저, 표머리 몫꼴은 그 뒤. **덮어쓴 것 0 · 사라진 것 0**

밑수 확보 산림 204 → 222(미확보 115 → 99) · 건설 515 → 538(447 → 439)
지문 한 번 갱신 — 값이 움직인 것이 아니라 **곱하면 안 되던 줄이 곱할 수 있게 된 것**
이름표 줄 수도 맞춤(basis_missing 115→99 · const 447→439)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 18:38:53 +09:00
eomsangdonandClaude Opus 5 7a1f6a01ef feat(b08): 건설 갈래 펴기 — 산림과 같은 B09 표 읽기 한 벌로 갈래를 가름(111 공종 · 갈래 407) · 갈래 불변 열쇠는 장부(CW-00063#01 · 데스크탑 서브 꼴 그대로) · Z01 건설 공종 997 → 줄 1,293 · 이름을 다듬어도(자간·물결표) 새 번호 0 시험 · 건설 열쇠 장부 갈래 표 이름표(브레인 ④)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 18:34:17 +09:00
eomsangdonandClaude Opus 5 be4addb7f7 Merge remote-tracking branch 'origin/sub_laptop_1' into sub_desktop_1 — 산출은 랩탑 것으로 다시 짓고 갈래 수 332 로 맞춤(공종 306 → 303 · 갈래 열쇠 겹침 0)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 18:25:17 +09:00
eomsangdonandClaude Opus 5 a371ee0454 Merge remote-tracking branch 'origin/sub_desktop_1' into main_laptop_1 — 갈래 불변 열쇠(FW-00105#01 꼴 · 데스크탑 서브) 받음 · 자료 파일 충돌은 합친 코드로 다시 뽑아 풂 · 갈래 수 335 → 332(헛단위 13-3 갈래 뺀 것 반영)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 18:23:43 +09:00
eomsangdonandClaude Opus 5 eca9c37bbd feat(b08): 갈래에도 불변 열쇠 — FW-00105#01 꼴 · 글자는 보일 이름 칸으로
갈래가 공종 열쇠와 똑같은 병을 앓고 있었음 — 줄 열쇠에 갈래 **글자**가 그대로 들어가
`FW-00105#1.1∼1.5` 였고, 원문이 물결표를 둘(∼ 26 · ~ 8)로 쓰고 자간 공백만 다른 짝이
6쌍이라 **이름 한 번 다듬으면 열쇠가 갈렸음**(메인의 「띄어진 이름 175줄 다듬기」가 곧 그 손질).

- 갈래 장부 — `work_item_keys.json` 의 `variants`. 자리는 **공종 열쇠 아래**(목차 코드 아래가 아님)
  · 산림 66 공종 · 갈래 335 · 맞대는 꼴은 공백을 다 떼고 물결표를 하나로
  · 장부에 없는 갈래는 새 번호 · 사라진 번호는 다시 쓰지 않음(옛 일위대가가 가리키던 자리)
- 이름 칸 둘 — `name`(원문 그대로) · `name_clean`(자간 한 칸 · 물결표 하나) · 14줄이 다듬어짐
- Z01 줄 열쇠 `FW-00105#01` · 칸 `variant`(원문)·`variant_clean`(다듬은 것)
- 이름표 — 장부 `variants` 표 · 목록 열 `variant_clean` · 마스터 `variants` 칸
- 시험 — 갈래 열쇠 누락·중복 0 · 번호가 1부터 빠짐없음 ·
  **원문을 다듬어도 같은 번호가 나옴**(물결표 바꿔 넣고 자간 정리해도 새 발급 0)

함께 — 건설 총칙 뿌리 확정(안티그래비티 조사 · 브레인): 공통부문 제8장 건설기계(CP-01-08)를
총칙에 더함(산림 FP-02 와 짝) · 유지관리 제1장 「공 통」은 공종으로 둠
⇒ 건설 줄 구실 공종 923 · 묶는 마디 258 · 총칙 112 · 빈 잎 74

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 17:57:05 +09:00
eomsangdonandClaude Opus 5 47f188b238 fix(b08): 헛단위 뺌 — [주] 인용 「‘13-3. 기초다짐 및 뒤채움’ 항을 적용한다」를 제목으로 읽던 것(표 F0405·F0406 → 13-4-1 · F0418 → 13-5-2) · 부록 사례 표 일곱이 본문 절 번호와 겹쳐 붙던 것(이름 닮음 0.3 아래면 못 붙인 표 목록 · 진짜 제목은 0.34 이상) · 산림 목록 627 → 620 · 단가표 전후 대조: 헛단위 B-FP-13-03 셋 빠짐 · B-FP-13-05-02 가 메붙임+찰붙임 합으로 약 두 배(쓰는 곳 0 · KnownGaps 「쓰면 안 됨」 · 갈래 가르기 대기) · 나머지 단가 불변 · 시험 셋(브레인 · 서브 훑기)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 17:28:29 +09:00
eomsangdonandClaude Opus 5 e057ceb442 Merge remote-tracking branch 'origin/sub_desktop_1' into main_laptop_1 — 총칙 기본 감춤 기준을 잣대 list_default 로(데스크탑 서브) 받음 · 줄 구실 표시 칸 이름도 잣대 list_label 을 따르게 시험 맞춤
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 17:19:08 +09:00
eomsangdonandClaude Opus 5 76f70b675f feat(z01): 총칙 기본 감춤의 기준을 잣대로 · 목록에서는 「공종 아님 · 규정·기준」
랩탑 서브가 낸 기본 감춤(2ee6a7ed)·갈래 펴기(0ff186c1)를 받고, 판정 자리만 옮김.

- 서버에 박혀 있던 `DEFAULTS` → `axis_policy.json` 의 `list_default` 를 읽음
  (총칙 범위는 기관이 정하는 값 — 코드에 박으면 관리자가 못 고침 · 못 읽을 때만 대비값)
- 구실마다 `list_label` — 거르기 상자에서는 「총칙」이 아니라 **「공종 아님 · 규정·기준」**
  · 기본 감춤이되 **지운 것이 아니라 감춘 것**임이 드러남
- 지금 수 — 산림 전부 627 중 공종 568 · 공종 아님 59 / 건설 전부 997 중 공종 983 · 공종 아님 14

⚠ 갈래 열쇠 흠 하나 기록 — `@id` 가 `FW-00105#1.1∼1.5` 꼴로 갈래 문자열을 그대로 담음.
원문이 물결표를 둘(∼ U+223C 26 · ~ U+FF5E 8)로 쓰고 자간 공백만 다른 짝이 6쌍이라,
문자열을 손질하면 열쇠가 갈림. 잣대 `known_defects` 에 적고 수를 시험으로 못박음(갈래 335).
건설은 갈래 키가 비어 편 수 = 줄 수(997).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 17:04:55 +09:00
eomsangdonandClaude Opus 5 27ab46b08b Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 — 서브 갈래마다 한 줄(산림 627)·총칙 기본 감춤·이름표 읽기 받음 · 「연결됨」·줄 구실 칸을 갈래 줄에 얹음(공종 열쇠 @key 로 판정) · 연결 시험은 표가 붙은 줄만 잼(묶는 마디 CW-01329 는 목록 밖)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 17:00:29 +09:00
eomsangdon 6680cb0ff3 wip(z01): 총칙 기본 감춤 잣대화 — 병합 전 임시 보관 2026-09-17 16:58:05 +09:00
eomsangdonandClaude Opus 5 8f3a01cd96 feat(b09): 연결고리 표를 읽는 한 자리 — 산림·건설 어느 품을 쓸지 표가 정함(고시 총칙 7 · 표 policy both_precedence) · B09 인계 입구에서 둘 다 있는 공종은 표가 고른 열쇠·목차 코드로 · 미판정은 안 고르고 막음(link_undecided · 사유 그대로 · 금액에 안 듦) · 열쇠 빈 미판정 행도 내역서 요약에 목록 · 지금 인계 코드 57 판정 안 달라짐 = 금액 불변 · Z01 목록에 줄 구실(총칙) 표시 칸(코덱스 크로스체크 ①② · 브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 16:53:22 +09:00
eomsangdonandClaude Opus 5 0ff186c194 feat(z01): 공종 축 갈래마다 한 줄 — 교목굴취(나무높이) 9갈래가 한 줄에 뭉쳐 어느 높이 값인지 못 집던 것
- 줄 = 갈래(일위대가가 갈래마다 다름) · 산림 365공종 → 627줄 · 건설은 갈래 키가 비어 997 그대로
- 줄 열쇠 = 공종 열쇠#갈래 키(FW-00105#1.1∼1.5 · B08·B09 코드#갈래 꼴) · 갈래 키 글자는 마스터 것 그대로(조립 두 벌 금지)
- 공종 열쇠는 @key 로 함께 보냄 — 거르기(부문·줄 구실)와 stats.work_items 는 공종 단위
- 칸: 갈래 키 목록(variant_keys) → 갈래 하나(variant) · 이름표 공종 축 두 표의 열도 같이 바꿈(묵은 열 시험)
- 화면 코드는 그대로 — 산림 단추 627 · 교목굴취 찾기 10줄(9갈래 + 근원직경) · 2.6∼3.0 칸 집힘
- 시험: 교목굴취 9갈래 차례·열쇠 · 갈래 없는 공종은 # 없는 한 줄 · 갈래 이름으로 찾힘 · 앞 시험 수(365 → 627 · 발파암 3 → 5 · 가짜 자료 두 줄) 맞춤 · Z01·이름표 시험 105 통과

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-17 16:52:56 +09:00
eomsangdonandClaude Opus 5 337e42314c feat(z01): 연결고리 표가 확정으로 이은 줄에 「연결됨」 — 감추지 않고 표시만(기본 다 보임) · 「연결된 것만」 거르기 · 판정은 work_item_link 표(코드에 목록 없음 · 미판정 안 이음) · 건설 11 · 산림 5 · 이름표 열 「연결」 · 금액 불변 시험에 이행 전 코드로 뜬 원가계산서 금액 못박음(내역서·원가계산서 지문이 이행 전후 한 글자 같았음)(브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 16:46:58 +09:00
eomsangdonandClaude Opus 5 f5860e6f12 feat(z01): 이름표 전수 — 공종 축 산출 일곱을 올리고 영문으로 뜨던 칸 열넷에 이름
평평한 목록 열(산림 8·건설 8)은 이미 다 한글이었으나, **파일 보기 쪽에 구멍**이 있었음 —
공종 축 산출 일곱이 이름표 `files` 에 아예 없어 덮개 시험도 그 파일을 안 훑고 있었음.

- 올린 일곱 — 건설 공종 마스터 · 건설 형태 미판정 · 건설 밑수 미확보(byproduct) ·
  열쇠 장부 둘 · 구실 잣대(logic) · 건설 폴더 지문(fingerprint)
- 영문으로 뜨던 칸 열넷에 이름 — `general_provision_roots`「총칙 뿌리」 ·
  `code_shape_why`「코드 꼴 까닭」 · `settled`「확정됐나」 · `relinked`「손으로 이은 자리」 따위
- 사전 모양 표 넷에 줄 이름 열 — 「산림 공종 열쇠」·「건설 공종 열쇠」·「구실 이름」·「갈래 이름」
- 잣대 칸 이름 통일 — `counts_2025_82`·`counts_2026` → `counts`(판이 바뀌어도 안 갈림)
- 다시 안 생기게 시험 하나 — `test_이름이_영문으로_떨어진_칸이_없다`
  (「비지 않았나」만 보던 옛 시험은 영문 키가 이름 자리에 앉은 것을 못 잡았음)
- 못박은 수 갱신 — 파일 34→41 · logic 15→19 · byproduct 4→6 · 지문 3→4 · 표 92→100

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 16:29:20 +09:00
eomsangdonandClaude Opus 5 43d7644382 Merge remote-tracking branch 'origin/sub_laptop_1' into sub_desktop_1
랩탑이 내 설계(잣대를 자료에서 읽기)를 취해 건설을 닫았음. 충돌 아홉 해소 — 코드·산출은 랩탑 것:

- **건설 총칙 뿌리를 적는 꼴은 랩탑 쪽** — 장 파일 이름(「01_공통부문/제1장_적용기준.md」).
  뽑는 코드가 목차 코드(`CP-01-01`)로 바꿔 주니 관리자가 부문 번호를 셀 필요가 없음
  ⚠ 내가 코드로 적어 두었던 것이 랩탑 변환기(`file_place`)를 깨뜨렸음 — 되돌림
- 잣대에 미확정 둘의 **목차 코드도 함께 적음**(`CP-01-08` · `CP-05-01`) · 줄·표 수 · 근거
- 「건설 표 883 절 이름 어긋남」 결함 항목 지움 — 본문 절 제목으로 붙여 2,192 전부 제자리(브레인)
- 이름표 「기다리는 자리」 버림 — 랩탑이 `merged_tables` 로 옮겨 서버가 kind 를 냄

확인 — 갈래 「공종」 상자 둘: 산림품셈 기준 365줄(FW-) · 건설품셈 기준 997줄(CW-) ·
이름은 전체 경로 · 건설 줄 구실 공종 983 · 묶음 264 · 총칙 37 · 빈 잎 83 (합 1,367 그대로)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 13:56:57 +09:00
eomsangdonandClaude Opus 5 9f1fa2a671 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
2026-09-17 13:32:47 +09:00
eomsangdonandClaude Opus 5 c8872234e6 Merge remote-tracking branch 'origin/sub_desktop_1' into main_laptop_1 — 줄 구실 잣대 axis_policy.json 받음 · 열쇠 모듈은 그쪽 설계(잣대를 자료에서 읽음) 취함 · 건설 총칙 뿌리를 잣대에서 읽어 CP-01-01(37줄) 표시(미확정 둘은 안 넣음) · 평평한 목록을 잣대대로 표가 붙은 줄(산림 365 · 건설 997 · stats.work_items) · 이름표 건설 칸을 대기 자리에서 merged_tables 로 옮김(서버가 kind 를 냄)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 13:27:14 +09:00
eomsangdonandClaude Opus 5 642a5be937 feat(b08): 건설 공종 축 뽑기 — 뽑는 스크립트가 산림·건설 둘 다 · 건설 목차는 합본 원문 머리 「목 차」 글줄(쪽 번호 붙은 꼴 가름 · 부문 5 · 장 45 · 1,367줄) · 표는 본문 절 제목으로 붙음(2,192 전부 · 인용 거름) · 열쇠 CW-00001 꼴(장부 따로) · 총칙 표시·갈래 키는 비움 · 표 한 장 읽기를 _Table 로 떼어 두 뽑기가 한 벌 씀(890 → 442줄 · 산림 산출 한 글자도 안 바뀜) · Z01 건설 kind 이름 work_item_const · 이름표 한 벌 · 목차 오기 없음 시험(연혁 붙은 본문 제목 683)(브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 12:44:42 +09:00
eomsangdonandClaude Opus 5 1de5c8ab5b fix(b08): 공종 축 목차 오기 둘을 본문 절 번호로 — 12-17-2 무근진동기 제외 → 12-17-3 · 12-24-1 지수판 설치 → 12-27-1(코덱스 원문 대조) · 혼성 줄 풀어 네 줄 제자리(F0363·F0364·F0371·F0375) · orphan 17 → 15 · 열쇠는 그대로(장부에 손으로 이음) · 바로잡은 기록 toc_corrections · 「표 절 제목이 다른 줄을 가리키면 빨강」 시험(옛 자료에서 빨강 확인) · 잎 358 → 360(브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 12:31:28 +09:00
eomsangdonandClaude Opus 5 7b6038b524 Merge remote-tracking branch 'origin/main_laptop_1' into sub_desktop_1
이름표 충돌 해소 — 같은 자리는 랩탑 쪽(`merged_tables` 의 `work_item_forest`)을 취하고,
내 쪽에서 빠진 것만 되살림:

- `work_item_master` 새 표 `toc_duplicate_rows` · 새 값 묶음 `toc_edition`
- `work_items` 새 칸 여섯(work_item_key·toc_code·toc_number·toc_edition·path_name·axis_role)
- 공용 `columns` 여덟 — 랩탑엔 없어 영문으로 뜨던 것
- `value_overrides` — axis_role 넷 · rule 둘 낱말
- 내 `work_item_axis` 구획은 버림(두 곳에 같은 이야기를 두지 않음)

시험 둘 손질 — 열쇠가 실제로 오면서 뜻이 뒤집힌 자리:
- `test_z01_work_items.py` 「불변 열쇠 없음」 알림이 **사라지는 것**이 곧 열쇠가 섰다는 증거
- `test_z01_master_data.py` 표 수 91 → 92 (`toc_duplicate_rows`)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 12:16:45 +09:00
eomsangdonandClaude Opus 5 7ed9e6c101 Merge remote-tracking branch 'origin/sub_desktop_1' into main_laptop_1 — 공종 축 불변 열쇠 받음 · 이름표 갈래 이름 한 자리 충돌(「공종 축」 취하고 설명은 양쪽 합침) · 산림 줄 열쇠 판정을 work_item_key 로 · 시험이 FW- 열쇠를 봄
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 12:02:08 +09:00
eomsangdonandClaude Opus 5 287027f810 feat(z01): 공종 축 API 틀 — GET /base-prices 에 갈래 work_item · 산림 kind(잎 358 · 갈래 편 618) · 이름은 전체 경로 · 계산 규칙(choose_one 91 · sum_steps 3)을 표 수준 rules 와 줄 칸 rule·step_weight 로 · 불변 열쇠(FW-) 오면 @id 로(칸 이름 한 곳) · 건설은 자료가 오면 저절로 섬 · 고치기 막힘 · 이름표 한 벌(브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 11:06:26 +09:00
eomsangdonandClaude Opus 5 7dd2c51530 feat(b08): 공종 축에 불변 열쇠 — FW-00001 꼴 5자리 · 목차 번호는 칸으로 내림
- 열쇠 장부 `work_item_keys.json` — 판 없는 영구 장부 · 판(고시 2025-82)+목차 자리로만 이음
  · 장부에 없으면 새 열쇠 + 「새로 난 공종」 목록(짐작으로 안 이음)
- 새 칸 여섯 — work_item_key · toc_code · toc_number · toc_edition · path_name · axis_role
  `work_item_code`(FP-…) 는 이름째 그대로 둠 — 164 파일이 씀
- 잎 경로 이름 — 「토공 › 토사깍기 › 인력」 · 이름 겹침 35줄이 갈림
- 줄 구실 넷 — 공종 304 · 묶는 마디 82 · 총칙 78 · 빈 잎 13 (지우지 않고 가름만)
  ⚠ 총칙 2장은 B09 연료·손료가 읽어 못 지움(Consumables.py:44~99)
- ⚠ 목차 번호 겹침 둘 발견 — 12-17-2 · 12-24-1 이 서로 덮고 있었음 · 줄마다 제 열쇠로 갈라
  `toc_duplicate_rows` 목록으로 냄
- 이름표 — 공종 축 구획(`work_item_axis`) 새로 · 갈래 「공종」 · kind 둘 · 열 열하나
- 금액 불변 시험 14개 — 새 칸 떼면 옛 벌과 지문(sha256) 같음

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 11:04:04 +09:00
eomsangdonandClaude Opus 5 9698c7b14a feat(z01): 기초단가 상자 이름 둘 — base_price 「기초단가」 · pumsem_basis 「품셈 기준」
- 서버 `kind_group()` 이 내는 갈래 둘에 한글 이름을 붙임. 상자 설명도 한 줄씩 —
  기초단가는 「**얼마인가** · 때가 되면 갈아 끼우는 값」, 품셈 기준은 「**얼마나 드나** · 품셈·법령이 정한 계수」
-  **서버가 읽을 자리를 못박음** — `labels["base_price_groups"][group]["name_ko"]`.
  지금 서버에 갈래 이름 읽는 코드가 아직 없어, 두 창이 서로 다른 자리를 보면
  2026-09-15 의 「26칸이 영문으로 뜸」 사고가 되풀이됨
- 시험 둘 더함 — 서버가 내는 갈래마다 이름표에 이름이 있는지 · 상자마다 kind 가 서고
  그 kind 이름이 영문 그대로가 아닌지(빈 상자·영문 상자 막음)
- 새 kind 열 15칸은 앞 커밋(`46fe2bc0`)에서 이미 이름 붙음 — 지금 영문으로 뜨는 열 0

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFCnEYNH4tsS2MbHvzBhZk
2026-09-16 15:59:14 +09:00
eomsangdonandClaude Opus 5 46fe2bc010 feat(z01): 기계 시공능력 이름표 — 새 kind 열 21칸(영문 15칸 0)
- 코드에 박혀 있던 표를 꺼낸 벌(메인 b6fb3725) — 불도저 속도·삽날 용량(건설품셈 8-2-1) ·
  덤프 운반 낱값·재료별 계수(산림품셈 10-12) 47 줄
- 영문으로 뜨던 15칸에 이름 — 주행 장치·기계 규격·변속 단·전진/후진 속도·삽날 용량 ·
  낱값 키·무엇인가 · 단위중량·체적변화율·버킷계수·적재/운반/적재 작업효율·적재 비고
- ⚠ `loader_efficiency`(E0)는 운반 식의 `truck_efficiency`(Es)와 **다른 기호**임을 이름에 적음 —
  섞으면 작업량이 갈림
- 줄 열쇠 — id 칸이 없고 **표마다 축이 다름**(속도표 넷 · 삽날표 셋 · 낱값 둘 · 재료별 둘).
  서버가 줄마다 `@axis` 로 알려 주는 대로 적음
- 시험 상수에 kind 하나 더함(열넷 → 열다섯)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFCnEYNH4tsS2MbHvzBhZk
2026-09-16 15:50:02 +09:00
eomsangdonandClaude Opus 5 ede97d30fb feat(z01): 기초데이터 아홉 이름표 — 열 21칸 · 줄 열쇠 아홉 · 축 시험 셋
- kind 아홉을 이름표 `merged_tables` 에 더함(다섯 → **열넷**) — coef · material_surcharge ·
  formwork_reuse · rebar_complexity · timber_structure_class · masonry_slope ·
  masonry_back_length · stone_kind · masonry_class. 영문으로 뜨던 21칸 **0**
- ⚠ 구간 이름은 **원문 표기 그대로**(`~1.5`·`~3`·`~5`·`~7`·`7이상` · 돌 직경 `40~60`) —
  열쇠의 몸이라 예쁘게 고치면 덮개가 주인을 잃음. 시험이 그 표기를 박아 둠
- 축 칸(`table`·`bond`·`face`·`height_bracket`·`stone_kind`·`back_length_cm`·`class`·
  `soil_type`·`type_id`·`material`)은 이름에 「줄을 가리는 축 — 못 고침」을 적음
- `coef/source_rows`·`duplicate_note` 는 암괴 중복 두 줄을 한 줄로 합친 사유 칸으로 이름 붙임
- 줄 열쇠 아홉을 `row_keys` 에 더함 — 서버가 줄마다 내는 `@axis` 가 곧 열쇠 ·
  넷은 **id 칸이 없어 축으로만 가려짐**(masonry_slope·masonry_back_length·stone_kind·masonry_class)
- 시험 셋 더함(12건) — 이름표 축이 서버 `@axis` 를 다 덮는지 · 구간 표기가 원문 그대로인지 ·
  축 칸이 고칠 수 있는 칸으로 서 있지 않은지
- ⚠ 예외 하나 적어 둠 — `formwork_reuse.reuse_count` 는 갈래표에서는 **값**, 비율표에서는 **축**이라
  서버가 한 판정만 내는 지금은 고칠 수 있는 칸으로 섬(판정 대기)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFCnEYNH4tsS2MbHvzBhZk
2026-09-16 13:12:58 +09:00
eomsangdonandClaude Opus 5 75ae9375d9 fix(z01): 자재 할증 두 벌 관계 명기 · coef 암괴 중복 한 줄로 · 참고 사례 갈래 둘
- **이원화가 아님을 두 자리에 못박음** — `material_surcharge.original_tables`
  「원문 표는 coef/surcharge_mat」 · `coef.variables.surcharge_mat.used_value_at`
  「읽어 쓰는 값은 material_surcharge/rates_pct」. 저쪽은 원문 보관이라 읽는 코드가 0
- **암괴 중복 두 줄** — L·C 둘 다 첫 줄에 `duplicate_same_value`, 둘째 줄에 `hidden_duplicate` +
  사유 「원문 두 줄 · 값 같음 — 화면에는 한 줄로 보임. 원문은 그대로 둠」.
  ⚠ 원본 줄은 안 지움 · `selection: pending` 과 「원문 오기 가능성」 주석 그대로 살림
  ⚠ 「역이 섞인 점질토」는 값이 달라 안 접음(L 1.35~1.4 ↔ 1.3~1.4)
- **참고 사례 갈래(`reference`) 새로 둠** — `structure_unit_observed`(울진소광 한 현장 관찰값) ·
  `revetment_sabang`(교본값에 설명 글 섞임). 트리엔 남되 기초데이터가 아님(사용자 판정).
  갈래 셈 로직 17 → 15 · 참고 사례 2
- 마스터 둘이 바뀌어 폴더 지문(`_manifest`) 둘 갱신 · 새 열 넷·값 묶음 둘 이름표 추가
- ⚠ `test_z01_master_data.py`(랩탑 메인)가 갈래 수를 박아 두어 함께 고침 — 데이터가 바뀌면
  따라가야 하는 상수임

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFCnEYNH4tsS2MbHvzBhZk
2026-09-16 13:08:52 +09:00
eomsangdonandClaude Opus 5 c58c38142c fix(z01): 자재 0원 70 줄 — 값이 안 실린 공시를 건너뛰고 앞 제값 채택 · 사유 남김
- 까닭 — 고르기 규칙이 「물품코드마다 가장 나중 공시」인데 값이 안 실린 공시(`prce=0`)가 옛 제값을 덮음.
  각형강관 25*25*1.4t `1,460 → 1,500 → 0`. 「가격이 0」이 아니라 **그 공시에 값이 안 실린 것**임
- 새 규칙 `_build_mat_price.py` — **원천 스냅숏은 읽기만** · 마스터 0원 줄만 손댐 ·
  6,999 중 **70 줄만 바뀌고 나머지 6,929 줄은 한 글자도 안 바뀜**(줄 수 그대로) · 0원 0 남음
- ⚠ 같은 날짜에 0 과 제값이 함께 실림(2025-04-24) — 날짜만 보면 0 을 집음.
  **0 을 건너뛴 뒤** 가장 나중 공시를 고름
- 조용히 안 바꿈 — 줄마다 `price_adopted_reason` 「○ 공시에 값이 없어 ○ 값을 씀」 ·
  공시 **날짜·번호도 채택한 공시의 것**으로(어느 판 값인지 화면에서 보임) ·
  `selection_policy` 에 0 건너뛰기 명시 · 못 고칠 줄 자리 `zero_price_unrecovered`(오늘은 빔)
- 이름표에 새 열 「값을 고른 사유」 · 마스터가 바뀌어 폴더 지문(`_manifest`) sha·크기 갱신
- 새 시험 7건 — 0원이 남는지 · 사유가 붙는지 · 날짜·번호가 채택 공시와 같은지 ·
  같은 날 0 과 제값이 섞여도 제값을 집는지 · 0원 아닌 줄을 안 건드렸는지 ·
  앞 제값이 없으면 빨강이 아니라 목록에 남는지

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFCnEYNH4tsS2MbHvzBhZk
2026-09-16 11:57:21 +09:00
eomsangdonandClaude Opus 5 6c1956ec18 fix(z01): 이름표를 서버 틀에 맞춤 — 영문으로 뜨던 19칸에 이름 · 요율 축 살림
- ⓐ 다섯 표 열을 **서버 응답 그대로** 다시 적음(열 88 = 노임 12 · 기계 23 · 자재 15 · 유가 10 · 요율 28).
  ⇒ 영문으로 떨어지던 19칸 0 으로 — 기계 6(`operating_effective_date`·`fuel_price_krw_per_l`·
  `fuel_price_date`·`operator_daily_wage_krw`·`operator_wage_date`·`hourly_note`) ·
  요율 13(`part`·`base_rule`·`embedded_in`·`manager_thresholds.…` 따위)
- ④ **요율 축을 한 칸으로 안 합침**(브레인 판정) — 등급·연도·공사 종류·대상액·추정금액·추정가격·
  직접공사비·공사기간 여덟 축을 원문 칸 그대로 둠. 합치면 어느 축인지 사라지고 축이 둘 이상인 줄을
  못 읽으며 `@id`(`{변수}/{목록}/{축=값;…}`)가 흔들림. 앞서 지어냈던 `item_key`·`bracket_basis` 는 걷음
- **「고칠 수 있나」를 이름표에서 뺌** — 서버 `spec()` 한 곳이 정함(판정 두 벌 금지)
- ⓑ 새 시험 `test_master_labels_base_prices.py` 9건 —  **영문으로 떨어지는 열이 있으면 빨강**.
  이름표 파일이 아니라 **서버 응답**을 재므로 두 창이 갈리면 그 자리에서 잡힘 ·
  묵은 열 이름표 · 요율 축 여덟 · 줄 열쇠에 축이 살아 있나 · 계산값 넷 잠김 · 단위까지 봄
- 왜 오늘 두 번 당했나 — 서버가 「못 찾으면 영문 key」로 **조용히 떨어지고**,
  이름표 시험은 서버가 보는 자리를 안 봤음. 어긋나도 아무도 모르던 자리임

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFCnEYNH4tsS2MbHvzBhZk
2026-09-16 10:51:04 +09:00
eomsangdonandClaude Opus 5 d8f4ac0240 feat(z01): 기초단가 다섯을 한 표로 모으는 이름표 · 줄 열쇠·null 판정
- `merged_tables` 다섯(노임·자재·유가·제비율·기계) — 열 62. **값은 안 옮김**, 열 이름·단위·숨김과
  `editable`(고칠 수 있나)만 담음. 계산값 넷은 기계에만 있고 `editable: false`
- `machine_cost_chain` 다섯 걸음 — 손료(취득가×1,000×손료계수) · 연료(연료량×유가×(1+잡재료)) ·
  조종원(일 노임÷8×제수당) · 암 할증 · 시간당 기계경비. **밑값 11 / 계산값 4** 를 가름 ·
  기계가 유가·노임 표를 물어 갱신 차례가 갈림을 적음
- `merge_findings` 네 갈래 — 이름 다른 같은 열 2 · 한쪽에만 있는 열 4 · 단위·축 어긋남 4 · 부딪힘 2
- `row_keys` 다섯 판정(브레인 ①) — 자재 `item_code`·기계 `machine_code` 는 전수 겹침 0 으로 **있음** ·
  노임은 두 코드 공간이라 `출처+직종코드` 로 묶어야 함 · 유가·제비율은 **줄 열쇠 없음**(지어내지 않음)
- `null_is_real` 여섯(브레인 ②) —  노임 일 노임이 **30 줄에 아예 없음**(미조사가 제값) ·
  기계 운전경비에 **명시 null 12** · 되돌리기 null 과 뜻이 겹치는 자리를 규칙과 함께 적음
- 시험 36건(8건 늘) — 계산값이 기계 밖으로 새거나 줄 열쇠·null 판정이 빠지면 빨강

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFCnEYNH4tsS2MbHvzBhZk
2026-09-15 21:47:43 +09:00
eomsangdonandClaude Opus 5 88007b1ad9 feat(z01): 곁값 17 을 값 쪽으로 올림 · @undecided 「미판정」 둠
- 곁값 = **없으면 값의 뜻이 안 서는 칸**(브레인 ②) — 값 단위 8(할증 둘·기계 넷·유가 둘) ·
  기준일 2(시세는 기준일이 값의 반) · 걸치는 범위 3 · 목재 밑수(채적 ㎥) ·
  기계 지급보증 밑수 비고 · 요율 적용 여부 2(임도 줄 고름·임도에 걸리는지)
  ⇒ 값 49 → **66** · 설명 123 → 106
- `@undecided` 「미판정」 열을 낱값 마디에 둠 · 값도 설명도 아닌 미결 셋에 `undecided: true`
  (목재 확정 대기 · 재료 할증 못 찾은 것 · 할증 확정 대기 후보 표) — **갈래를 임의로 안 못박음**
- 낱말은 `kind: "value" | "doc"` 그대로(브레인 ③ 되물림) · `value_kinds`·`synthetic_tables` 도 그대로
- 시험 28건(2건 늘) — 곁값이 설명으로 숨거나 미결이 갈래에 박히면 빨강

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFCnEYNH4tsS2MbHvzBhZk
2026-09-15 19:34:15 +09:00
eomsangdonandClaude Opus 5 8fb1952ba9 feat(z01): 낱값 마디 이름 넷 확정 · 값·설명 표시를 kind 낱말로
- 브레인 확정 이름 그대로 — `synthetic_tables["@values"]` 표 이름 「낱값」 · 설명 「표가 아닌 한 값들」 ·
  열 `@name` 「항목」 · `@value` 「값」 · `@path` 「원문 자리」(숨김)
- 값 묶음 표시를 참·거짓이 아니라 **낱말** `kind: "value" | "doc"` 로 둠 — 수식 같은 갈래가 늘면
  낱말만 더하면 되고 뜻이 안 뒤집힘 · 갈래(kinds) 말투와도 맞음
- 이름 갈이 — `role` → `kind` · `value_roles` → `value_kinds` · `counts.value_groups_by_kind` ·
  `policy.value_kind_rule`
- 셈은 그대로(값 49 · 설명 123) · 시험 26건(2건 늘, 낱값 마디 이름 넷과 낱말 여부를 잡음)

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