Commit Graph
19 Commits
Author SHA1 Message Date
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 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
eomsangdonandClaude Opus 5 da2238505c feat(z01): 이름표에 줄 이름 열 여덟과 「값·설명」 가름 172 칸
- 사전 모양 표 8 에 **줄 이름 열 `@key`** 를 둠(브레인 ①) — 표마다 제 이름:
  fx 「통화」 · oil 「유종」 · masonry_slope 「쌓기 방식」 · material_surcharge 「구실」 ·
  stone_kind·structure_unit 「출처 키」 · masonry_wet 「표 이름」·「칸 키」 · `is_row_key` 표시 붙임
- 값 묶음 172 를 **값 49 · 설명 123** 으로 가름(브레인 ②) — 잣대는
  「고치면 금액이 움직이나」 · 이름표 `policy.value_role_rule` 에 적음 · 갈래 뜻은 `value_roles` 에
- 값으로 선 것 — 한 값짜리 요율 여덟(산재·건강·요양·부가세·퇴직공제·임금채권·석면·안전관리비 기초액) ·
  요율마다의 밑수 · 시세 · 계수·원단위표(돌쌓기·거푸집·철근) · 잇는 값(노임 별칭·타설·배수관)
- 설명으로 숨는 것 — 방침·출처·비고·읽기 기록과 표 머리의 키·단위·기준일
- 시험 25건(7건 늘) — 줄 이름 열이 빠지거나 한 값짜리 요율이 설명으로 숨으면 빨강

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFCnEYNH4tsS2MbHvzBhZk
2026-09-15 19:17:28 +09:00
eomsangdonandClaude Opus 5 7797a2ffc1 fix(z01): 폴더 지문 _manifest 셋을 부산물에서 「지문」 갈래로 옮김
- 부산물 설명이 「정본 아님 · 계산이 남긴 기록」인데 `_manifest` 는 **어느 판으로 셈했는지 못박는 표**라
  딱지가 거꾸로 붙어 있었음(브레인 ②)
- 갈래 하나 더 둠 — `fingerprint` 「지문」: 값도 규칙도 아니고 판을 가리키는 자리 · 고치지 않음
- 시험 한 건 더 — 지문이 부산물로 돌아가면 빨강 · 「정본」 딱지가 다시 붙어도 빨강
- 표·열·값 묶음 수는 그대로(표 91 · 열 447 · 값 묶음 172 · 뜻 못 밝힌 열 0)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FFCnEYNH4tsS2MbHvzBhZk
2026-09-15 19:01:52 +09:00
eomsangdonandClaude Opus 5 844f1a9700 feat(z01): 마스터 145칸 한글 이름표 한 벌 — 파일 34 · 표 91 · 열 447 · 값 묶음 172
- `resources/data_master_labels/labels_2026-01-01.json` — 이름만 담고 값은 안 담음(고쳐도 계산 안 바뀜)
- 갈래는 브레인 나눔표 그대로 — 로직 17 · 기초값 9 · 부산물 4 · 씨앗 1(`library_structure/masonry_wet`),
  폴더 장부 `_manifest` 셋은 31 밖이라 부산물 · 강우 IDF 캐시 96 은 뺌
- 찾는 차례 `column_overrides["파일id/열key"]` → `columns["열key"]` → 영문 키 그대로
- `unit` 은 이름표에서만 정함(자료에서 지어내지 않음) · 내부 id·지문·원문 줄번호 14칸은 숨김 표시
- 뜻 못 밝힌 열 0 — 못 밝히면 이름을 비우고 `unknown` 에 사유를 적는 자리를 둠
- 새 시험 `test_master_labels_cover.py` 17건 — 마스터에 있는데 이름표에 없는 표·열, 반대로 묵은 이름표,
  갈래 수, 세어 둔 수까지 대조(마스터가 늘면 빨강으로 알림)

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