Commit Graph
219 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5.5 a9efc452cc feat(m01-lb): 로직 만들기 판 시험 계산 서버 길 · 화면 부르기
- M01_LB_Calc.py — POST /api/m01/lb/calc {row, inputs, tables}: /calc 와 같은 셈 · 부를 때마다 새 사본에 표를 바꿔 끼움(전역 캐시 · 파일 안 건드림 · 저장 안 함)
- GET /api/m01/lb/table-users — 표 「용도.로직키」 + 로직 글 대조
- main.py 등록 한 줄(시스템 관리자 · 폴더째 지우면 이 줄도 지움)
- M01_LB_Api.ts — lbCalcLater(0.3초 · 최신만 · 쉬운 말) · tableUsers · fetchLbTable
- 시험 test_m01_lb_calc.py — 견본 표 덮어 값 바뀜 · 캐시 · 파일 그대로 · 표 없으면 /calc 와 같음 · 404 · 사용처 · 403

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-10-01 11:45:22 +09:00
eomsangdonandClaude Opus 5.5 c20db1b64e feat(m01-lb): 로직 만들기 판 Api 타입 · 함수 머리 올림
- LbTables · LbTableUser · LbTable
- lbCalcLater · tableUsers · fetchLbTable 머리(몸은 다음 커밋)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-10-01 11:40:55 +09:00
eomsangdonandClaude Opus 5.5 1c75337388 feat(m01-easycalc): 카드로 새로 생긴 설계 값 시험값을 자동값 규칙으로 바로 채움(금액 곧장 보임)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-01 10:38:28 +09:00
eomsangdonandClaude Sonnet 5.5 5954b27761 fix(m01-easycalc): 고르기 고침 넷 — 다른 일위대가 받는 값 넘김 · 다시 고르기 수량 미리 채움 · 재료 찾기 이름 순서
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-10-01 10:25:29 +09:00
eomsangdonandClaude Opus 5.5 cddd343c87 fix(m01-easycalc): 잘못 넣은 줄(빈 이름 · 숫자 아님 · 0 · 음수) 저장 막음 · 조건 · 표 창에 설계 값 넘김
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-01 10:16:55 +09:00
eomsangdon 79ff921863 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_1 2026-10-01 10:06:44 +09:00
eomsangdonandClaude Opus 5.5 77e0ae4b15 fix(m01-easycalc): 카드가 옛 판본을 쥐던 흠(저장 뒤 409) · 되돌리기 칸 다시 그림 · 단위 후보 다듬음 · 본뜬 뒤 알림
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-01 10:06:43 +09:00
eomsangdon 609eaba0b9 Merge remote-tracking branches 'origin/sub_laptop_2' and 'origin/sub_laptop_3' into main_laptop_1 2026-10-01 10:05:44 +09:00
eomsangdonandClaude Sonnet 5.5 e3d438965a fix(m01-easycalc): Pick 재료 후보 타입 정리 — ElementBrief 구분 칸 타입 빨강 해소
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-10-01 09:56:15 +09:00
eomsangdonandClaude Sonnet 5.5 ea07beb5c4 feat(M01-쉬운단가): Cards 잠금 카드에 조건 보고 고치기 단추 - openEasyCond 답으로 식 바꿈 · 표와 조건 둘 다 있으면 두 단추
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D2nUMUMTsqm93PbQtipo6c
2026-10-01 09:54:42 +09:00
eomsangdon 7aeff2c476 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_1 2026-10-01 09:54:40 +09:00
eomsangdonandClaude Opus 5.5 23c02df179 feat(m01-easycalc): Entry 잇기 — 열기 · 카드 · 표 · 설계 값 띠 · 계산 · 저장 · 본뜨기 · 지우기 · Ctrl+Z · Ctrl+S
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-01 09:54:39 +09:00
eomsangdon 18e8b93304 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_2 2026-10-01 09:53:41 +09:00
eomsangdonandClaude Sonnet 5.5 bd9fc2fe8a feat(M01-쉬운단가): Cards 잠금 카드에 표 보고 고르기 단추 - openEasyTable 답으로 식 바꿈 · on.trial 받음
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D2nUMUMTsqm93PbQtipo6c
2026-10-01 09:53:41 +09:00
eomsangdon 2f52430454 Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-10-01 09:53:04 +09:00
eomsangdonandClaude Opus 5.5 3d52720759 feat(m01-easycalc): 조건 보고 고치기 창 · 시험
- openEasyCond(card, doc, trial) — 잠금 카드 수량 · 그 밖 덧붙임의 조건을 문장으로 · 고르기 · 숫자 칸으로 고쳐 새 식 글 · 취소 null
- 읽는 꼴: 만약(사슬) · 최소/최대 · 올림/버림/반올림 — 식 전체 또는 식 속 덩어리 · 중간 값 이름 하나면 따라감 · 못 읽으면 지금 화면 안내 한 줄
- 금액 미리 보기: Api calcLater · 준비 전이면 /calc 0.3초 뒤 최신만
- 표 칩은 Table 파일이 있으면 openEasyTable 로 엶(import.meta.glob)
- 마스터: 줄 자체에 조건이 있는 카드 824 가운데 767 읽음(93%)
- 시험 resources/tester/test_m01_easycalc_cond.py 19개

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VBToTCGk5dqDKeXCEP3vhk
2026-10-01 09:52:20 +09:00
eomsangdon fddd2b4dba Merge remote-tracking branch 'origin/dev' into sub_laptop_2 2026-10-01 09:51:36 +09:00
eomsangdon 189d853fae Merge remote-tracking branches 'origin/sub_laptop_4' and 'origin/sub_laptop_8' into main_laptop_1 2026-10-01 09:50:03 +09:00
eomsangdon c80a6f1b98 Merge remote-tracking branch 'origin/dev' into main_laptop_1 2026-10-01 09:50:02 +09:00
eomsangdon adda12a198 Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_2 2026-10-01 09:49:53 +09:00
eomsangdonandClaude Sonnet 5.5 571eeafddc feat(M01-쉬운단가): Cards 를 Model·Pick 실물에 맞춤 - 잠금 판정 · 덧붙임 더하기 · 묶음 안 ▲▼ · PLAN Cards 검증완료
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D2nUMUMTsqm93PbQtipo6c
2026-10-01 09:49:52 +09:00
eomsangdonandClaude Opus 5.5 a06863e2ec feat(m01-easycalc): usesOf 회사 · 개인 층 조합까지 — M02 층 길 읽기만
- 내 층 /combos/all · 남의 회사 /layers/company/owners · 회사마다 사람 /layers/personal/owners → 층 조합 하나씩 읽어 담은 것만
- EasyUse.where(「회사 · 이름」 · 「개인 · 이름」) · 못 읽은 층은 「일부를 못 읽음」 한 줄
- 시험 — holding 견본(담은 것만 · 자리 글)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-10-01 09:49:18 +09:00
eomsangdonandClaude Opus 5.5 0acffdc341 fix(M01): 표 보고 고르기 — 설계 때 정하는 조건 줄 누름에 고정 안내 한 줄(34-3c)
- 설계 값에 묶인 조건이 있는 줄을 누르면 「이 값은 설계 때 정함 — 늘 이 줄로 하려면 [이 값으로 고정]」
- 누름 한 번으로 그 조건들을 누른 줄 값으로 고정 · 안내 사라짐
- 줄 수 700 아래로 맞춤(표 머리 짜기 줄임)
- 시험 6 통과 · typecheck 통과 · ORCA GF000219 줄 35·깬잡석·골쌓기 → 고정 한 번 → 새 식 세 조건 고정 · 87,395 / 132,133

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-10-01 09:47:26 +09:00
eomsangdon a0882977bd Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_2 2026-10-01 09:46:59 +09:00
eomsangdonandClaude Sonnet 5.5 f9ac244b63 feat(m01-easycalc): Pick 오류를 쉬운 말로 · 목록 100줄 제한 · PLAN 34-3b Pick 검증완료
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-10-01 09:46:44 +09:00
eomsangdon 7bfb2d76bb Merge remote-tracking branch 'origin/dev' into sub_laptop_3 2026-10-01 09:43:29 +09:00
eomsangdonandClaude Sonnet 5.5 4aa81e13b2 fix(m01-easycalc): Pick 재료 상세구분 빈 값 보냄 고침 · 검색 결과 상세구분 안 붙임
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-10-01 09:43:18 +09:00
eomsangdon ac19ac59c5 Merge remote-tracking branch 'origin/sub_laptop_8' into sub_laptop_4 2026-10-01 09:43:07 +09:00
eomsangdon f4699ae91c Merge remote-tracking branch 'origin/dev' into sub_laptop_4 2026-10-01 09:43:05 +09:00
eomsangdonandClaude Opus 5.5 73daf910ad feat(M01): 쉬운 단가산출 2단계 표 보고 고르기 — openEasyTable(PLAN 34-3c)
- 잠금 카드 수량 식 속 표 찾기를 엔진 문법대로 읽음(따옴표 · 괄호 · 겹친 찾기) · 못 읽는 꼴은 한 줄 안내
- 표를 그대로(머리 · 줄) · 지금 시험값으로 걸린 줄 노랑(서버 /text 표 조각 줄 차례) · 값 칸 굵게
- 줄 누르면 그 줄 값으로 · 조건마다 「설계 때 정함 / 이 값으로 고정」 · 범위 칸은 범위규칙대로 안쪽 수
- 바뀐 식으로 이 줄 금액 · 합계 미리 보임(/text · /calc) · 고른 줄이 안 걸리면 [이걸로] 막음
- 시험 test_m01_easycalc_table.py 6 통과 · typecheck 통과
- ORCA: GF000219 석공 줄 35 · 깬잡석 고정 → 87,395 원(서버 87,395.1) · 합계 132,133
  · GC000129 범위 줄 5~8 → 나무높이 6.5 · 541,940 → 709,080 · 값 칸 · 취소 · 닫기 null

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-10-01 09:42:06 +09:00
eomsangdonandClaude Opus 5.5 87aabc4a0d feat(m01-easycalc): 쉬운 단가산출 Api 몸 — 서버 길 감싸기 · 기계 짝 · 쉬운 말
- listEasy(품셈 기본 / 내가 만든 것 · 돈 아닌 로직 「쉬운 길로 못 엶」) · openEasy(자동값) · calcLater(0.3초 · 최신 응답만)
- newEasy · copyEasy · editEasy · deleteEasy — /logic/* 만(/save 안 씀) · usesOf = 담은 조합 + 부르는 내 로직
- listMachines · machineElement — 기종 → 기계 시간당 경비 로직 부름 글 · 넘길 설계 값(부착 전용 · 손료만은 뒤로)
- plainError — 0 · 403 · 404 · 409 · 422 검사 글을 쉬운 말로(키 · 날 글 걸름)
- 시험 test_m01_easycalc_api.py — 사본 폴더 왕복 · 쓰는 곳 막음 · 기계 짝 · 쉬운 말 · 금지 낱말

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-10-01 09:42:02 +09:00
eomsangdon 2e0b6c25d7 Merge remote-tracking branches 'origin/main_laptop_1' and 'origin/sub_laptop_3' into sub_laptop_7 2026-10-01 09:39:08 +09:00
eomsangdon 7c2fe0f38e Merge remote-tracking branch 'origin/dev' into sub_laptop_7 2026-10-01 09:39:06 +09:00
eomsangdon c32c394464 Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-10-01 09:37:54 +09:00
eomsangdon d938683201 Merge remote-tracking branch 'origin/sub_laptop_7' into main_laptop_1 2026-10-01 09:37:53 +09:00
eomsangdonandClaude Sonnet 5.5 5cc5b2d63a feat(m01-easycalc): 쉬운 단가산출 고르기 창 Pick 올림 — 사람 · 재료 · 기계 · 다른 일위대가
물음 셋(무엇 → 어떤 것 → 얼마) · openEasyPick(kind?) → PickResult | null

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019ACSGaHdLgnkEkoA4LDtMU
2026-10-01 09:37:52 +09:00
eomsangdonandClaude Sonnet 5.5 de2720c46b feat(M01-쉬운단가): 카드 그리기 Cards 추가 - 묶음·소계·문장 칸·잠금 카드·지움·▲▼·경고·더하기
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D2nUMUMTsqm93PbQtipo6c
2026-10-01 09:37:36 +09:00
eomsangdonandClaude Opus 5.5 63235dc203 feat(m01-easycalc): 쉬운 단가산출 Model 속 채움 · 시험
- toDoc · toRow: 호표 인력 · 재료 · 기계경비 로직(GC000267~276) · 그 밖 로직 카드 · 숫자 아닌 수량은 잠금 + 쉬운 말 까닭
- 덧줄 「바탕 * 숫자 / 100」(노무비 · 재료비 · 경비 · 사람 줄 노임 합) = 덧붙임 카드 · 그 밖 = 잠금
- 안 바뀐 줄은 원래 글자 그대로 — 견본 셋 · 마스터 로직 1,469개 왕복 같음
- addCard · addPercent · withInputs · updateCard · removeCard · moveCard(같은 묶음 안) · checkCard · checkName · EasyHistory
- 시험 resources/tester/test_m01_easycalc_model.py 14개

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VBToTCGk5dqDKeXCEP3vhk
2026-10-01 09:37:05 +09:00
eomsangdonandClaude Opus 5.5 de8b71fab6 feat(m01-easycalc): 시작 화면 · 고치는 화면을 Api 목록 모양 · Model EasyDoc 으로 맞춤
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-01 09:36:16 +09:00
eomsangdon f5a88832cd Merge remote-tracking branch 'origin/main_laptop_1' into sub_laptop_1 2026-10-01 09:34:50 +09:00
eomsangdonandClaude Opus 5.5 fb991500fd feat(m01-easycalc): 쉬운 단가산출 큰 창 틀 · 시작 화면 · 고치는 화면 위 띠(1걸음)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-01 09:34:46 +09:00
eomsangdon 0556a51566 Merge remote-tracking branch 'origin/sub_laptop_5' into main_laptop_1 2026-10-01 09:34:45 +09:00
eomsangdonandClaude Sonnet 5.5 6f1b569cd9 feat(M01-쉬운단가): 실무 일위대가표 · 설계 때 정하는 값 띠(Sheet)
읽기만 하는 일위대가표(명칭·규격·수량·단위·합계·노무비·재료비·경비·비고·합계 줄)와 시험값 띠 추가.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EauA2ATmqNRbeV48s9CcBr
2026-10-01 09:34:04 +09:00
eomsangdonandClaude Opus 5.5 3c7a285f1f feat(m01-easycalc): 쉬운 단가산출 Api 타입 · 함수 머리 올림
- EasyListItem · EasyOpened · EasySaved · EasyUse · EasyMachine · EasyMachineElement
- listEasy · openEasy · calcLater · newEasy · copyEasy · editEasy · deleteEasy · usesOf · listMachines · machineElement · plainError 머리(몸은 다음 커밋)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmELpdXFDRZHhfbGuRhSmL
2026-10-01 09:32:39 +09:00
eomsangdonandClaude Opus 5.5 bffb4bbeeb feat(m01-easycalc): 쉬운 단가산출 Model 타입 · 함수 머리 올림
설계.md 3절 CardKind · CostKind · EasyCard · EasyDoc · PickResult 와 함수 머리(속은 준비 중)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VBToTCGk5dqDKeXCEP3vhk
2026-10-01 09:29:11 +09:00
eomsangdonandClaude Sonnet 5.5 85cd60da18 feat(M01): 쉬운 단가산출 시험 단추 + 빈 창 — EasyCalc 폴더 신설
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
2026-10-01 09:15:57 +09:00
eomsangdonandClaude Opus 5.5 0541830750 fix(공용): 모달 위 고정 · 보이는 글 「더하기」 → 「추가」(30-1)
- 공용 .ui-modal: 세로 가운데 대신 최대 높이 기준 가운데 자리에 윗변 고정 · 아래로만 늘고 줆(찾기 칸이 안 움직임) · 큰 창은 --modal-max(고르기 모달 94vh · 노선 추천 92vh · M01 복사 시트 90vh) · M02 단추 아래 작은 창은 margin-top 0
- 따로 둔 모달도 같게: B01 대시보드 모달 · M01 로직 고르기(m01-logic) · M01 조달 찾기
- 가운데 그대로: 불러오는 중 가림 · 공용 확인 창 · B03 확인 창 · B05 노선 편집(고정 높이) · 스프레드시트 메모 편집
- 「더하기」 → 「추가」 25곳(스프레드시트 · M01 · M02 · 공용 표 · locale) · 안쪽 명령 이름 시트더하기 · 주석은 그대로
- 시험 test_modal_top_and_add_word 새로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ly2oHAaTDYRjcniAmHR81z
2026-09-30 18:56:43 +09:00
eomsangdonandClaude Opus 5.5 c8686ee3ad feat(M02): 일위대가 라이브러리 화면 — 좌측 「일위대가 조합」 컨테이너 · 뿌리 셋 나무 · 조합 편집 · M01 컨테이너 뺌(PLAN 27-2b · 27-2c 화면)
- 좌측 「일위대가 조합」(구조물 조합 위) → 메인 칸 왼쪽 뿌리 셋 + 조합 나무(폴더 [구분, 상세구분] 깊이 2 · TreePanel 공용) · 오른쪽 목록 · 상세(옛 M01 조합 화면 옮김 · Labor_Edit)
- 나무 오른쪽 클릭: 폴더 더하기(2 단까지) · 조합 더하기(그 폴더 채운 빈 조합) · 이름 · 옮기기 · 지우기 · 조합 이름 바꾸기 서버 길 더함
- 해시 open=일위대가 로 진입 · 다른 뿌리를 누르면 그 뿌리 일위대가로
- 읽기만 뿌리는 저장 · 지우기 · 로직 더하기 없음
- TreePanel 에 maxDepth · item(부르는 말 · 새 항목 화면) 선택지 더함(구조물 라이브러리는 그대로)
- 조합 고르기(면적산출 옆 목록 · 일위대가 고르기)가 이 층이 쓸 수 있는 세 층 조합 · 알약은 /api/m02/combos/key/{키}/inputs
- M01 좌측 · 페이지에서 일위대가 조합 컨테이너 뺌
- 시험 test_m02_labor_tree(새) · test_m02_combo_layers 더함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-09-30 13:35:38 +09:00
eomsangdonandClaude Opus 5.5 f8302149a9 refactor(M02): 일위대가 조합 화면 부품 M01 → M02 옮김 — Labor_Api(층 · 키 하나 · 세 층 · 나무 · 담을 로직) · Pick · Preview · Text · css(PLAN 27-2b 앞)
- 조합 Api 가 층 길(/api/m02/layers/{layer}/combos) · 키 하나는 /api/m02/combos/key 로 — 회사 · 개인 조합도 읽음
- 로직 고르기 · 미리 보기는 /api/m02/logic-lib(로그인) 로 읽음
- M01 조합 화면 · M02 구조물 조합 쪽 부름을 새 자리로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-09-30 13:22:13 +09:00
eomsangdonandClaude Opus 5.5 354e6cd029 feat(M02): 일위대가 조합 층 저장소 · 층 길 — 마스터 · 회사 · 개인(PLAN 27-2a · 27-2c 서버)
- 새 M02_MasterTemplete_Combo_Store · Router_Combos — /api/m02/layers/{layer}/combos 목록 · 하나 · 새로 · 고침 · 지움 · 나무 · 알약 · 미리 보기 · /api/m02/combos/all(세 층)
- 키 장부 UC{회사}-###### · UP{사용자}-######(파일 머리 다음 · 지운 번호 안 씀) · 마스터 UA 는 M01 저장 길 그대로
- 나무 = 폴더 [구분, 상세구분] 깊이 2 · 빈 폴더는 머리 폴더 · 쓰는 조합 든 폴더 지우기 409
- 옛 /api/m01/combo* 길 뺌(logic/combos 만 남김) · 조합 화면 Api 는 M02 마스터 층 길로
- use-combo · 갈라 내기 · 항목 이름 · 면적 알약 · 스냅샷 원본이 세 층 조합을 읽음 · 남의 층 조합 403 · 갈라 낸 조합은 그 층에(시스템 관리자 한정 뺌)
- 시험 옮김(test_m01_combo · test_m01_combo_inputs) · 새 test_m02_combo_layers

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BU9gbNE3aWFUvE61pS2WGt
2026-09-30 13:15:10 +09:00