Commit Graph
78 Commits
Author SHA1 Message Date
eomsangdonandClaude Opus 5 f2fe4f4214 revert(Z01): 롤백된 마스터 DB·화면 작업이 dev 로 되들어온 것 걷어냄
- 사용자 「완전히 되돌려」 뒤 dev 를 거쳐 다시 들어온 1-2·1-3·1-4 코드 26 경로를 9629430a 모습으로(고친 17 되돌림 · 새로 생긴 9 지움)
- 대상: Z01_MasterData 17 · main.py · ui_template_locale_b3.ts · resources/tester 의 Z01 시험 7
- 품셈 md·도구는 안 건드림 · 이력 재작성 없음(되돌림 커밋)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0145cr1DMC5Ft8fouQSXtp69
2026-09-19 01:36:21 +09:00
eomsangdon a6134adf6a Merge remote-tracking branch 'origin/sub_laptop_4' into sub_laptop_3 2026-09-18 23:59:37 +09:00
eomsangdonandClaude Opus 5 feab848e69 feat(Z01): 기초단가 표 [저장] 방식 교체 · 공종 편집 화면 신설 — PLAN 1-4
- 기초단가 표: 칸 나갈 때 즉시 저장 없앰 · 고친 칸·새 줄·지울 줄은 초안(sessionStorage z01-draft:base:{kind})에 쌓고 [저장] 한 번에 보냄 · [고친 것 버리기]·[줄 추가]·[줄 삭제]·[초기값으로] · 409 면 초안 지키고 알림 · 서버가 revision 을 줄 때만 고치기 단추 섬
- 옛 덮개 길(칸 단위 PUT · 고친 것 모아 보기 · 덮개 판정 표시)과 그 사전 글자 뺌 — 계약 1-0 에서 서버 쪽 삭제
- 공종 편집(Z01_MasterData_UI_WorkItem.ts · _WorkItem_Rows.ts): 왼쪽 목록(상태별 개수·검색) / 머리 / 구성 줄 표(갈래별 · 자원 찾기 = 기초단가 검색) / 품셈 원문 표+[주] 읽기 전용 / [저장]·[초기값으로]·[검수 완료] · 초안 열쇠 z01-draft:work_item:{key}
- 공종 API(sub_laptop_3 e1c71c3e) 모양에 맞춤 — 줄은 id + 계약 칸 열하나만 보냄(extra=forbid) · 저장·초기값 응답(새 GET 모양)으로 바로 다시 그림 · 저장된 고침(changed_columns·is_added) 표시
- 초안 순수 함수 Z01_MasterData_UI_Draft.ts + 시험 test_z01_master_draft.py

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0145cr1DMC5Ft8fouQSXtp69
2026-09-18 23:55:45 +09:00
eomsangdon b28adc422a Merge remote-tracking branch 'origin/dev' into sub_laptop_2 2026-09-18 23:54:03 +09:00
eomsangdonandClaude Opus 5 6fe4056d98 feat(Z01): 기초단가 정본을 DB 로 — 저장소 신설 · 일괄 저장·줄 추가/삭제·초기값 되돌리기 API · 덮개 층 삭제
- Z01_MasterData_Repository_BasePrices.py 신설 — master_base_price·master_revision Raw SQL(읽기·줄 수·판번호·저장·되돌리기) · 판번호 줄을 잠그고 다시 봄 · 틀리면 통째로 되돌림
- GET /base-prices/{kind} 가 DB 를 읽음 · 응답에 revision · 줄마다 changed_columns·is_added 추가
- PUT /base-prices/{kind} {base_revision, edits, added, deleted} — 판 다르면 409 · 하나라도 틀리면 아무것도 안 씀 · edits 500 상한 · 모르는 칸 거절
- POST /base-prices/{kind}/reset {row_keys} — 주입 줄은 data := seed(지운 줄도 되살림) · 추가 줄은 지움
- 기계 시간당 단가는 DB 노임·유가로 읽을 때마다 셈 · 제원은 줄 값에서(추가한 기종도 섬)
- 옛 덮개 층 삭제 — Z01_MasterData_Overrides.py · 칸 단위 PUT · /overrides·/overrides/clear
- 새 줄 열쇠는 서버가 줌(added/{난수}) · 주입 data 에 '@' 칸이 없어도 축 잠금은 파일 원본으로 섬
- 시험: DB 가짜(helper_z01_fake_repo.py) 로 API 손질 · 저장소 SQL 흐름은 가짜 커넥션으로 잼

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V1MKKZKpUHTPKb513FneU8
2026-09-18 23:53:50 +09:00
eomsangdonandClaude Opus 5 e1c71c3e8b feat(Z01): 공종 편집 저장소·API — 목록·상세·전체 줄 저장·초기값으로 (PLAN 1-3)
- GET /work-items(상태별 개수) · GET/PUT /work-items/{key} · POST …/reset 신설, 시스템관리자 전용 묶음에 등록
- 저장은 한 트랜잭션 — 낡은 revision 409 · 없는 자원 열쇠·남의 줄 id 422 · 실패 시 전부 되돌림
- 빠진 줄은 초기값 줄이면 숨김(초기값으로 때 살림) · 관리자 추가 줄이면 지움
- 검사·줄 비교·되돌리기 규칙은 WorkItems.py 순수 함수 · SQL 은 Repository_WorkItems.py
- 옛 기초단가 표의 공종 축 보기(JSON 읽기)는 그대로 둠 — BasePrices.py(sub_laptop_2 몫)가 동기로 부름
- 시험 15개(test_z01_work_item_edit.py) — DB 없이 가짜 커넥션으로 409·422·롤백 확인

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016WRFJmmhPi4exAzHgPZHMT
2026-09-18 23:47:33 +09:00
eomsangdonandClaude Opus 5 d466bf67cf fix(data): 4바퀴 기초값 — 각재 비율 지어낸 것 뺌 · 손료 칸 밀림 · 전문공사 300억 이상 · 제조 노임 상위업종
브레인 4바퀴. 원문을 열어 하나씩 확인한 뒤 고침. **값(숫자)은 원문 그대로, 자리·이름만 맞춤.**

**① 거푸집 「각재」 비율 여섯 — 지어낸 것이라 뺌**
  원문 12-4(F0336)는 **「합 판」 한 줄에 두 열**(재료별% · 노무비%)을 적고 「각 재」 줄엔 비율이 없음.
  각재 자리에 있던 값이 **합판 줄의 노무비 열과 한 자도 안 다름** — 다른 열을 갖다 쓴 것이었음.
  ⇒ `plywood` → `plywood_material_pct` · 노무비 열은 `plywood_labor_pct` 로 제자리 ·
    각재는 `timber_absent` 로 **비워 두고 사유**(옛 값도 함께 남김)

**② 기계 손료 5202·5203 칸 밀림** — 규격 열이 둘·셋인 표라 한 칸(5202)·두 칸(5203) 밀려
  상각비율 자리에 내용시간(800·4,000)이 들어가 있었음. 원문 건설 8장 L2617~2633 대로 여덟 줄 맞춤

**③ 전문공사 일반관리비 300억 이상** — 마지막 구간이 「100억-300억 미만」으로 닫혀 **300억 넘는
  전문공사가 어느 구간에도 안 걸렸음.** 원본 XLSX 대로 300~1000억 · 1000억 이상(둘 다 4.5%)을 더함.
  ⚠ 대조 시험의 구간 지도(`SPECIAL_PRICE`)에도 그 둘이 없어 원문 쪽에서도 안 잡히고 있었음 — 함께 채움

**④ 제조 노임 115~123 상위업종** — 「품질 관리 / 하위업종」인데 하위만 담아 반쪽이었음(아홉 줄).
  원문(중소기업중앙회 조사표)대로 채움. 노임 값은 안 건드림

**⑤ 덤프 토사 E0 는 0.60 이 맞음** — 원문 10-12-1 은 식에 `E0=0.75` 를 적지만 바로 아래 [주]⑤
  「굴착기의 작업능력 산정 비교」 표가 `E0 | 토사 | 0.60(불량)` 비고에 **「임 도」** 라고 못박음. 근거를 자료에 적음
**⑥ 이형철근** — 원문이 범위 「6~7」로 적은 것을 `alt_rate_range` 로 함께 실음(쓰는 값은 7 그대로)

⚠ 기계 이름 뭉개짐·손료표 md 변환 오류는 **코덱스가 md 를 고치는 중**이라 손대지 않음

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-18 01:18:24 +09:00
eomsangdonandClaude Opus 5 4b6d4f141c feat(z01,b08): 이름 자간 다듬기·품셈 번호 숫자 정렬·건설 빈 칸 감춤 — 한 글자 낱말뿐인 조각이나 셋 이상 이어진 한 글자 낱말만 붙임(「측 량」→「측량」·「메 붙 임 · 깬 돌」→「메붙임 · 깬돌」 · 「그 외 자재」는 그대로) · 목록 경로 이름과 갈래 다듬은 이름(name_clean)에만 · 원문 이름은 마스터에 그대로 · 열쇠는 번호라 안 흔들림을 시험으로 못박음(다듬기 끈 목록과 열쇠 맞댐 · 장부 새 발급 0) · 품셈 번호 칸은 마디마다 수로 세움(「10-1」이 「2-1」 뒤) · 건설 「단계 무게」는 늘 빈칸이라 감춤(브레인 ⑥ · 서브 훑기)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 18:55:29 +09:00
eomsangdonandClaude Opus 5 a371ee0454 Merge remote-tracking branch 'origin/sub_desktop_1' into main_laptop_1 — 갈래 불변 열쇠(FW-00105#01 꼴 · 데스크탑 서브) 받음 · 자료 파일 충돌은 합친 코드로 다시 뽑아 풂 · 갈래 수 335 → 332(헛단위 13-3 갈래 뺀 것 반영)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 18:23:43 +09:00
eomsangdonandClaude Opus 5 eca9c37bbd feat(b08): 갈래에도 불변 열쇠 — FW-00105#01 꼴 · 글자는 보일 이름 칸으로
갈래가 공종 열쇠와 똑같은 병을 앓고 있었음 — 줄 열쇠에 갈래 **글자**가 그대로 들어가
`FW-00105#1.1∼1.5` 였고, 원문이 물결표를 둘(∼ 26 · ~ 8)로 쓰고 자간 공백만 다른 짝이
6쌍이라 **이름 한 번 다듬으면 열쇠가 갈렸음**(메인의 「띄어진 이름 175줄 다듬기」가 곧 그 손질).

- 갈래 장부 — `work_item_keys.json` 의 `variants`. 자리는 **공종 열쇠 아래**(목차 코드 아래가 아님)
  · 산림 66 공종 · 갈래 335 · 맞대는 꼴은 공백을 다 떼고 물결표를 하나로
  · 장부에 없는 갈래는 새 번호 · 사라진 번호는 다시 쓰지 않음(옛 일위대가가 가리키던 자리)
- 이름 칸 둘 — `name`(원문 그대로) · `name_clean`(자간 한 칸 · 물결표 하나) · 14줄이 다듬어짐
- Z01 줄 열쇠 `FW-00105#01` · 칸 `variant`(원문)·`variant_clean`(다듬은 것)
- 이름표 — 장부 `variants` 표 · 목록 열 `variant_clean` · 마스터 `variants` 칸
- 시험 — 갈래 열쇠 누락·중복 0 · 번호가 1부터 빠짐없음 ·
  **원문을 다듬어도 같은 번호가 나옴**(물결표 바꿔 넣고 자간 정리해도 새 발급 0)

함께 — 건설 총칙 뿌리 확정(안티그래비티 조사 · 브레인): 공통부문 제8장 건설기계(CP-01-08)를
총칙에 더함(산림 FP-02 와 짝) · 유지관리 제1장 「공 통」은 공종으로 둠
⇒ 건설 줄 구실 공종 923 · 묶는 마디 258 · 총칙 112 · 빈 잎 74

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 17:57:05 +09:00
eomsangdonandClaude Opus 5 a8d635f2cc feat(z01): 찾기에서 물결표·가운뎃점·띄어쓰기를 같게 봄 — 원문이 ∼·~ 를 섞어 써 「~」로 치면 0줄이던 것 · 찾기에만 쓰고 열쇠·칸 값은 원문 그대로(갈래 열쇠 흔들림 방지 · 브레인 · 서브 훑기)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 17:43:14 +09:00
eomsangdonandClaude Opus 5 d9b1d5ccb8 fix(z01): 거짓 알림 문구를 지금 상태로 — 덮개를 읽는 곳이 Z01 밖에 0 · 「아직 어디에도 안 쓰임(프로젝트로 옮기는 길 없음)」·「B06 이 아직 고친 값을 안 읽음」을 앞에 · 뒤 약속 문장은 지우지 않고 「그 길이 붙으면」으로(브레인 · 서브 훑기)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 17:28:29 +09:00
eomsangdonandClaude Opus 5 e057ceb442 Merge remote-tracking branch 'origin/sub_desktop_1' into main_laptop_1 — 총칙 기본 감춤 기준을 잣대 list_default 로(데스크탑 서브) 받음 · 줄 구실 표시 칸 이름도 잣대 list_label 을 따르게 시험 맞춤
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 17:19:08 +09:00
eomsangdon 92280faec8 Merge remote-tracking branch 'origin/sub_laptop_1' into CODEX 2026-09-17 17:15:15 +09:00
eomsangdonandClaude Opus 5 2d3430b373 fix(z01): 숨긴 열이 없는 표에서는 「숨긴 열 보기」 체크를 감춤 — 17표 중 15표에서 눌러도 아무 일이 없던 것
- 화면 한 바퀴 훑기(사용자 보기 전)에서 찾음 · 자재 단가·유가(숨긴 열 있음)만 체크가 뜸
- 화면 확인: 노임·기계 시공능력 감춤 · 자재 단가·유가 보임 · 타입 검사 통과

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-17 17:05:38 +09:00
eomsangdonandClaude Opus 5 76f70b675f feat(z01): 총칙 기본 감춤의 기준을 잣대로 · 목록에서는 「공종 아님 · 규정·기준」
랩탑 서브가 낸 기본 감춤(2ee6a7ed)·갈래 펴기(0ff186c1)를 받고, 판정 자리만 옮김.

- 서버에 박혀 있던 `DEFAULTS` → `axis_policy.json` 의 `list_default` 를 읽음
  (총칙 범위는 기관이 정하는 값 — 코드에 박으면 관리자가 못 고침 · 못 읽을 때만 대비값)
- 구실마다 `list_label` — 거르기 상자에서는 「총칙」이 아니라 **「공종 아님 · 규정·기준」**
  · 기본 감춤이되 **지운 것이 아니라 감춘 것**임이 드러남
- 지금 수 — 산림 전부 627 중 공종 568 · 공종 아님 59 / 건설 전부 997 중 공종 983 · 공종 아님 14

⚠ 갈래 열쇠 흠 하나 기록 — `@id` 가 `FW-00105#1.1∼1.5` 꼴로 갈래 문자열을 그대로 담음.
원문이 물결표를 둘(∼ U+223C 26 · ~ U+FF5E 8)로 쓰고 자간 공백만 다른 짝이 6쌍이라,
문자열을 손질하면 열쇠가 갈림. 잣대 `known_defects` 에 적고 수를 시험으로 못박음(갈래 335).
건설은 갈래 키가 비어 편 수 = 줄 수(997).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 17:04:55 +09:00
eomsangdonandClaude Opus 5 27ab46b08b Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 — 서브 갈래마다 한 줄(산림 627)·총칙 기본 감춤·이름표 읽기 받음 · 「연결됨」·줄 구실 칸을 갈래 줄에 얹음(공종 열쇠 @key 로 판정) · 연결 시험은 표가 붙은 줄만 잼(묶는 마디 CW-01329 는 목록 밖)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 17:00:29 +09:00
eomsangdon 6680cb0ff3 wip(z01): 총칙 기본 감춤 잣대화 — 병합 전 임시 보관 2026-09-17 16:58:05 +09:00
eomsangdonandClaude Opus 5 fd2ed65186 feat(z01): 상자 이름·계산 규칙을 이름표에서 읽어 보냄 — 이름표엔 이미 있었고 서버가 안 실어 영문으로 뜨던 것
- 목록 응답 kinds 에 group_label — 이름표 base_price_groups 이름(기초단가 · 품셈 기준 · 공종 축) · 화면은 7cb15af1 부터 이 칸을 읽음
- 공종 축 계산 규칙 칸 — 이름표 value_overrides 의 work_item_master 방식 이름(아래 하나를 고름 · 아래를 단계로 다 더함) · 없으면 영문 그대로
- 표 수준 rules 의 mode 는 영문 그대로(기계가 읽는 자리)
- 화면 확인: 상자 넷 한글 · 발파암 다섯 줄 「아래를 단계로 다 더함 | 0.1 · 0.9 · 1」
- 시험: 상자 이름 셋 · 발파암 깍기 합산 · 토사깍기 하나 고름 · Z01·이름표 시험 105 통과

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-17 16:54:48 +09:00
eomsangdonandClaude Opus 5 8f3a01cd96 feat(b09): 연결고리 표를 읽는 한 자리 — 산림·건설 어느 품을 쓸지 표가 정함(고시 총칙 7 · 표 policy both_precedence) · B09 인계 입구에서 둘 다 있는 공종은 표가 고른 열쇠·목차 코드로 · 미판정은 안 고르고 막음(link_undecided · 사유 그대로 · 금액에 안 듦) · 열쇠 빈 미판정 행도 내역서 요약에 목록 · 지금 인계 코드 57 판정 안 달라짐 = 금액 불변 · Z01 목록에 줄 구실(총칙) 표시 칸(코덱스 크로스체크 ①② · 브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 16:53:22 +09:00
eomsangdonandClaude Opus 5 0ff186c194 feat(z01): 공종 축 갈래마다 한 줄 — 교목굴취(나무높이) 9갈래가 한 줄에 뭉쳐 어느 높이 값인지 못 집던 것
- 줄 = 갈래(일위대가가 갈래마다 다름) · 산림 365공종 → 627줄 · 건설은 갈래 키가 비어 997 그대로
- 줄 열쇠 = 공종 열쇠#갈래 키(FW-00105#1.1∼1.5 · B08·B09 코드#갈래 꼴) · 갈래 키 글자는 마스터 것 그대로(조립 두 벌 금지)
- 공종 열쇠는 @key 로 함께 보냄 — 거르기(부문·줄 구실)와 stats.work_items 는 공종 단위
- 칸: 갈래 키 목록(variant_keys) → 갈래 하나(variant) · 이름표 공종 축 두 표의 열도 같이 바꿈(묵은 열 시험)
- 화면 코드는 그대로 — 산림 단추 627 · 교목굴취 찾기 10줄(9갈래 + 근원직경) · 2.6∼3.0 칸 집힘
- 시험: 교목굴취 9갈래 차례·열쇠 · 갈래 없는 공종은 # 없는 한 줄 · 갈래 이름으로 찾힘 · 앞 시험 수(365 → 627 · 발파암 3 → 5 · 가짜 자료 두 줄) 맞춤 · Z01·이름표 시험 105 통과

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-17 16:52:56 +09:00
eomsangdonandClaude Opus 5 337e42314c feat(z01): 연결고리 표가 확정으로 이은 줄에 「연결됨」 — 감추지 않고 표시만(기본 다 보임) · 「연결된 것만」 거르기 · 판정은 work_item_link 표(코드에 목록 없음 · 미판정 안 이음) · 건설 11 · 산림 5 · 이름표 열 「연결」 · 금액 불변 시험에 이행 전 코드로 뜬 원가계산서 금액 못박음(내역서·원가계산서 지문이 이행 전후 한 글자 같았음)(브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 16:46:58 +09:00
eomsangdon 2ee6a7ed88 auto: 2026-09-17 16:45 (ESD_LAPTOP) 2026-09-17 16:45:50 +09:00
eomsangdonandClaude Opus 5 cf23fb8563 feat(z01): 공종 축 거르기를 서버가 냄 — 서브 화면 상자(b890fba0) 짝 · 건설 부문 다섯 · 줄 구실(이름은 axis_policy.json) · 값이 둘 이상 갈릴 때만 · 기본 「전부」 · 고른 key=value 만 받음 · 「임도가 쓰는 것」은 잣대가 없어 안 냄(브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 16:20:34 +09:00
eomsangdonandClaude Opus 5 fe89070351 fix(z01): 목록 칸을 쉼표로 — 공종 축 갈래 키·딸린 품셈 표가 [F0243] 괄호·따옴표 글자로 뜨던 것 · 빈 목록은 빈칸
- 화면 확인(진짜 응답): 산림 9-5-2 「연암, 보통암, 경암 | F0244」 · 9-5-1 갈래 키 빈칸
- 시험: 목록 → 쉼표 · 빈 목록 → 빈칸 · Z01·이름표 시험 101 통과(브레인 지시로 Z01 만)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-17 13:51:28 +09:00
eomsangdon 28e9c36fd3 Merge remote-tracking branch 'origin/dev' into sub_laptop_1 2026-09-17 13:48:15 +09:00
eomsangdonandClaude Opus 5 b890fba04a feat(z01): 서버가 주는 거르기 상자 — 표에 filters 가 오면 찾기 칸 옆에 고르기 상자를 세우고 고른 값만 key=value 로 보냄
- 이름·선택지·줄 수·기본값도, 어느 줄을 거를지 판정도 서버 것(화면은 판정 안 함 · 2026-09-17 브레인)
- 안 골랐으면 서버 default 를 보임 — 첫 선택지를 보이면 「전부」로 보이며 걸러진 목록이 뜸
- 고르면 1쪽부터 · 다른 표로 가면 고른 것 비움 · filters 없는 표(산림 등)는 상자 없음
- 화면 확인: 진짜 건설 공종 축 위에 가짜 filters 얹어 기본 「임도가 쓰는 것」 → 「전부」 전환 · 산림 상자 없음
- 시험: 기본값 = 서버 default(첫 선택지 아님) · 고르면 고른 값

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-17 13:42:00 +09:00
eomsangdonandClaude Opus 5 c8872234e6 Merge remote-tracking branch 'origin/sub_desktop_1' into main_laptop_1 — 줄 구실 잣대 axis_policy.json 받음 · 열쇠 모듈은 그쪽 설계(잣대를 자료에서 읽음) 취함 · 건설 총칙 뿌리를 잣대에서 읽어 CP-01-01(37줄) 표시(미확정 둘은 안 넣음) · 평평한 목록을 잣대대로 표가 붙은 줄(산림 365 · 건설 997 · stats.work_items) · 이름표 건설 칸을 대기 자리에서 merged_tables 로 옮김(서버가 kind 를 냄)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 13:27:14 +09:00
eomsangdonandClaude Opus 5 0d56e727cb fix(b08): 건설 산출 이름을 const_ 앞꼬리로 — 뒤꼬리(work_item_master_const_…)면 work_item_master_* 로 끝 파일을 고르는 B08 밑수 대조가 건설을 집어 대조가 통째로 빠졌음(전체 시험 빨강 2) · 고르는 쪽이 산림을 집는지 시험 하나
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 12:58:44 +09:00
eomsangdonandClaude Opus 5 642a5be937 feat(b08): 건설 공종 축 뽑기 — 뽑는 스크립트가 산림·건설 둘 다 · 건설 목차는 합본 원문 머리 「목 차」 글줄(쪽 번호 붙은 꼴 가름 · 부문 5 · 장 45 · 1,367줄) · 표는 본문 절 제목으로 붙음(2,192 전부 · 인용 거름) · 열쇠 CW-00001 꼴(장부 따로) · 총칙 표시·갈래 키는 비움 · 표 한 장 읽기를 _Table 로 떼어 두 뽑기가 한 벌 씀(890 → 442줄 · 산림 산출 한 글자도 안 바뀜) · Z01 건설 kind 이름 work_item_const · 이름표 한 벌 · 목차 오기 없음 시험(연혁 붙은 본문 제목 683)(브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 12:44:42 +09:00
eomsangdonandClaude Opus 5 7b6038b524 Merge remote-tracking branch 'origin/main_laptop_1' into sub_desktop_1
이름표 충돌 해소 — 같은 자리는 랩탑 쪽(`merged_tables` 의 `work_item_forest`)을 취하고,
내 쪽에서 빠진 것만 되살림:

- `work_item_master` 새 표 `toc_duplicate_rows` · 새 값 묶음 `toc_edition`
- `work_items` 새 칸 여섯(work_item_key·toc_code·toc_number·toc_edition·path_name·axis_role)
- 공용 `columns` 여덟 — 랩탑엔 없어 영문으로 뜨던 것
- `value_overrides` — axis_role 넷 · rule 둘 낱말
- 내 `work_item_axis` 구획은 버림(두 곳에 같은 이야기를 두지 않음)

시험 둘 손질 — 열쇠가 실제로 오면서 뜻이 뒤집힌 자리:
- `test_z01_work_items.py` 「불변 열쇠 없음」 알림이 **사라지는 것**이 곧 열쇠가 섰다는 증거
- `test_z01_master_data.py` 표 수 91 → 92 (`toc_duplicate_rows`)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QsGw1Dz9HmhuAxGisxmDPF
2026-09-17 12:16:45 +09:00
eomsangdon 2d87cadd5c Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-09-17 11:58:45 +09:00
eomsangdonandClaude Opus 5 287027f810 feat(z01): 공종 축 API 틀 — GET /base-prices 에 갈래 work_item · 산림 kind(잎 358 · 갈래 편 618) · 이름은 전체 경로 · 계산 규칙(choose_one 91 · sum_steps 3)을 표 수준 rules 와 줄 칸 rule·step_weight 로 · 불변 열쇠(FW-) 오면 @id 로(칸 이름 한 곳) · 건설은 자료가 오면 저절로 섬 · 고치기 막힘 · 이름표 한 벌(브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-17 11:06:26 +09:00
eomsangdonandClaude Opus 5 7cb15af1e7 feat(z01): 상자 이름을 서버 group_label 로 — 안 오면 group 키 그대로(화면에 한글 이름 안 박음)
- 지금 서버가 갈래 키(base_price·pumsem_basis)만 줘 상자 제목이 영문으로 뜨던 자리
- 공종 축(work_item) 상자는 코드 추가 없이 섬 — 가짜 응답으로 확인(산림 358 · 건설 가짜 2,199 · 찾기·끝 쪽)
- 시험: 갈래 이름이 오면 그 이름 · 안 오면 키가 드러남

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-17 10:54:44 +09:00
eomsangdonandClaude Opus 5 f0d25621c3 feat(z01): 화면이 들고 있던 kind 목록·이름 열다섯을 지움 — GET /base-prices 가 준 갈래·kind·이름·줄 수로 상자를 세움(차례도 서버 것) · 단추 옆 줄 수 · 모아 보기 갈래 이름도 서버 label · kind 가 늘면 저절로 서는지 시험 하나(브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-16 16:01:42 +09:00
eomsangdon 0bb31e20ab Merge remote-tracking branches 'origin/main_laptop_1' and 'origin/sub_desktop_1' into sub_laptop_1 2026-09-16 15:57:29 +09:00
eomsangdonandClaude Opus 5 28a5bcb636 feat(z01): 표 목록을 서버가 냄 — GET /api/master-data/base-prices 가 갈래(base_price·pumsem_basis) · kind · 한글 이름(이름표에서) · 줄 수를 줌 · 화면이 kind 목록을 제 코드에 들면 새 kind 가 조용히 안 뜸(기계 작업량이 그랬음) · kind 를 하나 더하면 목록이 저절로 느는지 시험으로 못박음(브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-16 15:56:24 +09:00
eomsangdonandClaude Opus 5 8a563f5148 feat(z01): 품셈 기준에 「기계 작업량」(machine_productivity) 단추 더함 — 아홉 → 열(불도저 속도·삽날·덤프 운반 밑값 47줄) · 이름표 오기 전이라 열 15 는 영문으로 뜸(정상)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-16 15:51:24 +09:00
eomsangdonandClaude Opus 5 389d014018 fix(z01): 코덱스 검증 둘 — 철근 단가 참고값은 B09 계산값이라 고칠 칸에서 빼고 「계산값 · 표시 전용」 까닭·식을 실음(사용자 잣대 「마스터 = 계산으로 나오는 값이 아님」) · 돌쌓기 갈래 표에 같은 1:0.3 이 두 자리인 까닭 알림(품셈 13-4-4 [주]⑪ 직고·성절토 축 ↔ 교본 7-3 형식별 기본값 — 축과 근거가 다름)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-16 15:48:20 +09:00
eomsangdonandClaude Opus 5 028a6be247 feat(z01·b09): 코드에 박혀 있던 기계 작업량 밑값을 마스터로 꺼냄 — 새 자료 data_machine_productivity(불도저 속도 25 · 삽날 10 · 덤프 운반·적재 밑값 9 · 재료별 3) · B09 는 그 파일을 읽음(값은 한 칸도 안 바꿈 · 원문 pum_const C0426·C0427 대조 시험) · Z01 kind machine_productivity 로 관리자가 고칠 수 있게 · 식은 값이 아니라 로직이라 코드에 남김 · 이름표에 없는 새 자료는 폴더에서 찾음(사용자 원칙 「마스터 = 관리자가 제어할 값 · 코드 안에 있으면 안 됨」 · 브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-16 15:19:08 +09:00
eomsangdon 845501d38f Merge remote-tracking branches 'origin/main_laptop_1', 'origin/sub_desktop_1' and 'origin/sub_laptop_1' into CODEX 2026-09-16 14:06:47 +09:00
eomsangdonandClaude Opus 5 d9f06913f1 feat(z01): 돌쌓기 표준경사 표에 알림 한 줄 — 고치면 횡단 도면 모양도 함께 바뀜(B06 이 같은 값으로 벽 기울기를 그림) · 아홉 중 그림에도 닿는 하나 · 문구는 서버가 냄(화면 사전이 생기면 두 벌 · 브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-16 14:06:36 +09:00
eomsangdonandClaude Opus 5 566e0c885e feat(z01): 좌측을 둘로 가름 — ①기초단가 다섯(얼마인가 · 시장이 정함) ②품셈 기준 아홉(얼마나 드나 · 품셈이 해마다 한 번 · 토량환산·자재할증·거푸집·철근·목구조·돌쌓기 경사·뒷길이·돌종류·갈래) · 축 칸 잠금·구간 이름은 서버가 준 대로 그대로(사용자 ①② 지시)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-16 14:03:03 +09:00
eomsangdonandClaude Opus 5 4a6de21552 feat(z01): 기초데이터 아홉을 기초단가와 같은 길로 — kind 열넷(coef 토량환산 · material_surcharge · formwork_reuse · rebar_complexity · timber_structure_class · masonry_slope · masonry_back_length · stone_kind · masonry_class) · 열쇠는 축을 슬래시로(구간 이름은 품셈 원문 표기) · 축 칸은 못 고침(같은 이름이 줄마다 값·축으로 갈리는 자리도 줄마다 막음) · 원문 중복 두 줄은 값이 같을 때만 한 줄 + 사유(갈리면 멈춤) · 이음표·품셈 원문 표·글·구조물 실측·기슭막이 교본값은 안 태움(사용자 잣대 · 브레인 승인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-16 13:08:09 +09:00
eomsangdon 126f3d0ff7 Merge remote-tracking branch 'origin/sub_laptop_1' into main_laptop_1 2026-09-16 11:28:13 +09:00
eomsangdon f0103cff7c Merge remote-tracking branch 'origin/dev' into main_laptop_1 2026-09-16 11:28:12 +09:00
eomsangdonandClaude Opus 5 85743ee754 feat(z01): 덮개에 넷째 낱말 meaning_changed — 고칠 때 그 줄의 값 아닌 글자 칸(이름·규격·단위·인도조건)을 함께 적고 갱신 뒤 달라지면 「줄의 뜻이 바뀜」(같은 코드에 다른 기준 — 노임 국가유산직종 개편 · 자재 KS 개정) · was/now 는 서버가 한 줄로 합쳐 냄(이름 칸이 여럿인 자료가 있어 화면이 합치면 판정 두 벌) · 모아 보기 차례 맨 위 · 판·공표 날짜는 뜻 칸에서 뺌(브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BW6Jdsh18WPtYUR6THZJqn
2026-09-16 11:28:10 +09:00
eomsangdonandClaude Opus 5 aa42700382 fix(z01): 뜻 바뀐 줄 이름이 안 오면 물음표 대신 「 옛 이름·지금 이름을 서버가 안 줌 — 버그」 · 서버가 합쳐 준 한 줄 그대로 보임(쪼개지도 잇지도 않음 · 브레인)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-16 11:23:01 +09:00
eomsangdon ea0ff63cf0 Merge remote-tracking branch 'origin/dev' into sub_laptop_1 2026-09-16 11:21:22 +09:00
eomsangdonandClaude Opus 5 fe10ef86ab feat(z01): 덮개 판정 넷째 meaning_changed — 같은 번호에 딴 물건(문화재목공 → 한식목공) · 값 어긋남보다 세게(줄 진한 붉음 · 칸 꽉 찬 붉음 · ) · 옛 이름/지금 이름 나란히 · 「새 원본 값으로 받기」 대신 「고친 값 버리고 지금 줄 값 ○ 쓰기」 + 한 번 더 물음 · 모아 보기 이름 「 뜻 바뀜」
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016VBGFXB9AbJBwXP19z75Qq
2026-09-16 11:19:55 +09:00