브레인 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
- 시험 장부는 양쪽을 다 읽어 합침(서브 줄 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
원문 md 에 표가 하나 늘고(C2275 「13-6-4 수문 설치」) 모터 그레이더 갈래가 셋으로 갈려
못박아 둔 수가 어긋났음. **값이 아니라 셈이라 금액·알맹이에는 안 닿음.**
· 건설 공종 마스터 표 2,272 → **2,273**(이름표 `pum_const` 줄 수도 같이)
· 건설 갈래 1,499 → **1,501** · 갈래 열쇠 장부 표 207 → **208**
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
랩탑 서브·안티그래비티가 원문 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)대로 랩탑 메인이 한 번에 풂. 자료 파일은 손으로 안 합치고 **추출기로 다시 뽑음**.
- 손으로 푼 것 셋
· `_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
브레인 일감. 표 모양 판정이 산림 표에 맞춰져 있어 건설 표를 못 가렸음(건설 미판정 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
랩탑 메인이 손료 387 → 611(되살아난 표 221 코드)·뭉개진 이름 30 을 세워 기계 다리가 붙었고,
코덱스 8-4 손질로 `pum_const` 네 표가 바뀌어 원천 벌이 다시 뽑혔음. 그 위에서 다시 지음.
- **금액 안 움직임** — 직접공사비 5,983,724 시험 통과
- 건설 산출은 **원문 셀 네 표만 바뀜**(C0727·C0729·C0736·C0737 — 8-4 운전경비 몫) ·
표 2,202 귀속 2,202 · 형태 미판정 891 · 밑수 538/439 그대로
- 옛 산출로 뜨던 빨강(`test_work_item_master_const`)이 풀림
- ⚠ 앞 바퀴에 「건설 997/1,293 → 991/1,287 로 줄었다」고 적은 것은 **산출 파일이 옛 것**이어서였음 —
다시 지으니 997/1,293 제자리. 시험 상수도 되돌리고 까닭을 적음
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
**금액 안 움직임** — 직접공사비 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
갈래가 공종 열쇠와 똑같은 병을 앓고 있었음 — 줄 열쇠에 갈래 **글자**가 그대로 들어가
`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
랩탑 서브가 낸 기본 감춤(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
- 목록 응답 kinds 에 group_label — 이름표 base_price_groups 이름(기초단가 · 품셈 기준 · 공종 축) · 화면은 7cb15af1 부터 이 칸을 읽음
- 공종 축 계산 규칙 칸 — 이름표 value_overrides 의 work_item_master 방식 이름(아래 하나를 고름 · 아래를 단계로 다 더함) · 없으면 영문 그대로
- 표 수준 rules 의 mode 는 영문 그대로(기계가 읽는 자리)
- 화면 확인: 상자 넷 한글 · 발파암 다섯 줄 「아래를 단계로 다 더함 | 0.1 · 0.9 · 1」
- 시험: 상자 이름 셋 · 발파암 깍기 합산 · 토사깍기 하나 고름 · Z01·이름표 시험 105 통과
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
- 줄 = 갈래(일위대가가 갈래마다 다름) · 산림 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
이름표 충돌 해소 — 같은 자리는 랩탑 쪽(`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