Commit Graph
4529 Commits
Author SHA1 Message Date
eomsangdonandClaude Sonnet 5 68daa24259 fix(M01): 200 원 미만 단가는 유효숫자로 — 상세 · 모달 단가 (PLAN 5장 5바퀴)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-24 11:44:34 +09:00
eomsangdonandClaude Sonnet 5 0d81acc7d3 fix(m01): 값 식 작은 수를 유효숫자 4 자리로 · 200 원 미만 단가도 (PLAN 5장 4바퀴)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-24 11:31:18 +09:00
eomsangdonandClaude Sonnet 5 0a6bac5056 fix(M01): 서버 조각을 호표 줄 차례로 찾음 · 못 찾으면 빈칸 (PLAN 5장 2바퀴)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-24 11:17:28 +09:00
eomsangdon 2450e0f06a Merge remote-tracking branch 'origin/sub_laptop_2' into sub_laptop_3 2026-09-24 11:14:05 +09:00
eomsangdonandClaude Sonnet 5 53c23d2739 feat(m01): /text 줄마다 요소조각 — 로직 부르기 이름 + 인자 글 (PLAN 5장)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-24 11:13:20 +09:00
eomsangdonandClaude Sonnet 5 a523066de4 feat(M01): 몫 줄 단가 = 단가 x 몫 비율 · 줄 모달 윗줄 요소조각 · 로직 알약이 그 로직을 엶 (PLAN 5장)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-24 11:10:52 +09:00
eomsangdon cebd49980a Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-09-24 10:28:18 +09:00
eomsangdonandClaude Sonnet 5 a30890546c fix(M01): 빠진 원 단위 입력도 null 처럼 그 줄만 비움 (/calc · /text)
- mf.fill_empty — 화면이 안 보낸 가격 입력(단위에 원)을 null 로 채움 · Store.calc·text 에서 부름
- 시험 test_m01_auto.py 한 개 더 — 입력 둘 뺀 GF000056

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-24 10:24:43 +09:00
eomsangdonandClaude Sonnet 5 00e2b08c12 fix(M01): 시험 계산 중간 값 — 줄 묶음 숨김 · 돈 로직 큰 수 정수 (PLAN 4장)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-24 10:16:08 +09:00
eomsangdon 27c85b884f Merge remote-tracking branches 'origin/sub_laptop_1', 'origin/sub_laptop_2' and 'origin/sub_laptop_3' into main_laptop_1 2026-09-24 10:10:00 +09:00
eomsangdonandClaude Sonnet 5 29265815b4 fix(m01): 텍스트 수식 「단가 * (수량 합)」 괄호 — 이름 식 · 값 식
- 수량식 맨 위가 덧셈·뺄셈이면 단가 곱 뒤에 괄호(GC000467 촌락지대가)
- 번호 별칭은 이름글에서 그대로 둠 — 별칭표 이름이어야 되돌려짐(찾은 줄 이름은 되돌리기 안 됨) · 시험으로 고정
- 조각은 수량식만이라 그대로

검증: test_m01_text 25개 통과 · 1,354 금액 변화 0 · 값 없이 멈춤 0 · GC000467 식에 괄호.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-24 10:07:32 +09:00
eomsangdonandClaude Sonnet 5 f94bdcfc8a feat(M01): 입력 없는 로직 열 때 한 번 계산 · 비목 몫으로 갈린 줄에 몫 표시 (PLAN 4장)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-24 10:07:23 +09:00
eomsangdonandClaude Sonnet 5 7215770eb9 feat(M01): 원 단위 입력 자동값 null · 그 입력 쓰는 줄만 비움
- master_auto: 단위에 원이 든 수 입력은 0 대신 null
- master_formula: 비어 있는 입력을 쓰는 호표·덧줄 줄만 단가·금액 null + 까닭(입력 비어 있음) · 로직 계속
- 시험 test_m01_auto.py 둘 더함 · GF000056

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-24 10:05:20 +09:00
eomsangdonandClaude Sonnet 5 bb4500b4c3 fix(M01): 자동값 응답 키 값 · 표 알약 모달 참조.행 = 찾기 조건으로 줄 찾아 칠함
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EY2vdBQkHjdih9GgCsp9Fd
2026-09-24 09:21:29 +09:00
eomsangdon 27cd10a904 Merge remote-tracking branch 'origin/sub_laptop_3' into main_laptop_1 2026-09-24 09:14:29 +09:00
eomsangdonandClaude Sonnet 5 cb1b82c1dc feat(M01): 로직 화면 — 자동값 채움 · 서버 조각 알약 · 재료 고르기 모달 · 돈 모양 한 벌 (PLAN 3-4 화면)
- 시험 계산: 로직을 열 때 GET /logic/auto 값을 빈 입력에 채우고 「견본」 딱지(사용자가
  고치면 빠짐) 뒤 바로 계산 · 텍스트 수식까지. 서버 길이 없으면 안 채움
- 단가산출 상세 수량 칸: 화면 쪽 식 풀이(qtyFragments) 걷고 /text 줄의 조각으로 그림 —
  알약 글 = 조각 글 · 깊이 있는 조각은 흐리게 · 묶음별 줄 수가 안 맞으면 식 글자 그대로
- 표 알약 모달: 참조.행·열에 색(행을 못 받으면 열만)
- 재료 고르기 줄(요소가 객체): 모달이 객체를 받게 — 잡힌 품목 단가 + 후보 목록
- 돈 모양 한 벌(Logic_Money.ts): 상세·모달·텍스트 수식 소계와 계·시험 계산 결과·조합
  미리 보기 정수 · 수량·비율은 그대로
- 서버 파일은 안 만짐

검증 — typecheck 통과 · GF000160 ORCA: 알약 7 서로 다름 · 계 141,882 · 재료 줄 모달
· GF000219·GF000001 회귀 없음.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EY2vdBQkHjdih9GgCsp9Fd
2026-09-24 09:10:58 +09:00
eomsangdonandClaude Sonnet 5 de8e1d51c2 fix(m01): 자동값 빈 줄에서 텍스트 수식이 멈추지 않음 — 빈 줄은 빈 글
- 빈 줄(후보 0 · 값 빈 품목 · 빈 덧줄)은 글 빈 값 · 금액 null 그대로 · 덧줄 식을 다시 셈하지 않음
- 덧줄 합 · 이름 값에 빈 줄을 넣지 않음
- 자동값으로 1,354 전부 텍스트 멈춤 62 → 0

검증: test_m01_text 23개 통과 · 자동값 1,354 멈춤 0 · GC000027 계 = 계산 계.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ACe3CR4gBWhWUN5p44fLe4
2026-09-24 09:10:11 +09:00
eomsangdon d2380094cb Merge remote-tracking branch 'origin/sub_laptop_1' into sub_laptop_2 2026-09-24 09:04:46 +09:00
eomsangdonandClaude Opus 5.5 79c42224e5 feat(M01): 견본 자동값 길 · 값 빈 품목은 그 줄만 비움
- GET /api/m01/logic/auto — 고르기 목록 첫째 · 범위 최솟값 · 찾기 조건 값은 그 표 가장 낮은 줄 · 나누는 수 1 · 그 밖 0 (master_auto.py)
- run — 후보 0 · 값 빈 품목(덧줄 포함)은 단가·금액 null + 까닭 · 소계·계는 빈 줄 빼고 더함 · 없는 키는 지금처럼 멈춤
- 자동값으로 로직 1,354 전부 계산 · 멈춤 0 · 시험 test_m01_auto.py

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LcqZtEzEf1sYSU4FUmVLNJ
2026-09-24 09:04:07 +09:00
eomsangdonandClaude Sonnet 5 a5d8b53b2f feat(m01): 텍스트 수식 조각 글 — 찾은 줄·칸 · 중간값 이름 · 만약 쉬운 말과 흐림 · 돈 정수
- 표 조각 글 = 「찾은 줄 · 칸」(합판 · 1회사용) · 참조.행 = 찾기 조건
- 중간값(재료율 · 인력율)은 글에 이름 · 값은 별도 칸
- 만약 = 「폼타이 가 사용 이면 A · 아니면 B」 · 안 걸린 갈래 흐림 · 조건 입력이 비면 두 갈래 다
- 조건 입력이 비어도 이름 식이 멈추지 않음(값 없이 1,354 중 멈춤 180 → 0)
- 글 안의 돈(단가 · 금액)은 정수 · 계산 값은 소수 그대로

검증: test_m01_text 21개 통과 · GF000160 표 조각 일곱 줄 글 모두 다름 · GF000219 금액 앞과 같음.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ACe3CR4gBWhWUN5p44fLe4
2026-09-24 08:59:25 +09:00
eomsangdon 6eaa539fde auto: 2026-09-23 05:49 (ESD_LAPTOP) 2026-09-23 05:49:01 +09:00
eomsangdon ac1224220b fix(M01): 설계 입력 비어도 텍스트 수식 이름 식은 보임
master_text._env_of 가 입력을 못 갖추면(값 넣기 전) 받은 것만 담고 중간은 건너뛰어
lines() 가 ok:false 로 일찍 안 죽고 이름 식·조각까지 짓게 함
고른 값이 틀린 경우(고르기·범위 밖)는 지금처럼 그대로 멈춤 — 구분해 시험 둘로 확인
2026-09-23 05:48:57 +09:00
eomsangdon abd37e8979 feat(M01): 로직 열자마자 텍스트 수식 왼쪽 이름 식 채움
로직을 열 때 /text 를 값 없이 한 번 불러 왼쪽 이름 식 칸만 미리 채움
오른쪽 값 식 칸은 [계산] 전까지 안내 글만 표시 · [계산] 뒤엔 지금과 같음
onText 콜백이 redraw 를 안 불러 화면에 안 닿던 것을 찾아 LogicLab.ts 한 줄도 같이 고침(onLines 와 같은 자리)
2026-09-22 20:54:25 +09:00
eomsangdonandClaude Sonnet 5 8187b0a79e fix(m01): 모달 뒷막 먹칠 없앰 — 덮개는 그대로
.m01-logic__backdrop 의 background 를 color-mix 30% 먹칠에서 transparent 로.
바깥 눌러 닫기·가운데 맞추기·z-index 는 그대로 둠 — 칠만 없앰.

검증: typecheck 통과 · ORCA 로 GF000219(13-4-1) 열어 줄 모달 띄움 —
backgroundColor rgba(0,0,0,0)·backdrop-filter none(뒤 패널 안 흐려짐) ·
바깥 클릭 닫힘 · Esc 닫힘 셋 다 확인.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-22 20:33:26 +09:00
eomsangdon 3abeb95716 Merge remote-tracking branches 'origin/sub_laptop_1', 'origin/sub_laptop_2' and 'origin/sub_laptop_3' into main_laptop_1 2026-09-22 20:02:32 +09:00
eomsangdonandClaude Sonnet 5 f7dd866876 feat(m01): 단가산출 상세 수량 칸 알약화 — 표 찾기만 알약 · 나머지는 글자
수량 칸을 「알약 + 사칙연산 글자」로 그림 — 찾기(...) 표 호출만 알약(조각 계약
`ref/_분석_알약_상세줄.md` ㉮ 표대로) · 나머지(숫자·연산기호·중간값·설계입력
이름)는 글자. 서버 조각 API 는 아직이라 화면에서 임시로 쪼갬(Logic_Note.ts
찾기() 규칙과 같음) — 서버가 붙으면 걷어냄. 단가·금액 칸은 안 건드림.

알약을 누르면 그 표만 바로 모달로(모달 안 알약 목록은 없앰) · 줄을 누르면 그
줄의 단가·다른 로직을 바로 보임(알약 없이 한 가지만). 인력·재료·경비 세 표를
table-layout: fixed + 같은 칸 폭으로 맞춤 · 알약은 칸 폭 기준 줄바꿈.

원 단위 소수점 0 — 돈 자리(단가·금액·소계·계)만 정수 · 수량·비율은 그대로 ·
조합 미리 보기(Combo_Preview)도 같이 고침.

검증: typecheck 통과 · ORCA 로 13-4-1·12-4·12-17-1 열어 확인(알약 클릭·행
클릭·칸 폭 동일 729.57px·정수 표시 확인, data-sum 은 원래 값 그대로 유지).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-22 19:59:48 +09:00
eomsangdonandClaude Sonnet 5 b9a3fe3abb feat(M01): /text 조각 목록 더함 · 이름 식 계산 없이(PLAN 2-1 첫줄·2-2)
- master_text.py — 조각(요소·표·로직·값·기호·글) 생성기 추가, 이름글·글·금액·
  까닭은 그대로 두고 줄마다 「조각」 칸만 더함
- 만약() 은 계산되면 걸린 가지만 · 계산 안 되면(FormulaError 따위) 양쪽 다
  내보내고 깊이를 적어 접을 수 있게 함
- 자리 표시({…}) 든 요소 참조는 이름만 적고 참조(키) 자리는 비움
- mf.run 이 막혀도(재료 단가 없음 따위) row 구조만으로 이름 식·조각을 짓고
  글·금액만 비움 — 로직 부르는 줄(비목 미정)은 세 비목에 다 걸쳐 보임
- test_m01_text.py — 새 시험 6개(계약 확인·요소 알약·자리 표시·만약 둘·
  계산 막힘 no-calc 경로), 기존 10개 그대로 통과
- 검증: pytest resources/tester/test_m01_text.py 16 passed · 13-4-1·12-4·
  12-17-1 금액이 앞과 같음(calc 엔드포인트와 대조, 기존 시험 그대로) ·
  ruff format/check 통과

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 19:38:23 +09:00
eomsangdonandClaude Sonnet 5 644cd170c6 feat(M01): 시험 계산 입력 2열 · 자재·기계·직종 키를 이름으로
시험 계산 입력 칸을 요소 표(기본정보)가 쓰는 auto-fill 그리드(m01-logic__head)로
감싸 여러 칸이 나란히 놓이게 함 — 짧은 고르기 줄은 2열로 붙고, 이름이 긴 줄만
한 칸을 다 씀(m01-logic__field--wide).

고르기 값이 자재(MT)·기계(EQ)·직종(LB) 키(2글자+6자리)면 /elements 를 키
그대로 물어(부분일치라 그 줄만 걸림) 이름+규격으로 바꿔 보임 — 보내는 값은
키 그대로라 계산은 그대로. 같은 키는 모듈 캐시로 한 번만 물음.

「그릇 폭 280px 고정」은 옛 테스트 컨테이너(UI_Test*, 2-3에서 걷힘)의 죽은 CSS
규칙이라 지금 쓰는 LogicLab 화면엔 안 걸림(실측 730px) — 따로 안 풂.

검증 — GC000031 ORCA: 공기·철선 나란히 2열 · 철선 고르기가
「어닐링철선,서울 #8, 4.0mm」 등 이름으로 뜸 · 계산 15,020.927(고침 전과 같음) ·
typecheck 통과 · 로직 전체 키형 고르기 179줄이 자재품목에 다 있어 이름 못
바꾸는 자리 0(100건 상한은 키 하나씩 물어 안 걸림).

Pick.ts(재료·기계 바꿔 고르기)는 이미 이름으로 보여 안 고침.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-22 19:37:20 +09:00
eomsangdon 97a743e43a Merge remote-tracking branch 'origin/dev' into CODEX 2026-09-22 19:28:31 +09:00
eomsangdonandClaude Opus 5 14046361dd fix(docs): 데스크탑 보조가 지운 완료 계획 이력 복구 — 2026-09-22 마스터·단가산출로직 정리
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QqkvdyxUtANWroVKpQUyxE
2026-09-22 19:17:13 +09:00
eomsangdon fc4c8a77c8 Merge remote-tracking branch 'origin/dev' into sub_desktop_1 2026-09-22 19:12:52 +09:00
eomsangdon 62643ba748 chore(plan): 완료 계획 문서 삭제 반영 2026-09-22 19:12:37 +09:00
eomsangdon d08bff71c4 Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-09-22 18:55:37 +09:00
eomsangdonandClaude Opus 5 6bee66baef fix(M01): 시놀로지가 덮어쓴 옛 사본을 되돌림 — 「단가산출 로직」 이름 되살림
앞 auto 커밋이 옛 사본을 올려 이름 바꾸기가 취소돼 있었음. 네 파일을 그 앞 판으로.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QqkvdyxUtANWroVKpQUyxE
2026-09-22 18:55:23 +09:00
eomsangdon f1acbb77b9 auto: 2026-09-22 18:53 (ESD_LAPTOP) 2026-09-22 18:53:05 +09:00
eomsangdonandClaude Opus 5 033158a0d1 chore(정리): old_code 를 tmp 로 옮겨 저장소에서 걷음 — 246 파일
사용자가 tmp/old_code 로 옮김. 지우지 않았고 이력에 남아 있음.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QqkvdyxUtANWroVKpQUyxE
2026-09-22 18:52:58 +09:00
eomsangdonandClaude Sonnet 5 1e434f0d5b knowledge(M01): 화면 개선 셋 분석 — 원 소수점·시험 계산 2열·자재 키값
- 분석만(코드 안 고침) · 새 문서 resources/master_data/ref/_분석_화면개선_셋.md
- 원 단위: formatNumber() 한 함수가 돈·수량·비율을 안 가름, Combo_Preview 는 딴 사본
- 2열: 요소 표에 이미 있는 auto-fill 그리드 방식 재사용 가능, 280px 좁음이 걸림
- 자재 키값: 실은 기계·직종 코드도 걸림, searchElements 재사용 가능하되 100건 상한 걸림

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 18:49:04 +09:00
eomsangdonandClaude Sonnet 5 1ecb5f02a4 knowledge(단가산출): 이름 식 계산 없이 만들기 분석 — 만약 겹침·로직 비목 미정·멈춤 로직 실수 확인
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-22 18:34:00 +09:00
eomsangdon fc7af43cf4 knowledge(단가산출): 상세 줄 알약 다시 검토 — 사용자 답 반영(규칙·세 로직 실제 줄·남은 어려움·표 유지 근거)
① 자리 모자라면 행바꿈·세 표 열 폭 통일 ② 만약() 은 표에서 정해진 값이라 안 어려움·계산값은
알약 아님 ③ 로직 부르는 줄 지금대로 ④ 수량 칸이 문제라 알약+사칙연산으로 · 알약 대 글자 규칙
표로 정리(요소·표·로직=알약 / 계산값·설계입력=글자) · 실제 서버 출력으로 13-4-1·12-4·12-17-1
세 로직 모든 줄을 알약 표기로 그려 봄 · 어려움 일곱 가운데 다섯 풀리고 둘만 남음(열 폭 통일·겹치는
정보) · 결론 — 열 폭·줄바꿈 요구 자체가 칸이 있다는 전제라 표 유지(㉮)가 맞음
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-22 18:16:06 +09:00
eomsangdon f5e3894941 knowledge(단가산출): 상세 줄 알약+사칙연산 분석 — 텍스트 수식 길 · 어려운 자리 · 표 대 목록 두 갈래
지금 줄이 무엇으로 그려지는지(표·모달·텍스트 수식 세 컨테이너) · POST /text 가 이미 이름 식을
주지만 문자열 하나라 토큰(알약 vs 글자)으로 안 쪼개짐 — master_copy.aliases 가 이미 아는
자료라 서버 조각 목록화가 안전한 길 · 어려운 자리 일곱(만약() 갈래 포함) · 표 유지 vs 목록 재구성
두 갈래 견줌 · 계산 코드 안 건드리면 금액 그대로
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-22 17:50:36 +09:00
eomsangdon 5c97e8b938 Merge remote-tracking branch 'origin/dev' into sub_laptop_4 2026-09-22 17:45:50 +09:00
eomsangdon a72caa667a chore(plan): 완료 계획(1~7장) docs/raw/plans 로 이관
PLAN.md 1~7장 체크 끝 — 남은 절만 남기고 지난 계획 통째 이관
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-22 17:45:43 +09:00
eomsangdon fecb70a368 auto: 2026-09-22 14:42 (ESD_LAPTOP) 2026-09-22 14:42:31 +09:00
eomsangdonandClaude Sonnet 5 449137a8f3 knowledge(M01): PLAN 7-5 「고친 뒤」 — 분석 문서 셋에 결과 기록
- 분석·데이터만(코드 변경은 앞 커밋에 이미 있음) · ref/_분석_안쓰는마스터.md·
  _분석_UnitPrice.md·_분석_검사코드_어디에.md 에 고친 뒤 절 추가
- PLAN.md 7-4·7-5 체크 갱신(심볼릭 링크 밖 공유 파일이라 git 대상 아님)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 14:40:45 +09:00
eomsangdonandClaude Sonnet 5 e937978116 feat(M01): PLAN 7-5 — 안 쓰는 마스터 old/ 로 마저 옮기고 죽은 코드 셋 끊음
- 아무도 안 읽는 최상위·ref 파일 7개를 old/ 로(지우지 않음) — _원문목록·_열목록_화면표·
  수량_돌쌓기찰라이브러리_소광리·공종_수량연결_실무·수량_구조물원단위_울진·
  품셈_산림_재료할증_울진·품셈_산림_돌종류계수_울진(뒤 넷은 old_code 만 읽어 이제 0)
- 공종_자원별칭_실무도 old/ 로 — common_util_aliases.py 를 읽던 시험 둘이 이미 깨져 있어(
  B08·B09 모듈 없음) 실제로 부르는 살아 있는 코드가 없었음
- 살아 있는 common_util/ 에서 dead 모듈 셋(work_item_key·work_item_link·aliases)을
  old_code/common_util/ 로 옮김 — old_code 만 부르던 것이라 옮겨도 부르는 자리 그대로(
  old_code 는 old_code 를 스스로 루트로 읽는 관례) · 상대경로 계산만 한 단 보정
- 깨져 있던 시험 둘(test_b09_fuel_kind_vibrator·test_b08_root_removal_excavator)도
  resources/tester/ 에서 old_code/resources/tester/ 로 — 7-3 이 놓친 것 마저 정리
- UnitPrice.py 의 load_basis_missing() — old/ 스냅샷 대신 새 최상위 마스터
  `기준수량없음_산림품셈_2026-01-01.json` 으로(브레인 판정: 마스터 쪽) · old_code 로
  옮겨진 뒤 root 계산이 한 단 부족해 조용히 빈 딕셔너리를 돌려주던 것도 같이 바로잡음
  (79건 견본 대조 통과) · check_master.py 틀 검사에 특수 파일 면제 한 줄 추가
- 검증 — typecheck · check_master 틀 0건 · M01·자재품목 시험 215 + masterdata·m01_api 98 통과 ·
  전체 모으기 1475 그대로

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 14:35:46 +09:00
eomsangdon 04784a808a Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-09-22 14:14:36 +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
eomsangdon 499fdadd69 Merge remote-tracking branches 'origin/sub_laptop_1' and 'origin/sub_laptop_3' into main_laptop_1 2026-09-22 14:08:07 +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 91607b27d2 fix(b05,b06): 되살린 시험 둘의 본문 고침 빠뜨린 것 마저 커밋
- 앞 커밋이 파일 옮기기만 걸리고 내용 고친 것(B08 대조 빼기·경로 새 자리)을 안 실음 — 마저 담음

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 13:58:01 +09:00