9 Commits
Author SHA1 Message Date
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 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 704a10b648 knowledge(제비율): 요율 옆에 밑수·처리 규칙을 실음 + 코드와 맞대는 거울 시험
요율 숫자만으로는 그 데이터를 보고 금액을 되짚을 수 없었음. 밑수를 무엇으로 잡고
어떻게 자르는지가 코드에만 있어, 데이터를 갈아 끼운 사람이 규칙이 바뀐 줄 모름.

- 빠져 있던 밑수 한 칸(건설기계대여대금 지급보증수수료)을 채움.
- 처리 규칙을 데이터에 실음 — 자르는 법(줄 버림·관급자재대 천원 올림) · 안전관리비
  A·B 두 식과 1.2·1.1 · 조달수수료 차감 없음 · 이윤 밑수 · 규모 구간 판정.
- 거울 시험 6개 — 한쪽만 바뀌면 멈춤. 금액은 안 바뀜(1208 통과·실패 0).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 21:38:19 +09:00
eomsangdonandClaude Opus 5 f39c195b52 feat(B09): 유가 지역 단가를 물림 — 시도를 고르면 그 값으로 기계 연료비가 다시 섬
품셈 8-1-7 5호 「유류가격은 해당지역의 가격으로 한다」. 칸은 있었으나 시도별 값이
없어 잠겨 있었음. 오피넷 avgSidoPrice.do 스냅샷을 받아 데이터셋으로 세우고 물림.

- 안 고르면 전국평균 그대로 — 현장 소재지를 임의로 찍지 않음.
- 판에 없는 지역은 조용히 전국평균으로 눕지 않고 사유를 남김.
- 「지역 공시가」를 고를 수 있는지는 코드가 아니라 판이 정함.
- ⚠ 원천의 시도 가름이 행정구역과 다름(20=전남광주 한 줄, 07·16 없음) — 원문 그대로 둠.
- 수집 스크립트에 시도별 호출을 더함(전국평균과 두 벌로 보존).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 21:22:15 +09:00
eomsangdonandClaude Opus 5 5b79e4eebc knowledge(원가입력): 표준도 원단위 보류 사유를 우리 말로 — 무엇을 받아야 하는지까지 적음
옛 문구가 영어 한 줄("unresolved source gap")이라 무엇이 없어 미뤄졌는지 안 보였음.
지금 사실대로 적고 받아야 할 자료(실무 구조물 일람표)와 지식DB 근거 자리를 함께 붙임.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 21:03:43 +09:00
eomsangdonandClaude Fable 5 1932e1c4d1 fix(data): coef 토량 중복행 원문 미러링 + 노임 신뢰도 플래그 40건
- coef_2026.json: 2026-08-14 감사 반영 — '암괴ㆍ호박돌 섞인 점질토'(원문 부재)를
  '암괴(岩塊)나 호박돌이 섞인 점토'로 정정, '역이 섞인 점질토' 값 상이 2행을
  원문 그대로 수록. 중복 쌍에 duplicate_group·duplicate_index·selection:pending
  부여 (기본 채택행 = 개발 단계 사용자 선정). 토량계산.md 해시 재동기화 —
  원가 JSON 해시 불일치 잔여 0건
- labor_const JSON: 원문 신뢰도 기호 reliability 필드로 반영 (* 26 · ** 14 =
  40직종). 포설공·일반기계운전사 등 임도 빈발 직종 경고 근거. 단가 무변
- _manifest.json: coef·labor 해시/크기 갱신, selection_pending에 토량 중복행
  채택 항목 등록 (rate_environment와 동일 패턴 — 값 선정형은 미결표 미등록)
- 원가_입력변수_사전: G3에 신뢰도 플래그 설명 추가

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 08:11:06 +09:00
eomsangdonandClaude Fable 5 6df07f60a1 fix(knowledge): 검토내역 8건 반영 — 상한 제거·행정규칙 부칙 복원·회귀검사 신설
타 AI 검토내역(tmp/기술문서DB_검토내역_260814.md) 전수 검증 후 동의분 적용.

파이프라인:
- fix_fences.py units[:20] / collect_law.py 별표 limit=80·변경이력 [:40] 상한 제거
- gen_md.py 기준목록 출력을 운영본(04_참조_법령기준_목록.md) 경로로 정정
- README 구경로(docs/raw/law) 3곳 현행화, ruff format 일괄 적용
- verify_structure.py 신설: XML↔md 부칙·목·별표·CHANGELOG 행수 회귀검사

신규 발견 결함 2건 정정 (검토내역에 없던 것):
- 행정규칙 XML은 부칙내용이 부칙 직속(부칙단위 래퍼 없음) — 변환기가 미처리해
  행정규칙 md 22건에 부칙 전무. patch_law_md 확장 후 부칙 138건 복원
- patch_law_md 부칙 dedup 키가 괄호형 타법개정 헤더 미매칭 — 재실행 시
  기존 부칙 1,724건 중복 추가되는 비멱등 결함. 정규식 보강

재수집 (law.go.kr):
- 대기환경보전법 시행규칙 별표 PDF 78건 추가 확보 (80→158, 전수)
- CHANGELOG 절단 3건 재생성 (고용보험법 시행령 42·국가계약법 시행령 41·
  대기환경 45회 — API 연혁과 전건 일치 확인)

기술문서·데이터:
- _최종검증로그: 55문서 스냅샷 범위 명시 (현재 65문서, 신설 10건 미검증 주지)
- 제비율.md frontmatter에 조달청 제비율(2026.04.13)·국민연금법 출처 보강
- 원가_입력변수_사전: 장비대금 지급보증을 공사종류별 표로 정정, csv→json 표기
- labor_const JSON: 원문 노임 118건 전건 일치 확인 후 해시만 재동기화
  (원문 변경분 = 신뢰도 플래그 컬럼뿐, 단가 무변)

검증: verify_structure 결함 0건, patch_law_md 재실행 +0 (멱등),
원가 JSON 해시 56건 중 잔여 불일치 1건(coef_2026 — 사용자 협의 대상)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 07:47:36 +09:00
eomsangdon 46bcaf4f4a docs(knowledge): 원문 인용 4원칙·갱신주기표 + 원가 입력변수 데이터셋 10건
- 00_운영지침 §5: 원문 인용 4원칙 신설(범위 축약 금지·조건 단서 동반·법률
  부칙 특례 확인·교본값을 현행으로 쓰지 않기) — 감사 오류 30건의 공통 원인
- §6: 갱신 주기표(산재고시 2027-01·노임 2026-09·제비율 분기·품셈 연간),
  재검토기한 경과 고시 4건, patch_law_md 절차
- data_cost_input_value: 노임·자재·품·제비율·환율·유가·중기·계수 JSON 10건
2026-08-14 20:38:52 +09:00