Commit Graph
331 Commits
Author SHA1 Message Date
eomsangdonandClaude Sonnet 5 9134b06641 knowledge(마스터): 요소 화면 검증 — 깨진 것 둘 기록
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-20 23:17:31 +09:00
eomsangdon edc77d48c9 Merge remote-tracking branches 'origin/sub_desktop_1' and 'origin/sub_laptop_1' into sub_laptop_2 2026-09-20 23:09:57 +09:00
eomsangdonandClaude Sonnet 5 734c31a5a7 fix(재료): 품셈재료 고르기 검증 반영 — 다른 물건 18줄 비움 · 규격 표기 정규화(∅→Φ) · 숫자 경계 맞대기
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-20 23:08:58 +09:00
eomsangdonandClaude Opus 5 e2ea63e844 feat(master_data): 재료 고르기 후보를 줄 단위와 같은 자재품목으로만 거름
- 엔진 — candidates·pick·element 에 unit · 호표 줄 단위를 그대로 넘김(우드칩 ㎥ 에 원목후로링 ㎡ 가 섞이던 자리)
- 후보 API — /materials 에 unit · 단가 미리보기도 줄 단위로 거름
- check_master 「단위」 검사 새로 — 조건 안 줄이 모두 다른 단위거나 대표 줄 단위가 다른 자리 37건(로직 검사와 따로 — 조건을 좁히라는 알림)
- 품셈재료 고르기 칸이 채워진 호표 줄 24개를 고르기 조건 묶음으로 바꿈
- 일괄 시험 계산 통과 1,270 → 1,272 · 시험 둘 더함

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 23:08:00 +09:00
eomsangdon f1632b0059 knowledge(master_data): build_용도.py ruff format 2026-09-20 23:07:55 +09:00
eomsangdon 26ceeaf9b0 feat(M01): 요소 찾기에 기계 구분·상세구분 싣기 · 소요량/계수 로직키 눌러 로직 탭 연결
_brief 응답에 구분·상세구분 추가(테스트 컨테이너 기계 후보 거름용)
표 상세화면 용도의 로직키를 누르면 로직 탭으로 전환 + 키 클립보드 복사(찾기용)
로직 목록을 직접 열지는 못함(로직 부분은 sub1 담당) — _화면_계약.md 한 줄 추가
2026-09-20 23:07:45 +09:00
eomsangdon 7a97260f28 Merge remote-tracking branches 'origin/sub_laptop_3' and 'origin/sub_laptop_4' into sub_laptop_2 2026-09-20 23:07:38 +09:00
eomsangdonandClaude Sonnet 5 28bd2ff0fc knowledge(마스터): 품셈재료 고르기 142줄 검증 — 틀린 줄만
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-20 23:05:32 +09:00
eomsangdonandClaude Sonnet 5 5c31234b36 fix(재료): 단위 거름에서 규격 조건 풀어 재시도 · 환산 필요 재료 목록
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-20 23:04:43 +09:00
eomsangdonandClaude Sonnet 5 f12f25f5e6 merge(M01): dev 합류 — 화면 계약 문서 충돌 해소 · 양쪽 문장 모두 살림
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-20 23:04:14 +09:00
eomsangdon ea3ba6ece8 Merge remote-tracking branch 'origin/sub_laptop_4' into sub_laptop_2 2026-09-20 23:02:35 +09:00
eomsangdonandClaude Sonnet 5 eb88cf9a67 knowledge(마스터): 조달청 2022하 시설자재가격 받기 · 표 빌더 · 12 재료·없는 재료 대조
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-20 23:01:18 +09:00
eomsangdonandClaude Sonnet 5 817c0331f6 fix(재료): 품셈재료 고르기 단위 거름 — 단위·이름 같은 줄을 대표로, 없으면 비움
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-20 23:00:17 +09:00
eomsangdon 53151917ba Merge remote-tracking branch 'origin/sub_laptop_4' into main_laptop_1 2026-09-20 22:57:30 +09:00
eomsangdon 0d64fdbd9c Merge remote-tracking branch 'origin/sub_laptop_2' into main_laptop_1 2026-09-20 22:57:29 +09:00
eomsangdon 5348a0945d Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-09-20 22:57:28 +09:00
eomsangdon 999e4819ee Merge remote-tracking branch 'origin/sub_desktop_1' into main_laptop_1 2026-09-20 22:57:28 +09:00
eomsangdonandClaude Opus 5 c81853b4cd feat(master_data): 로직마다 시험 계산용 기본 입력 · check_master 계산전부
- 로직 줄에 「시험입력」 칸 — 시험 계산 전용(정본 계산은 화면 값만 씀) · 규격·직경은 원문 표 첫 값 · 자재지역은 울진(모래 줄 없는 넷은 포항)
- check_master 에 `시험입력()` · `calc_all()` · 「계산전부」 모드
- 일괄 시험 계산 통과 1,219 → 1,270 · 멈춤 135 → 84(모두 데이터 결손 — 관리자 값 65 · 품셈재료 규격 미지정 13 · 지역 줄 없음 1 · 고르기 조합 없음 5)
- 시험 둘 추가(test_masterdata_check.py)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 22:56:28 +09:00
eomsangdon a50e39cb31 auto: 2026-09-20 22:55 (EOMSANGDON-HOME) 2026-09-20 22:55:49 +09:00
eomsangdon a88d8ba002 knowledge(master_data): _화면_계약.md 에 소요량/계수 usage 거름 한 줄 추가 2026-09-20 22:55:43 +09:00
eomsangdonandClaude Sonnet 5 abb718b762 knowledge(마스터): 재료 공공출처 검증 — 경남교육청 일위대가 값 대조 · 조달청 21하 zip 원문 보관
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-20 22:53:05 +09:00
eomsangdonandClaude Sonnet 5 9b15f66657 knowledge(재료): 없는 재료 111줄 조달청 조회 결과 표시 — 찾은 것 0
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-20 22:51:35 +09:00
eomsangdonandClaude Sonnet 5 6f121a7422 feat(M01): 테스트 컨테이너 마무리 · 계약 문서에 후보 값 열 · 쉬운 말 멈춤 사유 반영
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-20 22:51:11 +09:00
eomsangdon f1fe351b35 Merge remote-tracking branches 'origin/main_desktop_1' and 'origin/sub_desktop_1' into sub_laptop_4 2026-09-20 22:50:02 +09:00
eomsangdon 945b176050 Merge remote-tracking branch 'origin/sub_laptop_4' into sub_laptop_3 2026-09-20 22:49:26 +09:00
eomsangdon 9ea8af48fa auto: 2026-09-20 22:49 (EOMSANGDON-HOME) 2026-09-20 22:49:23 +09:00
eomsangdonandClaude Opus 5 2e304f5216 fix(master_data): 로직 결함 둘 — PBD 타설깊이 0 나눔 · 합판거푸집 1회 합판율
- GC000185 타설깊이 범위 [0, 55] → [0.1, 55] · Q = 3,600×L×E/cm 분자라 0 이면 T 가 0 으로 나눔
- GC000211 합판율 = 1회는 원문 「-」(1회 사용 수량 그대로 100%) · 사용횟수 고르기에 6회 더함(QC000428 에 있는 줄)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 22:48:51 +09:00
eomsangdonandClaude Sonnet 5 1476c79489 feat(마스터): 환율 빌더 — ECOS 일별 CSV 에서 최신 일자 5통화 · --check 로 지금 JSON 과 같음 확인
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-20 22:47:50 +09:00
eomsangdon 74a9af44d1 Merge remote-tracking branch 'origin/dev' into sub_desktop_1
# Conflicts:
#	M01_MasterData/M01_MasterData_Store.py
#	resources/tester/test_m01_api.py
2026-09-20 22:47:35 +09:00
eomsangdonandClaude Sonnet 5 7d62337896 knowledge(마스터): 걷을 옛 코드 목록 — old · ref 삭제 때 같이 걷을 Z01 · B08 · B09 · common_util 코드
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-20 22:47:02 +09:00
eomsangdon 7ec7439a7a Merge remote-tracking branch 'origin/dev' into sub_laptop_2 2026-09-20 22:45:17 +09:00
eomsangdon 4ca903ea05 wip feat(M01): 기계 구분·상세구분 2단 거름 · 소요량/계수 용도 표시·대상 거름
기계.json 머리 구분 딕셔너리 추가(세부분류 유지) · UI_Side 기계 2단 필터
Store/Router/Api_Fetch usage 쿼리 추가 · UI_Tables 용도 표시 + 대상 드롭다운
locale 문구 추가 · 관련 시험 수정·추가
2026-09-20 22:41:35 +09:00
eomsangdon 774abcbe97 auto: 2026-09-20 22:34 (ESD_LAPTOP) 2026-09-20 22:34:54 +09:00
eomsangdon 6420dacb1b Merge remote-tracking branch 'origin/sub_laptop_1' into sub_laptop_4 2026-09-20 22:31:49 +09:00
eomsangdonandClaude Opus 5 a6f12fb07f feat(master_data): 기계 갈래 칸 이름 원문으로 · 틀 문서를 지금 데이터 모양에 맞춤
- `기계.json` — 갈래 칸 「세부분류」 → 「원문」(머리 묶음·줄 654) · 줄의 원문 글 칸은 「값원문」 으로(34 줄) · 줄의 `구분`·`상세구분` 과 이름이 겹치지 않게 함
- `check_master` MERGED 는 `master_keys.MERGED` 에서 받음 — 칸 이름을 한 곳에서만 적음 · 머리 「원문」 이 묶음인 파일도 틀 검사가 돎
- `master_keys.MERGED` · `build_기계_건설품셈.py` · `compare_estx.py` — 새 칸 이름
- `M01 서버` — 갈래 칸을 MERGED 에서 찾음(박은 이름 없앰) · 머리 원문이 묶음이면 `book` 은 빈 값
- `_틀.md` — 기계 원문·구분·값원문 · 자재품목 구분 채움과 묶음 문서 · 소요량·계수 「용도」 칸 · 인력 줄 갈래 칸 바로잡음
- `ref/_묶음_기계.md` 새로 — 구분 11 · 상세구분 174 (654 줄)
- `_갱신절차.md` 기계 절 칸 이름
- 검사 — `check_master` 틀 0 · 로직 0 · 시험 83 통과(test_m01_api 25 · test_masterdata_check 58)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 22:24:13 +09:00
eomsangdon 31654138da Merge remote-tracking branches 'origin/main_desktop_1', 'origin/sub_laptop_2' and 'origin/sub_laptop_3' into CODEX 2026-09-20 22:17:43 +09:00
eomsangdon f7fbe6a874 knowledge(master_data): 기계·용도 분류 전수 검증 결과 기록
임업기계 상세구분 과잉분할·계수표 공종칸 예외 1건·로직키 정합 확인
2026-09-20 22:16:53 +09:00
eomsangdonandClaude Sonnet 5 3ad3a9b311 fix(master_data): 자재품목 분류 검증 반영 · 오분류 4건 규칙 차례 · 초본·야생화 상세구분 신설
- 추진관 → 관·이음관/흄관 · 수도미터 → 수도계량기·유량계 · 무소음트랜치 → 그레이팅 · 칼라각관 → 안전시설
- 식물 138줄 상세구분 초화·수생식물 → 초본·야생화
- 뒤집힌 줄: 오분류 고침 밖 0 (수도미터 보호통 2줄 밸브 → 계량기)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-20 22:15:08 +09:00
eomsangdonandClaude Sonnet 5 03e6b6511e feat(M01): 테스트 컨테이너 고르기 부품 공용화 — 구분 → 상세구분 → 후보 거름 · B·C 에도 재료 바꿔 보기
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-20 22:14:22 +09:00
eomsangdon 6993c6b95e knowledge(master_data): 자재품목 분류 표본 검증 결과 기록
오분류 4건 규칙·초본야생화 묶음 제안 정리(sub2 참고용)
2026-09-20 22:12:09 +09:00
eomsangdon de6a46ee7d Merge remote-tracking branches 'origin/sub_desktop_1', 'origin/sub_laptop_1' and 'origin/sub_laptop_2' into CODEX 2026-09-20 22:10:14 +09:00
eomsangdonandClaude Sonnet 5 b1fa3009a5 feat(master_data): 미분류 이름 줄 145 → 1 · 특수장비 신설 · 관급 못 채움 346 → 320
- 화초·수생식물 규격 꼴은 식생·종자 · Air Hammer · 콘쉴드 · 바탕면조정재 · 본우드는 특수장비 · 상·하차비는 운송·용역
- 관급 지역 묶음 시군 일부만 조달청에 있는 아스콘·레미콘 26줄 채움(비고에 명시)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-20 22:08:54 +09:00
eomsangdonandClaude Opus 5 1bcc957e9a feat(master_data): 품셈재료 고르기 칸 · 로직 재료 줄 일괄 변환 · 후보 값 열 다섯
- `재료_품셈재료.json` 363 줄에 「고르기」 칸 — 자재품목 구분·상세구분[·규격] · 212 줄 채움(규격 조건 19) · 짝 없는 줄은 null + 비고에 까닭
- `scripts/build_품셈재료_고르기.py` — 자재품목을 가른 바로 그 품명 글자 규칙 재사용 · 손으로 바로잡은 25 줄은 OVERRIDE · 연결이 이미 있는 줄은 옛 방식 그대로
- `scripts/build_로직_재료_고르기.py` — 호표 요소 `MP…` 를 고르기 조건으로 바꿈(로직 32 파일 287 줄) · 고르기 빈 줄과 `{이름}` 낀 원문번호 줄은 그대로
- 일괄 시험 계산 전후 — 통과 1119 → 1203 · 새로 멈춤 0 · 앞뒤 다 통과한 1119 줄 금액 변동 0
- `check_master` — 품셈재료 「고르기」 칸 검사(조건 모양 · 없는 구분·상세구분 · 조건 밖 대표 · 후보 0)
- `GET /api/m01/materials` — 후보마다 값 열 다섯(`값들`) · `값` 은 시험 계산이 쓸 낮은 값 · 값 있는 줄을 맨 앞에
- `GET /api/m01/logic` 의 `prices` — 고르기 조건 줄도 실음 · 열쇠는 조건 글 `mf.cond_text` · 후보 수 포함
- `_틀.md` 5장에 고르기 칸 · 일괄 변환 스크립트

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-20 22:02:28 +09:00
eomsangdon 35588d9aa5 Merge remote-tracking branch 'origin/sub_desktop_1' into sub_laptop_3 2026-09-20 22:02:25 +09:00
eomsangdon 8c8c99cd63 Merge remote-tracking branch 'origin/dev' into sub_desktop_1 2026-09-20 22:02:22 +09:00
eomsangdon e54db25302 Merge remote-tracking branch 'origin/sub_desktop_1' into sub_laptop_2 2026-09-20 22:02:21 +09:00
eomsangdonandClaude Sonnet 5 0b794cea7d knowledge(마스터): 기계 상세구분 다듬음 · 소요량·계수 표에 용도 칸 신설
기계.json — 상세구분을 구동방식·규격 뺀 굵은 기종으로(654줄 중 302줄 값 바뀜, 세부분류 칸은 그대로 둠 — 200개 이름이 170개 기종으로 묶임)
소요량_*.json · 계수_*.json 83개 표 3029개 항목에 용도 칸 신설(공종·대상·로직키) — scripts/build_용도.py
 - 공종: 원문번호로 해당 원문 md 의 절 제목을 찾아 채움(3029개 전부 찾음 · 산림품셈 1-1-3 형식은 마침표 포함 확인)
 - 대상: 값칸·줄 값을 인력.json·기계.json·재료_품셈재료.json 이름과 맞대 인력/기계/재료 판정, 이름에 「할증」「환산」 있으면 추가, 조건이 있거나 아무 것도 안 맞으면 작업량 조건
 - 로직키: 로직_*.json(54개, 읽기만) 의 식·수량·호표 문자열에서 표 키를 거꾸로 찾아 채움(3029개 중 1852개에 참조 있음)
스크립트는 재실행해도 같은 결과(기존 용도 줄을 지우고 다시 씀)

check_master.py 틀 0 · 로직 0 유지 확인 · 본문 1건(CC000074, 8-4-8 결손 1)은 이 작업 전부터 있던 것(용도 뺀 상태로 스태시해 재확인)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0146J72jAMHpcmW4n2Y8WakE
2026-09-20 22:02:08 +09:00
eomsangdon d8fa316dd9 Merge remote-tracking branch 'origin/sub_laptop_4' into sub_laptop_3 2026-09-20 21:58:49 +09:00
eomsangdon 912cfe3e2a Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-09-20 21:58:46 +09:00
eomsangdonandClaude Sonnet 5 be4bed801c feat(M01): 테스트 컨테이너에 방식 B·C 잇기 + 재료 고르기 후보 API 연결
- 탭 A·B·C 모두 연결
- 방식 A 재료 고르기 단계 = GET /materials 조건 후보(조건형 요소일 때)
- 화면 계약에 /materials 한 줄

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-20 21:54:12 +09:00