- 코드 등록·삭제·변경·병합·데이타병합·일괄변경·검색·동일코드·풀어넣기 끝전 등(ui_code · ui_merge · api_ui_code)
- 코드 붙은 % 줄 = 같은 상위 공종 앞 말단 줄 비목 합 × 율(server pct_row_base · calc.js) · 저장 때 다시 셈(stc_save _pct_rows) — 실무 7건 저장값 그대로
- 내역 줄 단가 ≠ 단가목록이면 줄 고정 단가(fixedUnit)
- 메뉴 94개 눌러 오류 0 · 시험 502 통과
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 보고서: 원본 STMATE 엑셀과 셀 대조(목록표·자재단가대비·중기·일위대가·산근 목록·설계내역서·원가계산서) · 조달청 XML 공식 XSD 검증 · PM_Prt 화면
- 제잡비: 원본 계산 순서 4형식(T/S/TA/SA) · 실무 7건 저장 결과키 전수 1원 · 요율표 조회 · 선택지 계산 · 제잡비·제비율 화면
- 식언어·수량: 함수·조건식·금액변수·문법 검사·수량변수·QCODE · 산근·구성·중기공식 편집 화면 · 순환 알림
- 화면: 원본 메뉴 체계·단축키 · 설계내역서 편집(행 넣기·지우기·이동·레벨·보관함) · 초기값 · 단가목록표
- 저장: 초기값(Start8x.Ini) 바뀐 키 저장 · 노임 환산 직종 = 초기값 CONLD · 산근·구성 결과에 적용단가 칸 채우지 않음(원본 0)
- DBF 글 칸 앞 빈칸 보존 · 시험 도우미 표준입력 utf8(한글 조각 깨짐 원인)
- 실무 5건 재계산 후 저장 = 바뀐 칸 0 · 시험 332건 통과
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- STMATE_PLUGINS(screens · actions · menus) · STMATE_APP(ctx 와 화면 도우미) — app.js 가 등록된 화면을 그리고 메뉴 단추를 붙임
- /plugins_manifest.js 가 scr_*.js 를 불러옴 · server.py 가 api_*.py 의 router 를 연결
- 도구 창 바인딩을 app_modals.js 로 분리(app.js 718 → 613줄)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- M02_Hopyo_Material.spec_fit: 827-2 「자재 수 한 번씩」 을 좁힘 — 줄 수와 그대로 같은 자재 수만 그 줄 수 몫 · 배율로만 맞는 수는 같이 씀(글 붙은 「#200.9mm200.4m/kg」 = #20 0.9mm 200.4m/kg → MT000209 되살림 · 블레이드 d=320~400 t=3.2 → 4"×3.2 는 그대로 풀림 · 21-17-17 의 17 둘 각각)
- 호표 길 전수(실무 엑셀 8 · 일위대가 줄 1564): 827-2 앞 대비 바뀜 = 블레이드 1 줄(틀린 이음 풀림)뿐 · 어닐링철선 5 줄 되살림 · 단산 길 전수 827-2 전후표 수치 그대로(새 이음 · 풀림 · 키 바뀜 0)
- M02_Sangeun_Imported 검산: 첫 자리가 같은 글줄 여럿(814-1 기계 노 · 재 · 경 · 노 줄만 딸린 기계까지) = 값 합으로도 맞댐(check · 화면 more 둘 다) · 계약(낙찰률) 블록 = 비목 × 낙찰률 원 버림과도 맞댐(머리 금액만 있는 STmate)
- 세 원천 3241 블록 검산 다름 287 → 4(EST main 1308 · 북부청임도 2 · 4 · 48 = 엑셀 글 소계가 줄 합과 다름 — 진짜 다름 · 금액은 같음)
- 시험: 827-5 xfail 셋 뗌(test_778_5 자재 표 · test_793_2 동부청영월 · 울진소광) · 지킴 둘 더함(글 붙은 규격 수 · 묶은 줄 합 · 계약 셈)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- ㉮ 낡음(일곱): 797-1 유가·전력 기본값(814-1 전국평균 · 일반용(갑)Ⅰ 저압 자동 이음) · 797-1 안쪽 기계 줄 = 값묶음 한 줄(814-1 세 줄 묶기) · 793-2 san_emit 글줄 노·재·경 셋 = 엔진 줄 하나(합으로 맞댐) 다섯 · 778-5 표 X 칸(기계 자료 좋아짐 187→188 · 못 이음 2→1) = 수 박지 않고 바닥값(이어짐 이상 · 고를 것 이하)으로
- ㉰ 코드 몫(셋): 793-2 가져온 식 검산(M02_Sangeun_Imported._compare)이 기계 세 줄 묶음에서 같음 False 둘 · 778-5 자재 어닐링철선(결속선) 다섯 줄 827-2 뒤 이어짐→고를 것 하나 — xfail(strict) 로 표시 · 코드 · 금액 그대로
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- 새 M02_San_MatPick: 종 열쇠(이름 · 규격 · 단위 · 단서) · 고름 자리 = 개인 층 실무자료/재료고름/<파일 지문>.json([끝내기] 뒤 남음 · 같은 파일 다시 올리면 그대로) · 판(블록마다 재료찾기 판정 → 종 · 첫 판 한 번 셈 → 산근 저장본 칸) · 만들 때 얹기 · 이미 만든 SK 얹기(가져온 그대로인 줄만 · 바꿈 · 따로 고른 줄 그대로 · 풀면 가져온 그대로)
- 만들기: from-hopyo 가 그 파일 고름째 만듦(저장 안 한 판 고름 = 만들 때 저장) · 원본 지문 · 고른 줄 = 이음 + 재료찾기.고름 · 문서 셈 우리 값(엑셀 값 기억 없음) · 별도계상 = 품목만(줄 이음 · 단가 0 그대로)
- 문서 머리 가져온.재료(판정 · 후보 · 단서 · 처음 연결) · 가져온.지문
- 길: GET/POST hopyo-materials/{HP}(판 · [저장] · 만든 것 적용은 물음 예일 때만) · GET/POST material-picks/{지문}(SK 상세 물음)
- 화면: 단가산출 목록 위 「고를 재료」 판(후보 고름 · 찾기 · 고름 풀기 · n 블록에 적용 · 이어진 재료 접힘 · [저장]) · 저장 안 한 고름 = 떠날 때 물음 · 줄 쌓기 재료 줄 판정 배지 · 풍선말(판정 · 단서 · 후보) · 이름 단추 · [이음 고르기] 뒤 「같은 파일 n 줄」 물음
- 별도계상 설명 = 「별도계상 · 품목: 이름 규격」(엔진 이은 품목은 자재표 이름) — test_827_2 기대 글 고침(품목 이음 → 품목 이름)
- 시험 test_827_3 셋(파일 고름 블록 둘 · 다른 파일 0 · 별칭 · 마스터 그대로 · 풀기 · 다시 올림 유지 · 물음 예일 때만 · 따로 바꾼 줄 보존 · 별도계상 품목 + 단가 0)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 새 M02_San_MatFind: 줄 판정 자원「재료찾기」{판정 · 방법 · 키 · 후보 · 단서} — 이어짐 · 규격 없음 — 고르기 · 후보 여럿 · 우리 표에 없음
- 단서: 산근 줄 설명 글 · 산근 머리 · STC 내역서 자재 줄 · STmate 엑셀 일위대가표(규격 빈 줄 · 별도계상 줄만 좁힘 · 관급/사급은 안 가름)
- 자동 규칙 A · B · C · E · F · F2(G 안 씀) — 원천 넷 이미 이은 464 종에 얹어 다른 키 0 · E 는 이름 같은 우리 줄 있으면 안 씀
- 별도계상 줄: 품목은 판정 키에만 · 줄 이음 · 단가 0 그대로
- 의심 고침: 블레이드 d=320~400 t=3.2 → 4" (규격 수 하나를 두 번 맞춤 — spec_fit 한 번씩) · 유압식드릴롯드 → 드릴롯드 AX 1.5(후보 하나 + 규격 수 부딪힘 = 이음 안 함) · 참싸리(박피)는 사용자 과녁대로 둠
- 전수: 금액 같음 3241/3241 · 기계 그대로 · 재료 이음 EST 원파일 99.7 그대로 · EST 엑셀 82.9→84.6 · STmate 원파일 59.8→68.5 · STmate 엑셀 66.7→76.5 · 새 이음 32 줄 틀림 0 · 키 바뀜 0
- 시험: test_817_1 표 일곱 줄 후보→이음(사용자 과녁 1 순위 키 그대로 · 보조강재만 새 키 MT030619) · 낡은 기대 고침
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- PRJLST.SMT 는 PRJ_MEMO 가 가리키는 블록만 읽음 — 남은 옛 블록이 덮어써 울진 2025 가 틀리던 원인
- 총액 절사 = 총공사비(도급 + 관급) 기준 · 절사 없음이면 저장된 이윤 감액 적용
- 관급자재·조달수수료 = SMT 입력값 · 추가금액 저장 단계 1~4 반영 · 안전관리비 기초액 0 처리
- `Number(x) ?? 기본값` 버그 → num 기본값
- 새 공사 기본 상태에서 봉화 금액 걷음 · 제잡비 설정은 kanjub_cfg.py 로 나눔
- 지킴 시험 test_stmate_kanjub_stc.py — 봉화·울진 2025·영월·울진 대흥 18항목 1원
- PLAN.md = 원본 기능 245 개 장부(구현 29 · 부분 92 · 없음 124) · 「95% · 100% 일치」 기록 폐기
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 서버 확인 길(my-machines/draft) = 화면이 정한 표지로 그 식 한 줄 셈 기록(요소 · 표 · 식 문서) 돌려줌
- 화면은 기록을 계산기 캐시에 합침 → 서버 왕복 전 0 원 깜빡임 없음(미리 셈 값과 같음)
- 기계 창 목록 열 이름 「구분」 · 폭 조정
- 시험 test_827_1 ⑦ 셈 기록 확인 더함
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 줄 쌓기 기계 줄 이름 단추 = 기계 창(왼쪽 찾기 · 오른쪽 공통 기계 양식 읽기 전용 · 지금 줄 = 사본 값 · 새 값 표시)
- [이 기계로 바꾸기] = repick 그대로(823-1 · 되돌리기) · M01 목록도 시간당(machine-rows)
- [고쳐 쓰기](개인 층 SK) = 서버 확인(쓰기 없음) → 문서 칸 내기계초안 · 줄 입력 개인 EQP초안-N
- [저장] 한 번에 서버가 초안 만들기 · 고침 → 키 바꿈 → 사본 박기 · 실패 = 만든 파일 지움 · 고친 줄 되돌림
- 미리 셈 = 초안을 그 요청 안만 셈 색인에 얹음 · 브라우저 = 셈 꼴 값을 캐시에
- 회사 · 마스터 층 · M01 기초 = 조회 · 바꾸기만(까닭 한 줄) · 옵션 가로 곁 [조회]
- 걷음: 줄 옆 「복사해 내 기계로」(line_stack_mine.ts) · 찾기 창 [새 기계 만들기] · 개인관리 › 기계 만들기 · 고치기(보기 · 쓰는 곳 · 지우기만)
- 내 기계 쓰는 곳 = 수식 길 사본도 셈
- 시험 test_827_1_machine_window(8)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 원가 수식에서 못 찾은 영문 식별자·두 자리 이하 정수 참조는 오류 없이 0(원본 c9af48·c9a310) — 자료 오류 검색은 계속 알림
- 표준 원가 양식 산업안전보건관리비 「A」 오류 해소
- 원가 연결 54(직접공사비) 행에 내역 직접공사비 채움
- 웹 데모 양식 요율 숫자는 소수로, 미결 정리
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- test_m01_cache 세어 둔 막힘: 목록이 부품 문서(813-2)를 빼므로 대조 줄에서도 뺌
- test_m01_text 자동값 돌리기: 고르기가 빈 입력(GC001199~1201 = 내 기계 전용 식 · M01 정본 기계가 안 씀)은 자동값 고를 것이 없어 건너뜀 — 화면은 200 · ok false · 까닭 글로 안 깨짐
- test_802_4b1 산근 속 산근: 안쪽 기계 줄이 단가 칸 대신 값묶음이라 첫 줄을 단가 · 값묶음 어느 쪽이든 두 배로 고침
- 정본 · 로직 · 금액 안 바뀜
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- cp949 에 없는 글자는 「?」 로 바꿔 씀(22MB 공사 저장 중 멈춤)
- 기계경비 본문 Index(−3·−2·−1) 유지
- % 단위 수량은 소수로 써서 음수·큰 값도 되돌아옴
- 경쟁사 예제 estx 2건 저장값 대조·구버전 왕복 시험 추가
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 저장 관문이 읽은 줄을 박을 때 저장마다 닫힌 묶음 다시 모으기(grow(stamp)) 안 함(SK · 일위대가 · 사전조합)
- SK 파일 읽기 = 파일 자국 같으면 앞 것(skc.stored_doc · dsk.stored 같이 씀)
- 수식 사본 빈틈 셈(gap.gaps · gap.fill)은 저장 관문이 같은 셈 한 번으로 갈음
- 들여쓰기 없이 쓰기는 안 함 — 마스터 층 SK 파일이 git 추적이라 한 줄 JSON 이면 창끼리 합칠 때 통째 충돌 · 줄인 뒤 이득 파일당 약 1 ms
- 새 지킴 시험 test_826_3_copy_slim(아홉)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 수식 길 저장(따로 문서)은 옛 셈이 안 돌아 사본 칸이 1 줄로 줄던 것 — 두 칸 사본 줄 묶음 안에 드는 색인이 읽은 줄로 함께 줄임 · 사본 칸 빈 줄은 수식 칸 값 먼저
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Store_Make.save 새 키 찾기 = 3만 키 목록 훑기(제곱) → 묶음
- 기계 상세 = 판만 읽음(표 두 번 풀기 걷음) · 기계 폴더 새 사본 = 줄 글을 이어 한 번에 풂(표 열기 옛 한 파일과 비슷)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>