From 24eb1bc5adc08310f847ea126b041b242217f57b Mon Sep 17 00:00:00 2001 From: kyeongmin Date: Tue, 31 Mar 2026 10:44:45 +0900 Subject: [PATCH] =?UTF-8?q?Phase=20U:=20=ED=95=98=EB=93=9C=EC=BD=94?= =?UTF-8?q?=EB=94=A9=2010=EA=B1=B4=20=EC=A0=9C=EA=B1=B0=20=E2=80=94=20?= =?UTF-8?q?=EB=B2=94=EC=9A=A9=20=ED=94=84=EB=A1=AC=ED=94=84=ED=8A=B8=20?= =?UTF-8?q?=EC=8B=9C=EC=8A=A4=ED=85=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 제거: - _get_popup_data() 함수 삭제 (DX/BIM 비교표 하드코딩) - "📊 DX와 BIM의 상세 비교" 팝업 링크 → Claude 자율 판단 - "BIM ≠ DX" 예시 → core_message 변수만 - "상위개념/하위기술/포함관계" 금지어 → 범용 "임의 라벨 금지" - fallback 키워드 ["혼용","사례"], ["관계","핵심기술","DX"] → source_hint 동적 추출 - "사례 카드" → "토픽" 범용화 - "BIM (Building Information Modeling)" 예시 → 제거 추가: - _extract_keywords_from_hints(): source_hint에서 섹션명 키워드 동적 추출 - 팝업: 원본에 비교 구조 있으면 Claude가 자체 판단, 없으면 팝업 없음 - content_verifier: body_bg overflow 패턴 OR 수정, popup-link 필수 해제 회귀 테스트: 기존 MDX 전체 PASS (1차 시도) Co-Authored-By: Claude Opus 4.6 (1M context) --- src/content_verifier.py | 6 ++-- src/html_generator.py | 68 +++++++++++++++++++++++++---------------- 2 files changed, 43 insertions(+), 31 deletions(-) diff --git a/src/content_verifier.py b/src/content_verifier.py index 8905a57..adb4813 100644 --- a/src/content_verifier.py +++ b/src/content_verifier.py @@ -284,7 +284,7 @@ def detect_invented_text( """ # 허용 예외 (구조적 라벨) allowed_labels = { - "용어 정의", "핵심 메시지", "상세 비교", "DX와 BIM의 상세 비교", + "용어 정의", "핵심 메시지", "상세 비교", } html_texts = extract_text_from_html(generated_html) @@ -377,12 +377,10 @@ def verify_no_forbidden_content( # ═══════════════════════════════════════════════════════════ REQUIRED_PATTERNS: dict[str, list[str]] = { - "body_bg": ["overflow:hidden", "overflow: hidden"], + "body_bg": ["overflow:hidden|overflow: hidden"], "body_core": [ "overflow:hidden|overflow: hidden", - "float:right|float: right", "key-msg", - "popup-link", ], "sidebar": [ "overflow:hidden|overflow: hidden", diff --git a/src/html_generator.py b/src/html_generator.py index 9fd70e7..1334959 100644 --- a/src/html_generator.py +++ b/src/html_generator.py @@ -52,10 +52,10 @@ BG_PROMPT = """다음 콘텐츠를 배경(보조) 영역 HTML로 만들어라. - 전체 padding: 10px 14px (여백 최소화) - 제목: 12px bold #334155, margin-bottom: 4px - 본문: 11px #475569, line-height: 1.4, 핵심 키워드 처리 -- 사례가 여러 건이면 가로로 나란히 (flex, gap:8px) -- 사례 카드: background:#ffffff, border-left: 2px solid #94a3b8, padding: 6px 8px (여백 최소화) -- 사례 제목: 10px bold #334155, margin-bottom: 2px -- 사례 내용: 9px #64748b, line-height: 1.3 +- 토픽이 여러 개이면 가로로 나란히 (flex, gap:8px) +- 각 토픽 구분: background:#ffffff, border-left: 2px solid #94a3b8, padding: 6px 8px (여백 최소화) +- 토픽 제목: 10px bold #334155, margin-bottom: 2px +- 토픽 내용: 9px #64748b, line-height: 1.3 - 들여쓰기: 불릿은 인라인 style만 사용. CSS class 사용 금지 (