Commit Graph
12 Commits
Author SHA1 Message Date
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 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 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