# Task_입력묶음개편B단계구현_2026-10-16_v0.1.00 | 항목 | 내용 | |------|------| | 담당자 | 심영표 | | 일자 | 2026-10-16 | | Task 식별자 | Task_입력묶음개편B단계구현_2026-10-16_v0.1.00 | | 선행 Task | prompt/심영표/2026-10-16/Task_입력묶음개편A단계구현_2026-10-16_v0.1.00.md | | 경로·모드 | COMPLEX / GATED (기획서 6장: 단계마다 정지·승인) | ## INPUT ### [1] ``` [원문] task : B단계 작업 착수해줘 -Prism 시각 디자인 적용 시점: B단계에서 새로 만드는 화면(요약 띠, 근거표)부터 Prism으로 만들고 기존 화면 교체는 D단계에서 하는 것으로 해줘 ``` [주석] IDE 선택 영역(README.md 137~138행)에서 입력. 중간에 "html 위치 알려줘"(질문 1건)가 있었음. ## PROCESS 1. 기획서 4.3(앱 확인 C1~C8)·6장 B단계·D4 확인. 기존 `reader.proposals`(표 후보 vs 현재 값)를 C2로 재사용. 2. `engine/verify.py`: C1~C8, 상태 판정(불일치>근거 없음>일치/주의/해당 없음), 수량 대조 C4(polylines·mats·ring), 계획 FAIL은 주의, F 묶음은 원본·보호 템플릿 비교(기록 없는 교각). 첫 실행에서 C6 거짓 불일치(음수 pitch·translation_checks)를 발견해 크기 키 범위를 좁히고 F 묶음 비교·요약 문구를 보정. 3. `web/store.py`: `autocheck.json`(run_autocheck·section_check, 값·도면·검사 버전이 바뀌면 재실행), 확정 기록에 사유·앱 확인 상태, origin에 고정 필드 스냅샷. 4. `web/app.py`·템플릿: 요약 띠·앱 확인 열(Prism), 근거 보기, 일치 묶음 일괄 확정(근거표를 끝까지 읽은 표식=별도 POST, 대상 목록 해시 결합), 개별 확정 사유 강제, 이전 방식 일괄 확정은 접은 항목으로 유지. `web/static/prism.css`는 `tools/make_prism_css.py`로 시안 CSS를 `.prism` 범위로 생성. 5. 보고서 8.1 앱 확인 요약. 시험 `tools/test_autocheck.py` 신설, 기존 시험 4곳에 사유 추가, `run_all_tests.py` 목록 갱신. 6. 임시 서버+헤드리스 Edge로 화면 3종 캡처해 확인(textarea 480px 높이 문제 발견·수정). 7. 전체 회귀: fast 14/14, Rhino 7/7 PASS. 기획서 v0.1.04(6.2), OPEN #26 갱신. ## DECISIONS | 결정 지점 | 채택안 | 기각안 / 사유 | | :--- | :--- | :--- | | 일치 판정 기준 | 독립 근거(표 대조) 필요, 수량만 확인은 주의 | 수량 일치를 일치로 — 위치·좌표 미확인이라 거짓 일치 위험 | | 표 밖 치수 묶음 | 근거 없음 유지(C단계 몫) | 도면 문자 존재 확인으로 일치 처리 — 약한 근거, 거짓 일치 위험 | | 수용 기준 "자기 데이터 전 묶음 일치" | 달성 불가로 기록, 거짓 불일치 0·거짓 일치 0으로 판정 | 기준 충족 위해 판정 완화 — 신뢰 훼손 | | 이전 방식 일괄 확정 | 접힌 항목으로 유지, D단계에서 결정 | 즉시 제거 — 기존 시험 7종 영향·사용자 결정 필요 | | 개별 확정 사유 강제 | 서버에서 강제, 시험 수정 | UI만 강제 — 우회 가능 | | 읽음 표식 | 별도 POST(스크롤 끝에서 JS), 대상 목록 해시 결합 | 페이지 열기만으로 표식 — 읽었다는 보장 없음 | | Prism 적용 범위 | 새 화면만(.prism 범위 CSS) | 전체 앱 스타일 교체 — D단계(사용자 결정) | | 기존 교각 템플릿 원본 | 판단 안 함 | 라벨로 소급 비교 — 판독해 만든 교각 오판 | ## OUTPUT | 산출물 | 경로 | 비고 | | :--- | :--- | :--- | | 앱 확인 엔진 | Code/교각모델링앱/engine/verify.py | 신규 | | 웹 | web/store.py, app.py, templates/pier.html·section.html·evidence.html·confirm_matched.html·_prism.html·base.html, static/prism.css | 변경·신규 (백업 backup/2026-10-16_묶음개편A전/) | | 보고서 | engine/report.py 8.1 | 변경 | | 도구·패치 | tools/make_prism_css.py, report_autocheck.py, serve_ui_check.py, patches/2026-10-16_autocheck_*.py, verify_fix1.py, report_autocheck_patch.py | 신규 | | 시험 | tools/test_autocheck.py(신규), test_web·test_ulsan_e2e(사유 추가), run_all_tests.py | 신규·보정 | | 화면 캡처 | 검증/ui_check_shots/pier.png·evidence*.png·confirm.png | 육안 확인 기록 | | 기획서 | DOC/01_기획/기획_입력묶음확인확정개편_2026-10-16_v0.1.04.md | v0.1.04 | ## 검증 test_autocheck 전 항목 PASS. 실제 교각 5종 자기 데이터 불일치 0, 운곡교 P3 불일치 8(P1 복사 교각을 검출). 값 변경 시 불일치(받침 h1 +5, expected el_x +1, 코핑 철근 1본 삭제, 두께 −5) 검출. 일괄 확정 규칙(읽음 표식·이름·목록 변경 시 거부) 확인. 회귀 fast 14/14, Rhino 7/7 PASS. 화면은 헤드리스 Edge 캡처로 육안 확인. | MODEL | claude-sonnet-5-5 | | EFFORT | 턴 1 / 도구호출 약 75 | | STATUS | PROCESS PARTIAL (B단계 완료, C·D단계는 사용자 승인 대기) | | 비고 | 표 밖 치수 묶음은 앱이 대조하지 못해 근거 없음으로 남음(C단계). 이전 방식 일괄 확정(`confirm_all`)은 아직 도장 가능. |