Commit Graph

2 Commits

Author SHA1 Message Date
24eb1bc5ad Phase U: 하드코딩 10건 제거 — 범용 프롬프트 시스템
제거:
- _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) <noreply@anthropic.com>
2026-03-31 10:44:45 +09:00
0e4b8c091c Phase S: Claude HTML 직접 생성 + 독립 검증 시스템 도입
블록 선택 방식(Phase P/Q/R) 폐기 → Claude Sonnet이 영역별 HTML 직접 생성.
생성-검증 분리: content_verifier.py로 텍스트 보존/금지 콘텐츠/구조를 코드 검증.

주요 변경:
- src/html_generator.py: 4개 프롬프트 템플릿(BG/CORE/SIDEBAR/FOOTER) + 영역별 Claude 호출
- src/content_verifier.py: L1 텍스트 보존, L2 금지 콘텐츠, L3 구조 검증 + 재시도 루프
- src/html_validator.py: 보안 검증(script/iframe 제거)
- src/renderer.py: render_slide_from_html() 추가, area div overflow:hidden
- scripts/test_phase_s.py: generate_with_retry() 통합, step2b_verification 결과 저장
- 배경 라이트 디자인(#f8fafc), 개조식 어미 변환, 축약 금지 규칙

다음 과제: 폰트 위계(핵심14>본문12>배경10-12>첨부9-11) + 동적 컨테이너 계산

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 08:37:05 +09:00