2026-06-13 세션 — 견적 v2 임시계산기 전체/몸통/도어 토글
논의·대안
pfs 검증보고(/estimate/regist-v2 견적 계산 테이블 비고 셀, qa-h-highlight) 요청: "비고입력창 위쪽에 전체/몸통/도어 토글 생성. 전체는 현재 항목 최종단가 그대로, 몸통은 최종단가에 65% 계산, 도어는 35% 계산. 몸통과 도어를 따로 생산하는 경우가 있어서 필요. 운영배포까지 진행." (요청문은 몸통을 두 번 적었으나 35%는 도어를 의미 — 단가 비율 분해로 해석).
대상 = #calcFrame 임시 계산기(순수 클라이언트, 저장·State.details·recalcTotal과 완전 분리된 부가사항 금액 확인용). 실제 견적 항목(#qeBody)이 아니라 계산기 행의 비고(col-note) 셀이 선택됨. 토글을 비고 input 위에 배치하고, 비율은 단가(자당금액)가 아니라 최종 합계(calc-total)에만 적용하기로 — 마진·sub까지 반영된 최종 금액 기준이 "최종단가 그대로/65%/35%"의 자연스러운 해석이고, 자당금액·마진금액 셀은 전체 기준 그대로 둬 혼동을 줄임.
결정
- 토글 3버튼(전체/몸통/도어), 기본 전체(all). part_mode = all|body|door, 비율 100%/65%/35%.
- 비율은 calc-total에만 적용, 결과는 기존 견적 규약대로 천원올림(
Math.ceil(Math.round(total*ratio)/1000)*1000). 자당금액·마진금액은 전체 기준 유지. - 계산기 격리 불변식 유지(저장 payload·State.details·recalcTotal 무영향).
산출물·커밋
pfs/web/static/js/estimate_regist_v2.js: newCalcState()에part_mode:'all', calcCellForCol case 'note' 토글 마크업, recalcCalc()에 partRatio 적용, bindCalcEvents()에.calc-part-btn클릭 핸들러(#calcFrame 스코프).pfs/web/static/css/estimate_regist_v2.css:.calc-part-toggle/.calc-part-btn(active=accent) 스타일.- 커밋:
72a20ea(master) →fa9e12b(deploy-live 병합). GitHub Actions 테스트·운영 양쪽 success.
검증
- JS
node --check통과. - 다중 에이전트 리뷰(정확성·회귀격리·UI 3렌즈 독립 + 적대적 검증): 실제 발견 0건.
- 테스트·운영 서버 정적파일 md5 = git blob md5 일치, 배포 JS에
calc-part-btn·partRatio 반영 확인. - 배포된 실제 JS 계산 함수를 Node로 추출·실행: 220,000 → 몸통 143,000·도어 77,000 / 171,000 → 몸통 112,000·도어 60,000 / 빈입력 0(무크래시).
- 미확인: 브라우저 E2E. pfs-test 로그인벽(poin01/추정비번 로그인 실패) — 기존 "화면 E2E는 로그인벽으로 코디 미확인" 함정과 동일. 페페 화면 확인 권장.
다음
- 페페 운영 화면에서 토글 클릭→합계 변화 육안 확인(부분 생산 금액).
관계
- 주제 그룹: estimate
- 관련 문서: pfs-handoff, session-2026-06-10-additem-row-bottom