Commit Graph
4454 Commits
Author SHA1 Message Date
eomsangdon 0683da856b Merge remote-tracking branch 'origin/sub_laptop_3' into sub_laptop_2 2026-09-22 12:12:10 +09:00
eomsangdonandClaude Sonnet 5 0eebf357fa feat(M01): PLAN 7-1 — 「로직 개선 시험」을 「단가산출 로직」 하나로 합침
소요량·계수의 쓰는 로직 · 조합 화면 로직 이름 · 패널 제목 세 자리를 모두
새 컨테이너(UI_LogicLab)로 돌림 · 옛 컨테이너(UI_Logic_Page)는 old_code/M01_MasterData/
로 옮김(지우지 않음 · import 경로만 고침 · 통째 복사 아님) · 정본 GC·GF 를 화면에서
바로 고쳐 저장 · 정본 파일에 빈 줄 더하기 두 길은 사용자 확정으로 버림.
분석 = resources/master_data/ref/_분석_로직컨테이너_통합.md.

typecheck 통과 · M01 시험 107 통과 · ORCA — 패널에 「단가산출 로직」 하나만
· 소요량 표 쓰는 로직 키(GF000002 · GF000051) 클릭 각각 그 로직이 새 컨테이너에서 열림
· 조합 화면 로직 이름도 같은 컨테이너로 이어짐.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-22 12:08:54 +09:00
eomsangdon c553586722 Merge remote-tracking branch 'origin/dev' into sub_laptop_4 2026-09-22 12:05:21 +09:00
eomsangdonandClaude Sonnet 5 9c5c1d846b refactor(M01): Z01_MasterData 폴더째 old_code 로 옮기고 등록·문구 끊음 (PLAN 7-2)
라우터·라우트·문구에서 Z01 을 끊음 — M01 만 남김.
시험 여섯도 old_code/resources/tester 로 같이 옮김.
Z01 이 읽던 옛 자료 셋은 디스크에 이미 없음 · master_data/old 는 B08·B09 도 읽어 남김.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PAdA5ThqmtVSsbzjusk1cJ
2026-09-22 11:59:59 +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 6a2925a9ec auto: 2026-09-22 03:10 (EOMSANGDON-HOME) 2026-09-22 03:10:31 +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 Sonnet 5 d0d287c4be test(M01): 조합 시험이 정본 견본 조합에 안 깨지게 — 사본 조합 줄을 비워 시작 (일감 30)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-22 02:30:38 +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 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 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 cce77d16a7 auto: 2026-09-22 01:42 (EOMSANGDON-HOME) 2026-09-22 01:42:02 +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
eomsangdon 7503c85a71 auto: 2026-09-22 01:28 (ESD_LAPTOP) 2026-09-22 01:28:37 +09:00
eomsangdon 8d3e5f82f5 knowledge(마스터화면): 화면 글 점검 — 용어 뒤섞임·죽은 글·오류 안내 부족 적음
M01 문구 파일 4개(Combo·Logic·LogicLab·LogicLab_New Text.ts)와
ui_template_locale_m1.ts 를 읽어 찾음(읽기 전용, 코드·데이터 안 고침).

① 용어 뒤섞임 — 「자재」(재료 아닌 한 자리) · 「단가산출 상세」 대 「호표」(같은
표를 화면마다 다른 말로) · 안 쓰는 M01_GroupTest 가 다른 제목으로 남음.
② API 라는 프로그래머 말이 남은 죽은 글(Edit_CopySoon).
③ 「결과단위」 붙여 쓴 한 자리(다른 곳은 「결과 단위」).
④ Pill_NoPick·Pill_NoValue 가 할 일을 안 알려 줌(다른 멈춤 글은 알려 줌).
2026-09-22 01:27:03 +09:00
eomsangdon aa9a167590 Merge remote-tracking branches 'origin/sub_laptop_1' and 'origin/sub_laptop_2' into main_laptop_1 2026-09-22 01:19:36 +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
eomsangdonandClaude Sonnet 5 807124e80f knowledge(M01): 단가 빈 로직 63 갈래 정리 — 고칠 수 있는 줄 0 (일감 28)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-22 01:17:55 +09:00
eomsangdon 0066a5a30e Merge remote-tracking branch 'origin/dev' into sub_laptop_1 2026-09-22 01:16:06 +09:00
eomsangdonandClaude Sonnet 5 d3f48bce11 knowledge(M01): 본문 대조 오탐 둘 정리 — 1-2-4 미올림 뒷항 제외 · 칸 안 줄바뀜 수 이어 읽기
- CC000337 결손 18 = 1-2-4 5·6항 표 미올림 · CC000074 결손 51 = 원문 규격 5,150 줄바뀜 · 본문 대조 0건

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 01:14:30 +09:00
eomsangdonandClaude Sonnet 5 bbee6118e6 knowledge(M01): 밤 작업 요약 — 사용자 아침 보고용 (일감 27)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-22 01:11:53 +09:00
eomsangdonandClaude Sonnet 5 db76fa1878 knowledge(M01): 변수 참조 20줄 이관 검증 — 어긋남 0 · 잡지 못하는 것 셋
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-22 01:07:01 +09:00
eomsangdonandClaude Sonnet 5 fb503d6b5f fix(M01): 일위대가 조합 — 첫 펼침 불러오는 중 · 늦은 답 버림 · 열어 둔 상세 기억 · 로직 상세 이동 전 확인
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-22 00:59:19 +09:00
eomsangdon 8c2751ca96 Merge remote-tracking branch 'origin/main_desktop_1' into sub_laptop_3 2026-09-22 00:55:48 +09:00
eomsangdon 04cd36ba19 Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-09-22 00:55:46 +09:00
eomsangdonandClaude Sonnet 5 e31d7c75e5 knowledge(M01): 밤 작업 마감 수치 — 시험 190 통과 · 검사 · 줄 수 표
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
2026-09-22 00:54:43 +09:00
eomsangdon db519dcbd9 fix(M01): 조합 메모·이름 검사 흠 둘 고침
메모 칸이 글자 아닌 값(수량 등)을 받아도 저장되던 것 · 이름이 글자 아니어도
저장되던 것을 막음(sub2 검증 `ref/_검증_조합.md` 일감 24). 메모는 글자·null만,
이름은 서버 400(글자 아님) + check_combo_form 422(빈 이름·60자 넘음·겹침)로
까닭과 함께 거절. _틀.md 10장 갱신 · 재현 시험 포함 4건 추가(21 통과).
2026-09-22 00:54:20 +09:00