Commit Graph
38 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 89f8af2ad4 chore(M01): 현장 일위대가 GX000002 채움재 · GX000003 돌쌓기 메쌓기 — 메인 폴더 화면 편집(사용자 편집)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YAxqrz1iadqdygC6bE3pic
2026-10-01 12:36:31 +09:00
eomsangdonandClaude Opus 5.5 57ce7bb21b chore(M01): 현장 일위대가 GX000001 돌쌓기 메쌓기(인력) — 메인 폴더 화면 편집(사용자 편집으로 봄)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YAxqrz1iadqdygC6bE3pic
2026-10-01 12:12:00 +09:00
eomsangdonandClaude Opus 5.5 4d128335cf fix(M01): 공통 7장 석재판 붙임 로직 없음(절 누락) 2절에 새 로직 (PLAN 28-2a)
- 7-4-2 앵커 긴결공법 · 7-4-3 강제트러스 지지공법 — GC001138 · GC001139
- QC000495 · QC000496 범위규칙 앞에 엔진 이름 「초과·이하」 · 용도.로직키 연결

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-09-30 13:40:36 +09:00
eomsangdonandClaude Opus 5.5 8c9e51936d fix(M01): 유지관리 3장 건축 · 4장 기계설비 로직 없음(절 누락) 34절에 새 로직 (PLAN 28-2a)
- 새 로직 파일 로직_건설품셈_03장_건축.json(25) · 로직_건설품셈_04장_기계설비.json(9) · 부문 유지관리 · 차례 55 · 56
- GC001104~1137 · 표 용도.로직키 연결

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-09-30 13:39:08 +09:00
eomsangdonandClaude Opus 5.5 e63cadfde4 fix(M01): 산림 13장 로직 없음(절 누락) 5절에 새 로직 (PLAN 28-2a)
- 13-4-6 밑돌·천단 돌쌓기 · 13-10-2 나무 말뚝박기(작은 말뚝 · 기초말뚝 · 윈치말뚝) · 13-11-1 원형 · 13-11-2 타원형 돌망태 · 13-15-1 목재 껍질벗기기
- GF000324~330 · 표 용도.로직키 연결

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-09-30 13:32:08 +09:00
eomsangdonandClaude Opus 5.5 bf5f4001c3 fix(M01): 산림 8장 로직 없음(절 누락) 7절에 새 로직 (PLAN 28-2a)
- GF000317~323: 나무주사 약제주입기·약제주입병 · 끈끈이 롤 트랩 · 드론방제 · 지상방제 차량살포 · 그물망 피복 · 이동식 임목 파쇄
- 쓰는 표의 용도.로직키 · 범위규칙 세 표에 엔진 이름을 앞에 붙임

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-09-30 13:26:11 +09:00
eomsangdonandClaude Opus 5.5 b20c702c54 fix(M01): 산림 7장 로직 없음(절 누락) 10절에 새 로직 (PLAN 28-2a)
- GF000307~316: 수라집재 · 트랙터부착형·HAM200 숲가꾸기 · 타워야더 가선설치·해체 · 부착형 타워 수확·숲가꾸기 · 굴착기 우드그랩 산지집재 · 동력상하차기 집적 · 검척
- 쓰는 표의 용도.로직키 · 범위규칙 열한 표에 엔진 이름을 앞에 붙임
- 7-1-1 은 표 QF000178 에 천연림·인공림이 섞여 못 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-09-30 13:23:17 +09:00
eomsangdonandClaude Opus 5.5 ac0b55e819 fix(M01): 산림 6장 로직 없음(절 누락) 3절에 새 로직 (PLAN 28-2a)
- GF000304~306: 칡덩굴 소금처리 · 칡덩굴 뿌리제거 · 교목 시비
- 쓰는 표의 용도.로직키 · 범위규칙 세 표에 엔진 이름(이상·미만)을 앞에 붙임

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-09-30 13:22:03 +09:00
eomsangdonandClaude Opus 5.5 fd3800857d fix(M01): 산림 5장 로직 없음(절 누락) 14절에 새 로직 (PLAN 28-2a)
- GF000290~303: 관목굴취 · 교목굴취(나무높이 · 근원직경) · 뿌리돌림 · 관목식재(단식 · 군식) · 교목식재(나무높이 · 흉고직경) · 단끊기 · 표토절취 · 표토펴기 · 막갈이 · 흙부수기 · 매트 포장
- 쓰는 표의 용도.로직키 · 범위규칙 열 표에 엔진 이름(이상·이하 · 이하)을 앞에 붙임
- 5-5 · 5-26-3 은 표 조건 칸이 없어 못 고침

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-09-30 13:18:31 +09:00
eomsangdonandClaude Opus 5.5 d8e5723c78 fix(M01): 산림 4·9·10장 로직 없음(절 누락) 38절에 새 로직 (PLAN 28-2a)
- 9장 27절(GF000252~278): 암파쇄 · 발파(10%) · 깎기(90%) · 기계소할 · 콘크리트·아스팔트 깨기 · 포장절단 · 측구·구조물 터파기 암 14절 · 살수 · 발파암 비탈면 고르기
- 10장 7절(GF000279~285): 인력운반 3절 · 짐내리기 · 덤프 자재운반 · 덤프운반(굴착기 적재+15ton) · 묘목 인력운반
- 4장 4절(GF000286~289): 수확베기 · 단목베기 100본·1,000㎡ · 위험목 베기
- 쓰는 표의 용도.로직키 · 4장 범위규칙 네 표에 엔진 이름(이상·이하 · 이상·미만)을 앞에 붙임(원문 설명은 뒤에 그대로)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-09-30 13:17:10 +09:00
eomsangdonandClaude Opus 5.5 4abfc5b265 refactor(M02): 자재 조합 표를 마스터 템플릿으로 옮김 · M02 좌측 「자재 조합」 컨테이너
- 표 resources/master_data/자재조합.json → resources/master_template/자재조합.json(git mv) · 키 UM 은 표 안 「다음」 번호 · _키대장 · master_keys 의 UM 뺌 · check_master 틀이 새 자리를 같이 봄
- 서버: M01 /api/m01/matset* 뺌 · M02 저장소 M02_MasterTemplete_Matset.py(목록 · 새로 · 고치기 · 지우기 · 쓰는 열 검사) · 길 GET/POST /api/m02/material-combos · PUT/DELETE /api/m02/material-combos/{키} · 갈라 내기(branchMaterialCombo)도 이 저장소로
- 화면: M01 좌측 「자재 조합」 컨테이너 뺌 · M02 좌측 「자재 조합」 컨테이너(찾기 · 키 맨 앞 목록 · 새로 · 본떠 만들기 · 지우기) · 메인 칸 상세(이름 · 비고 · 본뜬키 · 담은 자재 표 · 자재 더하기 · 빼기 · 저장) · 쓰는 열이 있으면 지우기는 확인 창 없이 알림
- 시험: test_m01_matset → test_m02_matset · test_m02_combo_branch 사본 자리 · 실제 자재 코드

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VwJQ5eRrCKf3nH9EFeKvJz
2026-09-28 22:25:30 +09:00
eomsangdonandClaude Opus 5.5 e76e638013 feat(M02): 조합 갈라 내기 길 · 자재 조합(UM) 표 · 본뜬키 칸 · 분류 더하기 열 복사
- POST /api/m02/structures/{열}/combo — 고친 담은 로직으로 새 UA(같은 로직 집합이면 있는 키) · 집계표 그 열만 새 키 · 판 어긋나면 조합 만들기 전 409 · SS 장부 맞춤
- 일위대가 조합 줄에 본뜬키 칸(원래 키) · 기존 37 줄 null · M01 고치기에서 안 보내도 유지
- 자재 조합 표 resources/master_data/자재조합.json(키 UM · 대장 등록 · 틀 검사) · POST /structures/{열}/material-combo · GET /material-combos/{키}
- 구조물집계표조합 칸 자재조합 · 분류 더하기로 복사한 열은 저장 때 원본 열의 일위대가 · 자재조합 키와 구조물 도면 · 면적산출 · 재료산출 내용을 새 번호로 받음
- Api_Fetch branchCombo · branchMaterialCombo · fetchMaterialCombo

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011vX53nJGC8ucBRFJns2n7B
2026-09-28 18:56:51 +09:00
eomsangdonandClaude Opus 5.5 0a31a77909 knowledge(단가산출): 보류했던 일위대가 조합 12개 넣음 — 있는 로직만으로 · 로직 1개여도 넣음 (PLAN 9-4)
- UA000026~UA000037 · 로직 1개 2 · 2개 7 · 3개 2 · 4개 1 · 빈 조합 0
- 옛 판 값 줄은 이름 핵심이 맞으면 담음 · 이름이 다른 짝과 우리 로직에 없는 줄은 비고
- 이미 넣은 24개는 그대로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QENJAMbjcnKJNq5n9k1fDU
2026-09-24 23:47:50 +09:00
eomsangdonandClaude Opus 5.5 8244919312 knowledge(단가산출): 실무 일위대가 조합 24개 넣음 — 거창 · STC 호표를 우리 로직 조합으로 · 단위 둘은 나눔 (PLAN 9-2)
- 일위대가조합.json UA000002~UA000025 · 담은 로직 = 계산이 같아진 로직(실무 줄 차례) · 메모 = 실무 품명
- 비고 = 못 맞춘 줄 「품명 규격 — 까닭」 + 실무 호표
- 횡단개거 · 기초 콘크리트 · 콘크리트포장은 단위별로 나눔 · 횡단개거(m) 은 로직 1개라 보류
- _키대장.json UA 다음 번호 26 · 대장 키 차례 정렬

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QENJAMbjcnKJNq5n9k1fDU
2026-09-24 23:08:46 +09:00
eomsangdonandClaude Sonnet 5 ada55c2b68 feat(M01): PLAN 7-4b 뒤 절반 ④⑤ — 재료_품셈재료.json 을 old/ 로 옮김(MP 직접참조 다 걷음)
되돌렸던 옮기기를 마무리. 앞서 놓친 자리 — 호표 「요소」 칸만 훑어서 덧줄·수량
식 안에 그대로 박힌 MP 참조 16곳(집수정 뚜껑·철망태·쉬즈관·IV전선·백열등·
바퀴숫돌 넷·버너·노즐·테르밋용재·몰드·골무·퓨즈·용접봉)을 못 봤음 — 자재품목에
새 줄 일곱(값 미확보) · 기존 줄 셋(백열등·망태석·용접봉, 가장 맞는 것으로 이음)에
연결하고 식 안의 MP 키 문자열을 그 자재품목 키로 바로 바꿔치기(품셈재료 간접 없이).

재료_품셈재료.json 을 resources/master_data/old/ 로 옮김(지우지 않음) — check_master.load()
가 `*.json` 만 훑어 자동으로 빠짐(코드 안 고쳐도 검사·엔진 다 끊김) ·
build_품셈재료_고르기.py·build_로직_재료_고르기.py 는 다시 안 돌림(한 번 쓰고 마침).

시험 — 옛길(품셈재료 간접)이 죽지 않았는지 자체 마스터로 확인하는 시험 셋을
고쳐 남김(실화면 대신 합성 데이터) · 이제 못 보는 화면 기능(품셈재료 목록·
연결 안 된 줄 거르기) 시험 둘은 뺌(기능 자체가 오늘 사라짐) · 자재품목 분류
기대표에 새로 이은 것들 더함(스페이셔와 같은 이유로 이름 다른 셋 더 뺌).

_틀.md — 재료_품셈재료 절을 「old/ 로 옮김·자료로만 둠」으로 고치고, 7장에
지역·계약종별 고르기 조건 칸을 추가.

typecheck 통과 · 관련 시험 107 통과 · 로직 1354개 전수 대조 — 금액 달라짐 0 ·
새로 멈춤 0 · 새로 통과 2(GC000374·GF000235, 덧줄 식이 못 풀던 것이 오늘 이어져
정상적으로 풀림). PLAN.md 는 이 워크트리에 7장이 없어(gitignore·기기별 파일)
체크 못 함 — 반복된 자리(문서에 이미 적음).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-22 14:14:24 +09:00
eomsangdonandClaude Sonnet 5 3dd00a5608 feat(M01): PLAN 7-4b 뒤 절반 ④ 채비 — 버너·퓨즈 새 줄 둘로 이어 남은 MP 직접참조 0
버너(MP000209)·퓨즈(MP000214)는 어제 「후보가 있어도 물건이 달라 못 고름」으로
남겨 뒀으나, 재료_품셈재료.json 을 old/ 로 옮기려면 로직의 MP 직접참조가 다
없어야 함 — 자재품목에 값 없는 새 줄 둘(MT030710 버너·MT030711 퓨즈)을 만들어
그리로 이음(PLAN 7-4b ① 106종과 같은 자리 — 이름·규격·단위·출처 채움 · 값 다섯
칸 빔 · 비고에 왜 기존 후보를 못 썼는지). _키대장.json 갱신 · build_로직_재료_고르기.py
다시 돌려 로직 2줄 반영 — 로직의 「MP……」 직접참조 0(옛 22줄 + 오늘 1줄 = 모두 끝).

typecheck 통과 · 관련 시험 108 통과 · 로직 1354개 전수 대조 금액 달라짐 0·새 멈춤 0.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-22 13:58:52 +09:00
eomsangdonandClaude Sonnet 5 73109fe0e8 feat(M01): PLAN 7-4b 앞 절반 — 품셈재료 값 없는 재료 자재품목 새 줄 106 · 모래·자갈 전국지역 분리 · VR관 1본=2.5m
품셈재료 가운데 자재품목에 짝 없어 로직이 부르는 재료 106종(원 분류의 139줄 대응)을
자재품목에 새 줄로 만듦 — 이름·규격·단위·구분·상세구분·출처(품셈재료 키·요구절)만
채우고 값 다섯 칸(물가자료·유통물가·물가정보·거래가격·관급)은 모두 빔 · 비고에
「품셈재료에서 옮김 · 값 미확보」 · 키는 MT030600부터(_키대장.json 갱신).

이름이 옛 분류 규칙에 안 걸리는 93종(건설품셈 13장 플랜트설비 소모품 위주)은
build_자재품목_분류.py 에 정확한-이름 대응표를 새로 두어 채움(정규식 우선순위는
안 건드림 · 기존 30592줄 분류 결과 그대로 · 미분류 25줄 불변).

모래·자갈(중량 kg, 자재품목엔 ㎥ 지역줄만 있음)은 한 줄로 안 굳히고 전국 대표 자리 ·
지역별 자리 두 줄씩(4줄) 나눠 둠. 전력은 재료_유가전력.json 에 이미 있어 그대로 둠(안 옮김).

VR관(GF000173 막힘 원인)은 고려콘크리트산업 규격표로 1본=2.5m(D300~D1200 공통) 확인 —
그 22줄 비고에 환산 계수·출처 적음(D1500 은 표에 없어 그대로 둠).

품셈재료 자체는 이번엔 안 옮김(다음 일감) · 로직·조합 파일은 안 건드림.

typecheck 통과 · test_자재품목_분류.py·test_masterdata_check.py 80 통과(미분류 0 신규).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-22 12:39:33 +09:00
eomsangdonandClaude Sonnet 5 e3e8fc15e2 feat(M01): 견본 조합 하나를 정본에 넣음 — 이름에 견본 표시 · 담은 로직 셋 · 서버 길로 저장 (일감 31)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-22 01:51:48 +09:00
eomsangdonandClaude Sonnet 5 a674b92512 knowledge(M01): 계수 1-2-4 5·6항 표 셋 올림 — 발생재 공제율 · 강관배관 부자재율(일반업무용·병원) · 본문 대조 절 전체로 복원
- CC000338~340 · 원문 수 그대로 · 쓰는 로직 없음(로직키 빈 목록) · 본문 대조 0건

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 01:18:19 +09:00
eomsangdon e73ef5d3a0 feat(M01): PLAN 3-4 복사해서 만들기 화면 — 별칭 꼴 식 편집·표 바꾸기·로직 부르기 갈래·시험 계산·저장
- 새 M01_MasterData_UI_LogicLab_Copy.ts — [본떠 만들기] → GET /logic/formula(별칭 폼) 편집
  → 표 바꾸기 모달(소요량·계수 검색) · 로직 부르기 그대로/같이 복사 갈래 · 식 줄 고치기·덧줄 더하기
  → POST /logic/formula/preview 로 되돌린 실제 식을 buildCalc 로 재사용해 시험 계산
  → POST /logic/formula/save 로 자체 로직(GX) 저장 · afterSave 로 LogicLab 이 새 키를 바로 엶
- 서버: POST /logic/formula/preview 새로 더함(저장 없이 별칭만 원문으로 되돌림) · 계약 7장 반영
- LogicLab.ts 는 「본떠 만들기」 단추 한 줄만 붙임(정본 로직 화면·New 화면은 안 건드림)
- ORCA 로 13-4-1 을 본떠 저장 — 안 고치면 79,279.668 로 원본과 같음 · 석공 줄 곱 2배로 고치면
  131,716.728 로 바뀜 확인 · 시험 흔적(GX000001·로직_자체.json·키대장 GX 번호) 지움·되돌림
- 시험 `test_m01_copy.py` 에 미리보기 시험 둘 더함 · M01 시험 130 통과 · typecheck 통과
2026-09-21 21:12:43 +09:00
eomsangdonandClaude Opus 5 8f5566e7c5 feat(master_data): 모래·자갈 단위중량 계수표와 레미콘 강도·슬럼프 설계 입력
- 계수 CC000337 「재료의 단위중량」(건설품셈 공통 1-2-4 3) — 원문 표 47줄을 「아래」·「위」 두 값 칸으로 폄
- GF000156·GF000157 — 「모래상태」·「자갈상태」·「모래단위중량」·「자갈단위중량」·「자재지역」 입력 · 중간 밀도로 kg 호표를 ㎥ 로 환산(0 이면 고른 상태의 표 위끝)
- 레미콘 14줄 — 품셈재료 MP000001 을 고르기 조건 {레미콘 · 규격 "{굵은골재최대치수}-{강도}-{슬럼프}"} 로 바꾸고 설계 입력 셋 추가 · 부르는 GF000170·GF000171 에 넘김
- 엔진 — 덧줄에서 `줄.'호표 줄 이름'` 으로 그 줄 금액을 집음(GF000185 콘크리트다짐)
- 일괄 시험 계산 통과 1,279 → 1,291 · 멈춤 75 → 63 · 단위 경고 14 그대로 · 틀 0 · 로직 0

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-21 08:26:53 +09:00
eomsangdonandClaude Sonnet 5 565833bcb8 feat(master_data): 관급 보강 후보 합침 — 다산 같은 품명 줄에 조달청 최저가 · 새 줄 6,239
- 다산에 같은 품명(그레이팅 · 맨홀뚜껑 · 보행매트 · 합성목재 · 용접철망 · 갈매기표지판 · 고무링 · 혼합골재 등): 같은 치수 후보의 최저가를 관급 열에 채움 · 안 맞으면 비움
- 다산에 없는 품명(관 · 안전시설 · 종자·비료·식생 · 골재·경계석 · 매트 · 목재): 새 줄 6,239 · 자재품목 24,353 → 30,592
- update_관급단가_합침.py 신설 · apply 가 부름 · 다시 돌려도 같은 결과
- 설계 문서에 합친 결과 · 시험 추가

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-20 20:59:27 +09:00
eomsangdonandClaude Sonnet 5 e013168b40 knowledge(유가전력): 전력 줄 두 줄로 줄임(사용자 확정) — 로직 「전력 계약종별」 고르기도 맞춤
재료_유가전력.json 전력 18줄 가운데 두 줄만 남김: ① 주택용 저압 전력량요금
120.0원/kWh(처음 200kWh까지, 옛 키 MO000058 그대로) ② 일반용(갑)Ⅰ 저압 전력량요금
한 줄(여름 132.4·봄가을 91.9·겨울 119.0 세 계절 단순평균 114.4원/kWh, 새 키
MO000073) — 비고에 계절 평균 값을 남김. 기본요금·최저요금·산업용(갑)Ⅰ·임시전력(갑)
16줄은 마스터에서 뺌(md 원문에는 그대로) — _키대장.json 「폐기」로 옮김(build 스크립트가
다시 돌아도 같은 결과, 번호 재사용 없음).

로직_건설품셈_13장_플랜트설비공사.json의 「전력 계약종별」 입력 고르기 8곳 모두
["주택용 저압", "일반용(갑)Ⅰ 저압", "산업용(갑)Ⅰ 저압"] → 두 가지로 맞춤(산업용 뺌).

품셈재료 「전력」(MP000358) 연결은 {"이름": "전력량요금", "계약종별": "입력"} 구조라
바뀐 줄에도 그대로 이어짐 — master_material.py 코드 변경 불요(구분·상세구분·이름
앞머리로 찾는 방식이라 데이터만 바뀌면 됨).

검증: check_master 틀·로직 0건(전체) · test_masterdata_check·test_m01_api 72건 전부
통과(test_전력은_계약종별로_고름이 MO000058.값=120 그대로 확인). 계산 결과 전후 동일.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WaS48Nvs26o3aFUpcfJxVv
2026-09-20 20:17:57 +09:00
eomsangdonandClaude Opus 5 a367f2afe1 knowledge(마스터): 엔산법 등급 적용 · 상태 「추정」 들임 — 미확보 28 → 9
- 기술사·특급~초급기술자·고급~초급숙련기술자·기계기사·기계산업기사 열 줄을 엔지니어링 현행 줄 옛이름으로 옮김(부문은 일반값 · 기계기사류는 기계·설비) · 로직 참조 326 곳 갈아 끼우고 호표에 「옛이름: ○○」
- 상태 「추정」 신설 — 구분은 대응 직종 것 · 값은 비움 · 준용에 대응 직종 키 · 호표 출처 「준용: ○○(추정)」 · M01 고르기에서 거름
- 추정 아홉 — 제관공·마킹공·현도공·산소절단공 → 플랜트제관공 · 제도공 → CAD설계사(기계) · 공작기계공 → 선반기조작원 · 옵셋인쇄공 → 종이및합성수지인쇄기계조작원 · 정보처리기사 → 초급기술자(정보통신) · 시험사1급 → 비파괴시험공
- 원문이 대응을 정하지 않은 아홉(절단공 · 사진제판공 · 사진식자공 · 측량조수 · 시공측량조수 · 시공측량기사 · 측량기사 · 측량사 · 특수운전공)은 미확보 그대로

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 19:29:47 +09:00
eomsangdonandClaude Opus 5 76ee8acb4b knowledge(마스터): 전력을 재료_유가전력으로 연결 — 자재품목 전력 2줄 뺌
- 품셈재료 「전력」 연결 = {이름: 전력량요금, 계약종별: 입력} — 유가전력 전력 줄을 가리킴
- 전력 쓰는 로직 8 줄에 입력 「전력 계약종별」(주택용 저압 · 일반용(갑)Ⅰ 저압 · 산업용(갑)Ⅰ 저압) — 품셈·계약예규에 계약종별 규정 없어 기본값 두지 않음
- 임시전력(갑)은 주택용 저압 요금 그대로(요금표 6.가) — 따로 고르기에 두지 않음
- master_material: 자재품목 아닌 줄은 「값」 한 칸으로 읽고 계약종별 후보를 고름 · check_master 연결 모양·끊김 검사도 맞춤
- 자재품목 MT000006 · MT000007 삭제 → _키대장.json 「폐기」 · 빌더 DROP 에 더해 다시 만들어도 같음
- _틀.md 재료 절 · 시험 둘 고침(전력 계약종별 · 연결 낮은 값은 시멘트로)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 19:11:34 +09:00
eomsangdonandClaude Opus 5 7b017e61c6 knowledge(마스터): 미확보 직종 넷 적용 — 옛이름 둘 · 품 배분 하나 · 절단공은 그대로
- 고급기능사(분야 없음) → 측량노임 항공사진고급기능사 옛이름 · 로직 9-5-1 참조 옮김
- 리베팅공 → 건설노임 철골공 옛이름(2010 통합표 연번10) · 로직 13-6-4 참조 옮김
- Belt Conveyor 설치공 → 13-10-1 주② 배분으로 다섯 줄(플랜트기계설치공 37.5 · 비계공 12.5 · 철골공 12.5 · 용접공 12.5 · 특별인부 25)
- 절단공 = 통합표 네 갈래(철근공·철공·철판공·철골공) 가운데 13-06 절 원문이 가르지 않아 그대로 둠
- 옮긴 셋은 인력 미확보에서 지우고 _키대장.json 「폐기」 로 · 미확보 31 → 28
- 로직 일괄 시험 계산 통과 991 → 993 · 멈춤 363 → 361(Belt Endless 두 줄)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 19:03:16 +09:00
eomsangdonandClaude Opus 5 e48ffa26cb merge(마스터): sub_laptop_4 관급 확대 합침 — 자재품목 열 정리 위에 조달 값·새 줄 얹기
- 자재품목 = 내 열 정리(유류 5줄 삭제 · 원문번호 칸 없음) 기준 · 저쪽 관급 값 1,012 줄 · 비고 1,507 줄 채택
- 조달청에만 있는 380 줄 더함 — 원문번호 칸 없이 · 키 MT023981~MT024360 은 _키대장.json 에 등록
- update_관급단가.py 는 procured() 로 대장에서 「조달청 …」 키를 가려 짝지음 — 줄의 원문번호 칸을 보지 않음
- _키대장.json 「다음」 MT 24361 · MO 73 · 「폐기」 는 양쪽 합집합

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 18:58:02 +09:00
eomsangdonandClaude Opus 5 4db7236f55 merge(마스터): main_desktop_1 재료_유가전력 합침 — 키 대장 「다음」·「폐기」 합치기
- 「다음」 MO 73 채택(저쪽 새 키) · 나머지는 같음
- 「폐기」 는 양쪽 합집합 — 유류 5줄·되풀이 기호·MN 유지

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 18:53:40 +09:00
eomsangdonandClaude Sonnet 5 cabc7e68d2 knowledge(유가전력): 실내등유 오피넷 수집 + 한전 전기요금표 별표1 확보 · 재료_유가전력.json 신설
전력: 한전 사이버지점 전기공급약관 별표1(월간 전기요금표, 2025-01-01 시행 (C)판)을
resources/knowledge/original/원가계산/전기요금_한국전력/20250101/ 에 원문·완전 md화로
보관. 건설품셈 1-5-2호·산림품셈 1-7-2호·계약예규 예정가격작성기준 §19·§34를 대조 —
전력비를 어느 계약종별로 계상하라는 조문은 없음(전부 「실비 계상」만 규정) — 지어내지
않고 마스터 비고에 그대로 기록.

실내등유: 오피넷 OpenAPI 제품코드 C004를 collect_cost_sources.py 시도별 수집 루프에
추가(전국평균은 avgAllPrice 응답에 이미 포함되어 있어 코드 변경 불요). 오늘 자로 실제
수집해 유가_전국평균_2026-09-20.json · 유가_시도별_2026-09-20.json 저장.

마스터: 재료_오피넷유가.json → 재료_유가전력.json(테이블ID MO 그대로, 키 이어받기·
_키대장 다음 번호 37부터 신규 36줄). 기존 휘발유·경유 36줄은 로직 계산 결과가 갈리지
않도록 옛 판(2026-08-14/09-09) 값을 그대로 지니고, 구분 칸만 전국평균/시도별→유류로
바꿈. 실내등유 18줄(전국평균+17개 시도)과 전력 18줄(주택용·일반용(갑)Ⅰ·산업용(갑)Ⅰ
저압·임시전력(갑) 저압 위주 주요 계약종별)을 새로 추가. 파일 머리에 「구분」 등록부
(유류/전력 각각 원문·기관·판·지식DB 경로)를 둬 M01 /subs 가 두 갈래를 갈래대로 보게 함.
재료_유가전력.json을 만드는 build_재료_유가전력.py 신설(다음부터 이 스크립트로 갱신).

파일 이름·원문 규칙에 맞춰 master_keys.py·check_master.py의 "오피넷유가" 키를
"유가전력"으로, M01_MasterData_UI_Side.ts의 재료 탭 이름도 같이 고침 — 로직의
MO:{연료}:{지역} 참조는 원문번호로만 찾아 영향 없음(로직 파일은 손대지 않음).

검증: check_master 틀 0건(전체) · 로직 0건(전체) · test_masterdata_check·test_m01_api·
test_b09_fuel_region 73건 전부 통과(계산 결과 전후 동일 확인).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WaS48Nvs26o3aFUpcfJxVv
2026-09-20 18:44:21 +09:00
eomsangdonandClaude Opus 5 991b671c32 knowledge(마스터): 되풀이 기호 바로잡기 · 미공표 산정 버림 · 자재품목 유류·원문번호 정리
되풀이 기호(〃 · ″ · " · 上同)
- 값·칸이름이 통째로 되풀이 기호인 자리 167 곳을 윗줄 값으로 — 단위 · 장비구분 · 장비명 · 항목 · 비고 · 재질
- 소요량 13-6-3 · 13-6-5 · 13-6-9 의 직종 칸 「〃」·「"」 는 윗줄 직종(플랜트제관공)으로 합치고 로직 식 8 곳도 함께
- 인력 LB000399(이름 「〃」)는 직종이 아니라 되풀이 기호 — 줄을 떼고 대장에 폐기
- 인치 기호(1/2〃 · ø12〃)와 설명 글 속 기호는 그대로

건설노임 미공표 산정
- 회차마다 증가율을 곱할 때 원 미만 버림 — 다산소프트와 같은 방식 · 값은 원 단위 정수
- 비고 「4-라 산정: 2025.9 210,772원 × 증가율(원 미만 버림)」
- 미공표직종_추적.md 5절 「단계마다 버림(채택)」 열을 채택으로 바꾸고 산정값(처리 없음)은 견주기용으로 남김

자재품목
- 유류 5줄(휘발유 · 경유 · 선박용경유 · 중유 · 등유) 뗌 — 값이 비고 글뿐 · 대장에 폐기 · 빌더도 뺌
- 품셈재료 중유(MP000359)는 미연결 — 중유는 받지 않기로 함 · 전력 2줄은 그대로 둠
- 원문번호(다산소프트 품번 M000…) 열 삭제 — 대조는 _키대장.json 에만
- 로직·품셈재료의 품번 참조 330 곳을 키로 · master_formula 는 「ID:키」 도 받음
- check_master · master_keys.stamp · M01 저장은 NO_NUMBER 테이블을 알아봄 · _틀.md · _화면_계약.md 도 맞춤

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 18:36:08 +09:00
eomsangdon 3b37f9d24d Merge remote-tracking branch 'origin/dev' into sub_laptop_4 2026-09-20 18:20:53 +09:00
eomsangdonandClaude Sonnet 5 e44365365b feat(master_data): 관급 제조사별 최저가 채움 · 조달청 2차 받기 · 짝짓기 갈래 · 새 줄 380
- 제조사별로 값이 갈리면 같은 규격 최저가 + 비고에 제조사 (보류 394 채움)
- 조달청 분류 23개 더 받음 (원본 gz 보관) · 시멘트 · 조경석 · 주철관 · 이음관 · 골재 · 측구수로관 · 볼라드 · 맨홀 · 용접철망 · 돌망태 · 매트 짝짓기
- 조달청에만 있는 금속돌망태 372 · 토목용부직포 8 을 자재품목에 새 줄로 들임 (키대장 갱신)
- 다산 값 대조 기준 ±5% · 짝짓기 시험 11건 · 설계 문서 갱신

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-20 18:06:15 +09:00
eomsangdonandClaude Opus 5 eb7cc60070 knowledge(마스터): 조종원 노임 시간 환산 · 빠진 기계 줄 되살리기
- 조종원 시간 환산 계수 셋(1/8 · 16/12 · 25/20)을 CC000336 으로 올림 — 출처 질의회신 건협기술-2230(2001.05.29)
- 기계 시간당 경비 계열 로직 여덟 줄의 조종원 수량을 하루 노임 × 1/8 × 16/12 × 25/20 으로 바꿈(비고 「환산 근거 미확인」 걷음)
- 다산소프트 기계경비 차이 중앙값 -16.7% → +0.2% · 조종원 -40.0% → +0.0% · 일위대가 중앙값 -0.6% → +0.0%
- 마스터에 있으나 로직에서 빠져 있던 기계 줄 열여섯 자리를 되살림(래머 · 소형브레이커 · 배관파이프 · 프라즈마 절단기 · 크레인 150ton · 트럭 2.5~10.5ton · 노면파쇄기 · 라인마커 · 종자살포기 · Trailor 30ton)
- 산림 09장 돈 로직 셋(GF000249 다짐 · GF000250 표토제거 답외 · GF000251 비다짐) 새로 세움
- 손료만 쓰는 로직(GC000273)의 손료 식을 「가격 × 손료계수」 로 — 상각·정비·관리를 안 나눈 기종도 셈이 됨
- 검사 도구: 품셈 본문이 아닌 출처(질의회신)는 절 대조 대상에서 뺌

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 17:29:17 +09:00
eomsangdonandClaude Opus 5 b2a762d8e1 knowledge(마스터): 나라장터 빼기 — 로직 호표를 자재품목으로 갈아 끼우고 MN 폐기
- 로직이 가리키던 나라장터 자리 121(정적 키 18 · 고르기 13벌)을 자재품목(MT) 줄로 갈아 끼움 — 이름·규격·단위가 맞는 줄 · 지역이 갈리는 품목은 서울 줄.
- 자재품목에 맞는 줄이 없는 넷은 품셈재료 미연결로 돌림 — 시너(MP000266) · 동 및 동합금용 용접봉 BCUP3 · 폴리에틸렌필름 0.04㎜ · 아스팔트싱글(새 줄 셋).
- 엔진이 자재품목 키를 바로 받으면 값 열 다섯 가운데 낮은 값(시험 계산용) · 출처는 「키.열」.
- 재료_나라장터자재.json 과 그 빌더를 old 로 옮기고 키 대장에 MN 폐기 · check_master · 키 대장 · M01 서버·화면 · _틀.md · compare_estx 의 나라장터 자리 정리.
- 끝 검사: check_master 틀 0 · 로직 0 · 일괄 시험 계산 통과 988 · 멈춤 363(앞 989 · 362 — 아스팔트싱글 한 줄) · pytest 67 통과 · typecheck 깨끗.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 16:49:47 +09:00
eomsangdonandClaude Opus 5 9de61eb251 knowledge(마스터): 재료 열 한 벌 정리 — 시중물가 → 자재품목 · 값 다섯 열 · 유가·환율도 같은 열
- 재료_시중물가.json → 재료_자재품목.json(테이블ID MT · 키 그대로) · 모든 줄이 같은 열 한 벌(키 · 원문번호 · 구분 · 상세구분 · 이름 · 규격 · 단위 · 물가자료 · 유통물가 · 물가정보 · 거래가격 · 관급 · 출처 · 비고 · 면수)
- 값 묶음(시중·조달)을 풀어 다섯 값을 열로 · 관급 = 조달 값(4,552 줄 · 기간은 비고 「조달 26.7」) · 원문 가격정보만 남은 72 줄은 값 열에 안 넣고 비고 「가격정보 ○○」 · 구분·상세구분은 원문에 분류가 없어 비움
- 재료_오피넷유가 · 환율_한국은행환율도 열 한 벌(기준일 → 규격 · 유가 구분 = 전국평균/시도별 · 상세구분 = 지역) · 상품코드·지역코드 삭제
- 엔진 단가(연결된 줄의 낮은 값 · 출처 = 「<키>.<열>」) · check_master 열 검사 · M01 고르기(procure 걷어냄) · 빌더 · _틀.md · 화면 계약 · 시험 같이 고침

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 15:55:40 +09:00
eomsangdonandClaude Opus 5 0a33939a6b fix(마스터): _키대장.json 서식 되돌림 — 원래 한 줄 한 키
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 09:39:27 +09:00
eomsangdonandClaude Opus 5 260c9c99cb knowledge(마스터): 옛 직종 이름 적용 — 준용대상 16 직종을 현행 줄 「옛이름」 으로 옮김 · 엔진 통합 차례 없앰
- 인력.json — 원문 확인 대응만 현행 줄에 옛이름 칸 + 짧은 이력 비고 · 옮긴 준용대상 16 줄 삭제(48 → 32) · 절단공은 철근 작업 한 줄만 철근공으로 가름
- _키대장.json — 옮긴 16 키에 「폐기 → 새 키」
- 로직 5 파일 89 호표 줄 — 현행 직종 키로 갈음 · 줄 비고에 「옛이름: ○○」
- 엔진·틀·빌더·M01 — 값 → 준용 → 산정 차례 · 옛이름 칸 읽기 전용 · 이름 찾기에 옛이름 걸림

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 09:38:53 +09:00
eomsangdonandClaude Opus 5 6c9ac97b29 feat(master_data): 키 개편 — 테이블ID+6자리 키 · 인력·기계 한 테이블 · 장 파일 이름
- 모든 요소·표·로직 줄의 열쇠 → 키(LB000123 꼴) · 옛 열쇠·원문 번호는 원문번호 칸 · 대장 _키대장.json (키 36,840 · 다음 번호)
- 변수 적는 법 키로 — 로직 식·연결·준용·통합·후보·조달 연결 일괄 변환 · {이름} 낀 참조는 ID:원문번호
- 인력 8 파일 → 인력.json(줄마다 조사 · 머리 조사 묶음) · 기계 2 파일 → 기계.json(세부분류)
- 소요량·계수·로직 파일 이름 = 그룹_원문_NN장_장 제목 · 머리 부문·차례
- 엔진(값 찾기 · 알림에 키 옆 이름) · check_master(키 모양·겹침·대장·끊긴 키 · 기계 요소 줄도 본문 결손 대조) · M01 서버(새 줄 키는 대장 다음 번호 · 키 못 고침) · 화면 칸 이름만 맞춤
- 로직 일괄 시험 계산 1,351 줄 — 옮기기 전후 줄마다 결과·금액 같음

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 01:56:30 +09:00