- 제4장 일곱(다른 창 시범분)은 건너뜀 → 산림 전체 장머리 14 · 절 189
- 절 이름·표지는 본문 머리 글자 그대로(번호 뒤 마침표) · 띄어쓰기는 쪽 그림의 글자 틈으로 되살림
- 도구: 장마다 0-00_장머리.md · 이미 있는 자리는 번호로 봐서 건너뜀(이 폴더·다른 창 브랜치)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
- 산림 차례(PDF 3~12쪽)에서 장 14 · 절 189 · 쪽 범위 · 시작/끝 표지
- 절 머리는 번호로 찾음 — 차례 이름 오타 다섯(면벅·조림·우드그래풀·소형 운재) 때문
- 표지는 PDF 글자 그대로(번호 뒤 마침표 포함) · 띄어쓰기만 차례를 따름
- 다른 창 브랜치에 이미 있는 파일은 안 만듦(합칠 때 부딪힘 막음)
- 시험 test_pum_md_tool.py: 순수 함수 · 산림 차례 개수
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
- 기초단가 표: 칸 나갈 때 즉시 저장 없앰 · 고친 칸·새 줄·지울 줄은 초안(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
- 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
- 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
7b7727d8(건설 품셈 원천 벌·공종 마스터 다시 뽑음) 뒤 기준정보 이름표의
줄 수 셈이 옛 값으로 남아 test_z01_master_data 트리·이름표 대조가 빨강.
- pum_const variables/pum/tables 2,275 → 2,279
- const_form_undetermined items 151 → 153
- const_basis_missing items 450 → 451
검증: 전체 시험(7b7727d8 상태) 2,444 통과 · 실패는 이 대조 1건뿐 →
이름표를 읽는 시험 7파일 109건 전부 통과.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QqkvdyxUtANWroVKpQUyxE
51d0615a(건설 8장 — 글줄 속에 눌려 있던 표 넷을 떼어 세움) 뒤 원천 벌과
공종 마스터가 안 뽑혀 시험 빨강 2건(test_build_pum[pum_const] ·
test_work_item_master_const 산출 대조).
- pum_const_2026.json: _build_pum.py 로 다시 뽑음 — 표 2,275 → 2,279
(새 표 C2278~C2281: 8-2-23 유압 파일 해머 · 8-2-24 진동파일 해머 ×2 ·
8-2-25 워터제트 병용 압입공), 기존 표 글자 변화 0 · 줄만 밀림 280
- 건설 공종 마스터(const_*)만 다시 지음 — 산림 쪽 손 안 댐
- 공종 1,367 그대로 · 새 열쇠 발급 0
- 전후 대조: 공종 3개(CW-00340~342)에 새 표 붙음, 기존 표 3개(C0499 ·
C0502 · C0520)는 값 불변 — 주석에 섞여 있던 표 글자만 빠짐, 나머지
37 공종은 줄 번호만 이동
- 시험 test_표는_다_붙고_못_붙인_표는_목록 표 수 기준 2,275 → 2,279
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QqkvdyxUtANWroVKpQUyxE
- gen_md.py 색인 대상에 original/원가계산 추가 — 산림 표준품셈 이관 뒤
재생성 때 목록에서 빠지던 문제 해소. 그림만 든 폴더(pic)는 제외
- 04_참조_법령기준_목록.md 5절(AUTO 블록)만 다시 뽑음 — 1~4절 수기 등록표 보존
- 원가계산 절 신설: 산림·건설 표준품셈, 노임단가 2종, 유가·환율·자재단가 등 10폴더
- 그동안 색인에 안 올라가 있던 법률 10건(건설폐기물·폐기물관리법 계열)과
행정규칙 2건(예정가격작성기준·환경친화적인 도로건설 지침)도 함께 올라감
- 색인 링크 986개 전부 실제 파일로 이어짐 확인
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QqkvdyxUtANWroVKpQUyxE
앞 커밋 72927741 (auto: 2026-09-18 20:01) 의 실제 내용 = 이번 이동 작업 전부.
자동 백업이 전체 시험 도중 작업 트리를 쓸어 올린 것. 이미 dev·다른 창 브랜치에
퍼져 있어 제목을 다시 쓰지 않고 이 커밋에 설명을 남김.
72927741 내용
- 원문 폴더 이동: original/행정규칙/임도 품셈 적용기준 (현 산림사업 표준품셈)
→ original/원가계산/산림_표준품셈 (파일 11개, 내용 불변)
- 옛 경로를 가리키던 곳 33개 갱신: B09 코드 3 · 시험 2 · 원가 입력값 2 ·
수집 도구 자료 3 · STmate 분석 3 · 기술문서 17 · 참조 법령기준 목록 등
- 수집 도구(collect_law.py): 항목에 "folder" 가 있으면 그 자리로 수집 —
다시 수집해도 옛 폴더가 되살아나지 않음
- 법령 이름(「임도 품셈 적용기준 (현 산림사업 표준품셈)」)은 그대로 둠, 경로만 바꿈
이 커밋
- pum_forest_2026.json 의 경로 한 줄이 바뀌어 지문(sha256)이 달라짐 →
산림 공종 마스터를 다시 만들어 지문만 갱신 (공종·금액 불변)
검증: 전체 시험 중 이번 작업 관련 실패 0. 남은 실패 2건(test_build_pum[pum_const],
test_work_item_master_const 산출 대조)은 51d0615a(건설 8장 표 넷 추가) 뒤
건설 품셈 재생성이 안 된 것 — 이번 작업과 무관.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011rSNs79DQ4sYy44HJVDYwa