From 571b057f196b1f7596ea4f68f7a237dd2f1a0df3 Mon Sep 17 00:00:00 2001 From: kyeongmin Date: Tue, 7 Apr 2026 09:05:47 +0900 Subject: [PATCH] =?UTF-8?q?Selenium=20=EC=8B=A4=EC=B8=A1=20overflow=20?= =?UTF-8?q?=EC=A0=95=EB=B3=B4=EB=A5=BC=20=EC=97=90=EC=8A=A4=EC=BB=AC?= =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=85=98=20report=EC=97=90=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - build_escalation_report 결과에 Selenium overflow px 정보 추가 - Kei가 실측 overflow를 인식하고 popup 결정을 내림 (7건) - 미완: Kei popup 결정이 상단/하단좌 조립에 미반영 + 결정 과격 (전부 팝업) - 다음: popup 결정 조립 반영 + Kei 가이드 개선 (일부만 팝업, 핵심은 유지) Co-Authored-By: Claude Opus 4.6 (1M context) --- src/pipeline.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/pipeline.py b/src/pipeline.py index 086e43d..f10087a 100644 --- a/src/pipeline.py +++ b/src/pipeline.py @@ -621,6 +621,15 @@ async def generate_slide( if fit_analysis.needs_escalation or has_overflow: from src.kei_client import call_kei_fit_escalation report = build_escalation_report(fit_analysis) + # Selenium 실측 overflow 정보를 report에 추가 (calculate_fit과 실측이 다를 수 있음) + selenium_overflow_lines = [] + for zn, zd in filled_measurement.get("zones", {}).items(): + if zd.get("overflowed"): + selenium_overflow_lines.append( + f" ❌ {zn} zone: 실측 {zd.get('scrollHeight')}px / 가용 {zd.get('clientHeight')}px → +{zd.get('excess_px', 0)}px 초과" + ) + if selenium_overflow_lines: + report += "\n\nSelenium 실측 overflow:\n" + "\n".join(selenium_overflow_lines) logger.info(f"[Stage 1.8] round {fit_round+1} 에스컬레이션 필요") kei_result = await call_kei_fit_escalation( fit_report=report,