Commit Graph
184 Commits
Author SHA1 Message Date
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 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 7e507959bd fix(b05,b06): 옛 자료 정리 때 잘못 쓸려 들어간 벽 기울기·기슭막이 표 자리 되돌림
- 09-19 정리로 old/·ref 에 섞여 들어간 B05·B06 전용 표 둘을 resources/data_masonry/ 로 복귀
  (masonry_slope·revetment_sabang, 옛 이름 그대로)
- B06_Section_UI_Cross_Lean.ts·B05_Profile_UI_Drainage_Facility_Fields.ts import 경로 두 줄 고침
- common_util_node_bundle.py 감시 경로도 새 자리로
- 죽은 시험 둘(test_b06_wall_lean_table·test_b05_revetment_sabang_basis) old_code 에서 되살림 —
  끊긴 B08 파이썬 대조 부분은 빼고 B05·B06 몫만 다시 돌게 함 · 5개 통과
- 나머지 넷(공종 마스터 2·공종 산림건설 연결·공종 자원별칭)은 이번에 안 건드림 — old_code 전용이라 걸림 없음

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 13:57:39 +09:00
eomsangdonandClaude Sonnet 5 6a604a973a knowledge(M01): B05·B06 이 old/·ref 파일 여섯을 읽는다던 것 다시 확인
- 코드·데이터 안 고침 · 읽기 전용 · `ref/_분석_B05B06_옛자료.md` 한 파일
- sub1 문서(여섯 다 B05·B06 이 읽음)를 코드로 다시 따라가 보니 실제로 읽는 건 둘뿐
- 공종 마스터 2·공종 산림건설 연결·공종 자원별칭 넷은 old_code(끊긴 B08·B09)만 읽음 —
  B05·B06 코드에는 부르는 줄이 없음(node_bundle 이 old/ 전체 수정 시각만 훑는 것과 혼동됐던 것)
- 돌쌓기경사 13-4-4(B06 횡단도 벽 기울기)·사방기슭막이치수(B05 근거 문구) 둘은 진짜로 화면이 읽음 —
  09-14 자기 전용 폴더에서 만들어졌다가 09-19 옛 자료 정리 때 old/·ref 로 같이 쓸려 들어간 것
  (B08·B09 만들며 들어간 게 아니라 B08·B09 정리 때 잘못 같이 옮겨진 것)
- 이 둘을 지키는 시험(`test_b06_wall_lean_table`·`test_b05_revetment_sabang_basis`)도 old_code 로
  같이 옮겨져 지금은 안 돌아감 — B05·B06 쪽 지킴이 비어 있음
- 걷는 차례 제안 — 나머지 넷은 걸림 없음 · 둘만 전용 자리로 빼고 import 경로 2줄 고침 ·
  죽은 시험 둘 되살림

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 13:46:37 +09:00
eomsangdon 90ab1abcab Merge remote-tracking branch 'origin/sub_laptop_4' into sub_laptop_3 2026-09-22 13:37:35 +09:00
eomsangdonandClaude Sonnet 5 1c5049ca50 knowledge(M01): 안 쓰는 마스터 자료 분석 — PLAN 7-4 목록 뽑기(옮기기 전)
- 코드·파일 안 옮김 · 읽기 전용 · `ref/_분석_안쓰는마스터.md` 한 파일
- M01 이 읽는 목록 — 최상위 json 145개 전부(load() 가 통째로 읽음) · _키대장.json ·
  엔진·검사 스크립트 8개(check_master·master_combo·copy·keys·text·formula·material·draft)
- scripts/ 나머지 37개는 전부 빌더·검사 도구(옮기면 그 도구가 깨짐) — 옮길 후보 없음
- old/ 재확인 — PLAN 가정과 달리 4개(공종 마스터 2·공종 산림건설 연결·돌쌓기경사)를
  B05·B06 화면이 지금도 읽음(절대 옮기면 안 됨) · 12개는 끊긴 old_code 만 읽음 · 21개(54,244줄)는
  이미 old/ 안인데 아무도 안 읽음(지울 후보 — 7-5 몫)
- ref/ 재확인 — md 58개는 범위 밖(코드가 안 읽음) · json·csv 9개 가운데 2개는 화면·시험이 지금도 읽음
  (절대 못 옮김) · 4개는 끊긴 old_code 만 · 2개는 진짜 아무도 안 읽음
- 옮길 후보 = 강한 것 3개(531줄: _원문목록.json·_열목록_화면표.csv·수량_돌쌓기찰라이브러리_소광리) +
  old_code 정리 뒤에나 되는 약한 것 4개(1,688줄) — PLAN 기대보다 훨씬 작음

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 13:10:59 +09:00
eomsangdonandClaude Sonnet 5 228e523d28 knowledge(검증): 7-1·7-2·7-3 뒤 화면을 사용자처럼 훑음 — 막힌 자리 없음
서버를 새로 띄우고 라우트 수로 새 코드가 실린 것부터 확인(quantity·estimation·z01 0).
마스터 데이터 컨테이너 아홉 모두 뜸 · 13-4-1 텍스트 수식 두 칸 정상(석공 60,984.36) ·
견본 조합 미리보기 합계 187,957.7202원 숫자로 뜸 · B08·B09 빈 화면 · Z01 은
준비 중인 페이지로 떨어짐 · B05·B06·B07 그대로 뜸.
알약 모달 한 항목만 지시문 해석이 갈릴 여지가 있어 사실만 적고 코드는 안 고침.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-22 13:06:57 +09:00
eomsangdonandClaude Sonnet 5 a7f550b808 knowledge(관·이음관): 커플링밴드-접속티 안 갈리는 까닭 분석 — 규격 낱말 매칭 vs 이름 칸 추가 견주기
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-22 12:47:35 +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
eomsangdon 2ebc02dab5 Merge remote-tracking branches 'origin/sub_laptop_1' and 'origin/sub_laptop_2' into sub_laptop_3 2026-09-22 12:24:45 +09:00
eomsangdonandClaude Sonnet 5 f5065969f4 knowledge(관급): 남은 112줄 재분류 — 조달청에 없음 83 · 확정 기다림 29 (사용자 확정: 다섯 칸 안 채워도 정상)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-22 12:22:17 +09:00
eomsangdonandClaude Sonnet 5 e080649b2e knowledge(M01): 값 없는 자재품목 줄 가운데 로직이 실제로 쓰는 것만 가림
- `scripts/check_값없는줄.py` 신설 — 로직 1,354 줄을 훑어 호표 직접 지정·고르기 조건 후보·
  대표 줄·품셈재료 연결(문자열 키·지역 조건)까지 실제 참조를 셈, 값은 안 채움
- 재료_자재품목.json 다섯 칸(물가자료·유통물가·물가정보·거래가격·관급) 모두 빈 줄 345 가운데
  로직이 실제로 가리키는 진짜 구멍은 31 줄 — `ref/_분석_값없는줄.md` 신설
- `ref/_관리자값_미확보.md` 재검증 — 45종 가운데 6종은 고르기 조건으로 바뀌었거나 로직이
  재료 자체를 뺀 것이라 로직이 안 씀으로 옮김, 남은 39종·로직 49개는 그대로 관리자 몫
- `ref/_없는_재료.md` 재검증 — 111줄 모두 지금도 로직이 부름, 뺄 줄 없음

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 12:21:41 +09:00
eomsangdonandClaude Sonnet 5 4367eb9164 knowledge(B08B09): 옮기기 전 준비 분석 — 부르는 모든 자리·B07 이식 난이도·파일표·차례
B08_*·B09_* 를 부르는 밖의 자리를 모두 훑음(파이썬 2·main.py 13·화면 라우트 5·
common_util 문자열 3·시험 25).
B07 이 부르는 SlopeLength·SlopeArea·StructureFigure 의 이식 난이도를 가름
(앞 둘 쉬움 · StructureFigure 는 Pipe·StructureSheet·UnitQuantity 가 딸려 어려움).
B08·B09 파일·줄 수 표 · 옮긴 뒤 빈 화면에 남길 최소한 · 옮기는 차례를
PLAN 7-3 확정 차례(먼저 옮기고 깨지는 대로 봄)에 맞춰 정리.
코드는 하나도 안 고침.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-22 12:15:02 +09:00
eomsangdonandClaude Sonnet 5 727d110db4 knowledge(M01): M01 대 Z01 분석 — 지금 쓰는 것은 M01 · Z01 은 대시보드 연결 끊긴 고아 화면
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-22 11:49:01 +09:00
eomsangdon 3e89bf4987 Merge remote-tracking branches 'origin/main_desktop_1' and 'origin/sub_desktop_1' into main_laptop_1 2026-09-22 10:33:35 +09:00
eomsangdon 2dcaba08ba knowledge(공종): 공종이 무엇이고 화면 어디에 보이는지 쉬운 설명 신설
공종 마스터 줄 하나를 예로 칸 뜻(코드·이름·열쇠·갈래·딸린 표) 풀고 열쇠대장·연결·자원줄 파일 역할 따로 설명.
Z01 기초단가·B08 수량산출·B09 견적 화면에서 그 값이 뜨는 자리를 코드 근거로 짚고, 로직·소요량·계수와 다른 축임을 한 문단으로, 구조 변경 이력을 날짜별로 정리.
2026-09-22 10:20:05 +09:00
eomsangdon 7bb11a5bf0 knowledge(검사코드): 검사가 어디 있나 분석 — 마스터 틀·저장·이중계상 가드·시험 넷을 가름
사용자 물음(load_basis_missing 옮길 곳)에 답함. 지금 있는 검사 넷(마스터 틀 검사 check_master.py ·
M01 저장 검사 · B09 이중계상 가드 Guards.py · resources/tester 시험)을 언제 도는지로 가르고,
load_basis_missing 의 10배·100배 검사와 같은 결의 검사는 없음을 확인. 옮길 자리 두 갈래
(새 마스터 JSON vs KnownGaps.py 같은 코드 상수)를 장단점만 적고 고르지 않음.
2026-09-22 10:15:42 +09:00
eomsangdon ddde7010f3 Merge remote-tracking branches 'origin/sub_laptop_1' and 'origin/sub_laptop_3' into sub_desktop_1 2026-09-22 10:12:47 +09:00
eomsangdon e2b0301f88 Merge remote-tracking branches 'origin/sub_desktop_1', 'origin/sub_laptop_1' and 'origin/sub_laptop_3' into main_desktop_1 2026-09-22 10:12:45 +09:00
eomsangdon 98fedf6cd6 Merge remote-tracking branch 'origin/dev' into sub_desktop_1 2026-09-22 10:12:44 +09:00
eomsangdon fa722d80c9 knowledge(공종·기술교본): 공종 마스터와 기술교본 실태 분석 기록
2_공종_*(old/) 는 지금도 API·B08→B09 인계 열쇠·Z01 기초단가 화면이 쓰는 정본 — 로직·소요량·계수(자원 축)와 겹치지 않는 별도 축(공종 축)이라 대신 안 됨.
임도기술교본·사방기술교본은 사업별로 나뉜 서로 다른 원문 둘(2026-08-13 사용자 확정 이미 있음) — 마스터 표엔 품셈 원문 인용 각주와 ref/ 근거자료로만 있고 확정값으로 안 섞임.
2026-09-22 07:59:17 +09:00
eomsangdon acb8e4a042 knowledge(B09단가): UnitPrice.py 분석 — 걷을 대상 아님, old 자리 load_basis_missing 하나뿐
_걷을_옛코드.md 58행 실체 확인: B09_Estimation_UnitPrice.py는 부르는 곳 60여 곳(B08·B09·시험)의
살아있는 핵심 조립 엔진 — 이 파일 자체가 old/를 직접 읽는 자리는 load_basis_missing() 하나뿐이고
그마저 기본 파일명(산림 밑수없음) 한 벌만 실제로 쓰임(건설 벌은 死文). 조용한 실패 위험(old/ 지우면
예외 없이 빈 딕셔너리로 넘어가 밑수 검사가 사라짐) 하나를 찾아 걷는 차례와 함께 적음.
2026-09-22 07:58:56 +09:00
eomsangdonandClaude Opus 5 7ec80692ef knowledge(M01): B08·B09 초기화 가능 여부 분석 — 마스터로 대신할 자리와 못 할 자리 (일감 36)
- 코드·데이터 안 고침 · 읽기 조사만 · `ref/_분석_B08B09_초기화.md` 한 파일
- 크기 — B08 26,451줄(85 파일) · B09 28,507줄(111 파일) · 서버 길 56 · 시험 191 파일 26,943줄
- 마스터로 갈아끼울 수 있는 자리 약 15,400줄(B09 품셈·단가 11,872 · B08 공종 마스터 만들기·단가 붙이기 3,554)
- 못 하는 자리 — 수량 산출 규칙 7,805 · 구조물도 2,643 · 공종 축(로직 키와 잇는 대응표 없음) ·
  원가계산서 서식 4형식 · 내역서 조판 · 목록표 16종 · 끝수·소수자리 · 제비율 적용 절차 · 단계 넷
- B08·B09 가 서로 부르는 고리(구조물도 미리보기가 B09 단가를 부름) — 한쪽만 들어내면 멈춤
- 다시 짜는 차례 제안 — 공종 축 연결표 먼저 · 단가 길만 마스터로 · 수량은 남김 ·
  서식은 데이터로 · 걷기는 `ref/_걷을_옛코드.md` 5 단계 그대로 맨 끝

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 07:58:16 +09:00
eomsangdonandClaude Sonnet 5 b34cde7544 knowledge(M01): 로직 컨테이너 통합 분석 — 옛 단가산출 로직 삭제 걸림 · 잃는 기능 둘 · 지우는 차례
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-22 07:54:04 +09:00
eomsangdon 8dfd710584 Merge remote-tracking branch 'origin/dev' into main_desktop_1 2026-09-22 03:10:55 +09:00
eomsangdon 323e1d2c3d knowledge(M01화면): 화면 늦음 다시 재기 — 캐시 뒤 로직 목록 5.6초→0.6초
일감 29(읽기 전용). 켠 뒤 첫 목록만 그대로(캐시가 비어 1,354줄을 한 번은 훑음) ·
그다음부터는 /api/m01/logics 175ms 로 뚝 떨어져 단가산출 로직·로직 개선 시험 다
1초 안쪽. 조합 목록도 1.6초→0.1초. 자재품목·소요량·계수는 원래도 빠르고 그대로.
같은 시간에 들어오던 캐시 고침의 흠(check_logics 인자 개수 안 맞음)으로 저장 길이
전부 500 이라 조합 상세·로직 저장·인력 저장은 못 잼 — 브레인에 알림용으로 적어 둠.
2026-09-22 03:10:20 +09:00
eomsangdon 3288e6c2c7 Merge remote-tracking branches 'origin/sub_laptop_1' and 'origin/sub_laptop_2' into main_laptop_1 2026-09-22 03:01:27 +09:00
eomsangdonandClaude Opus 5 3a4823b6da perf(M01): 요소·표 저장도 흔들리는 로직만 검사 — 「어느 로직이 무엇을 보는지」 지도 (일감 33)
- 인력 한 줄 저장 7.0초 → 0.9초 · 자재품목 7.2초 → 2.0초 · 소요량 표 1.7초 ·
  자재품목 저장 뒤 목록 2.5초 → 0.45초 · 켠 뒤 첫 목록 3.4초 → 1.6초
- 로직 줄을 셀 때 `Master.get` 을 덧옷(`_Watch`)으로 감싸 그 줄이 본 자리를 모음 —
  키 · 「ID:원문번호」 · 없는 키를 물은 것까지 · 재료 고르기 줄은 자재품목 묶음 통째
- 저장은 그 지도로 흔들리는 줄만 검사(고친 키 · 고치기 전후 원문번호 · 지운 줄) ·
  요소를 고친 저장은 연결·준용 검사를 그대로 돌림
- 저장 뒤 목록은 흔들린 자리를 알려 받아(`stale(names, marks)`) 그 줄만 다시 셈 ·
  다른 창이 고친 파일이면 예전처럼 통째로 다시 셈
- 자재품목을 「구분」 으로 미리 갈라 둠(`master_material.by_class`) — 고르기 후보를
  3만 줄에서 훑지 않음 · 가른 차례는 파일 차례 그대로라 고르는 줄은 안 바뀜
- 전수 확인 — 요소·표 파일 90 개마다 줄을 통째로 비우고 로직 1,354 줄을 다시 검사,
  달라진 줄이 모두 지도 안(지도 밖 0)
- 시험 `test_m01_cache.py` 에 셋 더함(열둘) — 쓰이는 요소를 지우면 저장이 막힘 ·
  요소를 고쳐 저장한 뒤 막힘 표시가 줄마다 검사한 것과 같음 · 인력 줄을 비운 전수 대조

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 02:59:52 +09:00
eomsangdonandClaude Sonnet 5 e2bd128d4f knowledge(M01): 밤 작업 요약 마무리 — 첫 목록 0.03초 · 저장 0.8초 · 캐시 교차 검증 · 아침에 눌러 볼 차례 다섯 줄 · PLAN 1-3 에 정할 것 둘 (일감 33)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-22 02:56:21 +09:00
eomsangdon e324f59b39 Merge remote-tracking branch 'origin/dev' into sub_laptop_2 2026-09-22 02:55:16 +09:00
eomsangdonandClaude Sonnet 5 ff979104ee knowledge(M01): 목록 캐시 교차 검증 — 1,354 전수 · 고침 시나리오 · 조합, 어긋남 0 (일감 32)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-22 02:53:34 +09:00
eomsangdon 589403f536 Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-09-22 02:41:27 +09:00
eomsangdonandClaude Opus 5 ef7dc80198 perf(M01): 저장 검사를 고친 줄 둘레로 좁히고 서버가 뜰 때 마스터를 미리 읽음 (일감 33)
- 저장(`POST /save`) 6.8초 → 0.8초 — 고친 줄과 그 줄을 부르던 줄만 검사
  (안 보는 줄이 부르는 키는 목록이 미리 세어 둔 것을 씀 · 돌고 도는 길은 전체 그림으로)
- 로직 줄만 고쳤으면 품셈재료 연결 · 인력 준용 검사(`check_links`)도 건너뜀
- 로직 밖 파일(요소 · 표)이 섞인 저장은 예전처럼 전부 검사 — 전체 검사는 `check_master` 몫
- 켠 뒤 첫 목록 3.4초 → 0.03초 — M01 라우터가 뜰 때 뒤에서 한 번 읽어 둠(`cache.warm`)
- 저장 전 검사(`check_saved`)를 M01 쪽(`_Store_Cache`)으로 옮김 — 좁히는 값이 있는 자리 ·
  `check_master` 가 700줄에 닿음
- 시험 `test_m01_cache.py` 에 넷 더함 — 없는 로직 키 · 없는 요소 키 · 돌고 도는 참조 ·
  다른 파일에서 그 줄을 부르던 줄이 깨짐(모두 422) · 미리 읽은 뒤 첫 목록

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 02:39:33 +09:00
eomsangdonandClaude Sonnet 5 6767b00137 knowledge(M01): 밤 작업 요약 갱신 — 새벽 화면 변화 · 빨라진 수 · 시험 100 통과 · 계수 표 셋 · 정할 것 둘 (일감 31)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-22 02:34:36 +09:00
eomsangdonandClaude Opus 5 3c6e68231c perf(M01): 로직·조합 목록이 마스터를 한 번만 읽고 막힘은 미리 세어 둠 (일감 32)
- `_Store_Cache` 신설 — 자국(시각·크기)이 바뀐 파일만 다시 읽음 · 목록은 검사를 돌리지 않고 세어 둔 막힘을 씀
- 요소·표가 바뀌면 모든 로직을, 로직 파일이 바뀌면 그 파일과 그 로직을 부르던 줄만 다시 셈
- 저장 뒤에는 고친 파일을 바로 다시 읽게 알려 줌 — 저장 직후 목록 2.5초 → 0.06초
- `/logics` 둘째 번부터 2.5초 → 0.02초 · `/combos` 0.3초 → 0.01초 · 켠 뒤 첫 번만 3.4초
- 시험 `test_m01_cache.py` 다섯 — 세어 둔 막힘이 줄마다 검사한 값과 같음 · 거름 그대로 · 저장 직후 비침

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 02:17:49 +09:00
eomsangdonandClaude Sonnet 5 3b94c5e6a5 fix(M01): 재료 처음 펼치면 자재품목 목록 바로 열림 · 좁은 화면 넓은 표 안내 한 줄 (일감 30)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-22 01:44:44 +09:00
eomsangdon 67cc8d291c Merge remote-tracking branch 'origin/sub_desktop_1' into main_desktop_1 2026-09-22 01:42:28 +09:00
eomsangdon b98949effd Merge remote-tracking branch 'origin/dev' into main_desktop_1 2026-09-22 01:42:25 +09:00
eomsangdon 5b2f678147 knowledge(M01화면): 화면 늦음 점검 — 2초 넘는 자리는 /api/m01/logics 하나
읽기 전용 점검(일감 28). 자재품목·소요량·계수·조합은 0.5~1.6초, 단가산출 로직과
로직 개선 시험만 6초대(같은 /api/m01/logics 길 — 쪽 나누기 전에 1,354줄 전부
막힘 검사 + 요청마다 마스터 전부 재색인). 그리기는 어디서도 안 느림. 고치지 않고
표·원인·제안만 기록.
2026-09-22 01:41:54 +09:00
eomsangdon 5a80dc4eb2 fix(마스터화면): 화면 글 고침 — 자재→재료·결과단위 띄어쓰기·죽은 글 지움
_검증_화면글.md 의 「사용자 확정 필요 없는 것만」 고침(브레인 판정) —
「단가산출 상세」 대 「호표」·「키」는 확정 거리라 그대로 둠.

① 자재 → 재료(LogicLab_Text.ts G_material) — 왼쪽 패널 묶음 이름과 맞춤.
② 결과단위 → 결과 단위 — Logic_Text.ts Head_Unit 뿐 아니라 화면을 열어
   실제 표 머리글로 쓰이던 Logic_List.ts COLS 하드코딩 글자도 같이 고침
   (점검 문서엔 안 적혀 있던 자리 — 화면 확인 중 찾음).
③ 죽은 글 지움 — locale_m1.ts M01_GroupTest(부르는 화면 코드 없음) ·
   Logic_Text.ts Edit_OwnOnly·Edit_Copy·Edit_Copied·Edit_CopySoon
   (API 라는 프로그래머 말 포함, 다 같은 안 쓰이는 무리 — grep 으로
   재확인 뒤 지움. 같은 이름의 로직개선시험 쪽 버튼은 살아 있어 안 건드림).

typecheck(tsc --noEmit) 전후 0건. ORCA 로 화면 열어 확인 — 4곳 다 바뀐 글
그대로 보임. 390px 확인은 ORCA CLI 에 뷰포트 폭을 바꾸는 명령이 없어 못 함
(CSS 로 흉내내면 실제 media query 가 안 걸려 참값이 아님) — ref 문서에
그 사정과 글자수 견줌(줄바꿈 위험 낮음)을 적어 둠.
2026-09-22 01:40:10 +09:00
eomsangdon 767b1ed378 Merge remote-tracking branch 'origin/sub_laptop_4' into sub_desktop_1 2026-09-22 01:29:52 +09:00