Files
C.E.L_Slide_test2/tests
KyeongminandClaude Opus 4.8 63f4479b05 feat(#16): overflow 압력 기반 popup escalation — mdx04 최초 PASS (#98 추천 3)
구조 결함 2개 수정으로 IMP-35 popup 레버를 실동작화:

1. 트리거 모순 해소: 기존 T28.5d 트리거는 eligible_candidate_count==0 요구
   — 후보가 '존재만' 해도 미발화인데 그 후보의 자동 소비는 T19d 로 금지
   → 영구 미발화 (mdx04 재현). salvage 정책 차단 터미널
   (T19d layout / T28.5 font) 소진 시 overflow zone 을 대상으로 하는
   두 번째 트리거 추가 (salvage_exhausted_overflow_pressure).

2. 높이 실감소: slide_base 는 partial 을 그대로 렌더 + <details> 추가일 뿐
   (preview_text 는 렌더 경로 미소비 — popup 이 높이를 못 줄였음).
   _trim_slot_payload_for_overflow 로 본문 라인을 예산만큼 트리밍 —
   재귀 수집 (list-of-str + {text,indent} line-object, f13b 3중 중첩 포함),
   라인 경계만, 슬롯당 최소 1라인, label/title 무접촉.
   측정 피드백 루프 (최대 3회): 후보 렌더의 잔여 excess 로 추가 트림.
   트리밍 전문은 popup body(raw_content 원문)에 보존 — 텍스트 무손실.

실전 검증:
- mdx04: RENDERED_WITH_VISUAL_REGRESSION → **PASS** (trimmed=6, coverage missing 0,
  promoted). presentation_ready=False 는 density tight — #15 게이트 정직 판정
- mdx01/02/03/05: 오발화 0, 상태 불변
- SHA baseline 재캡처 (mdx04 final.html 정당 변경), 전체 게이트 1027 passed

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 09:17:32 +09:00
..
2026-03-24 17:25:47 +09:00

MDX ↔ Figma Frame 매칭 시스템

CEL 슬라이드 자동 변환을 위한 MDX 콘텐츠 ↔ Figma 디자인 프레임 매칭 파이프라인. 새 MDX 콘텐츠가 들어오면 32 개의 Figma 프레임 중 가장 적합한 프레임을 자동 추천하고, 그대로 사용 / 가벼운 편집 / 재구성 / 사용 불가 4 단계로 판정한다.

목적

  • 한국어 비즈니스 문서 (DX/BIM 도메인) 의 MDX 섹션을 시각적 슬라이드로 변환
  • 32 개 Figma 프레임 DB 에서 콘텐츠에 적합한 프레임을 자동 매칭
  • 매칭 결과를 후속 단계 (텍스트 편집자 / 디자인 실무자) 에 넘겨 슬라이드 완성

파이프라인 (4 단계 매칭)

MDX 입력
  ↓
V1 키워드 매칭 (32 frame 전체)
  matching_score = 0.414 × 핵심 + 0.320 × 세트 + 0.265 × 연관
  (가중치는 Logistic Regression 학습 결과 — TARGET 4/4, LOOCV 검증)
  ↓ Top-K 후보 추출
V2 의미 매칭 (ko-sroberta cosine — 후보 재정렬)
  ↓
V3 구조 매칭
  total = 0.40 × 레이아웃 일치 + 0.35 × 콘텐츠 성격 + 0.25 × 시각 의도
  ↓
V4 종합 판정 (32 frame 전체 평가)
  confidence = 0.25 × anchor + 0.20 × cardinality + 0.20 × relation
             + 0.15 × slot + 0.20 × content  penalty
  ↓
판정 라벨: use_as_is (≥0.90) / light_edit (≥0.75) / restructure (≥0.60) / reject (<0.60)

데이터

입력 출처 개수 수집 문장
Figma 프레임 텍스트 32 586
BEPS 마스터 텍스트 1 1,410
MDX 검증 구간 4 129
합계 37 2,125

전처리 후 최종:

  • 고유 키워드 1,713 개 (= 핵심 451 + 연관 1,238 + 광범위 24)
  • 키워드 세트 524 개 (frame-level 시그니처)

주요 산출물

파일 용도
mdx_matching_result.yaml V1 키워드 매칭 결과
v2_semantic_rerank_result.yaml V2 의미 매칭 결과
v3_structure_rerank_r5_result.yaml V3 구조 매칭 결과 (최종 r5)
v4_full32_result.yaml V4 종합 판정 (32 frame 전체)
structure_ontology_v2_final_r2.yaml 32 frame 의 구조 DB
auto_anchor_candidates.yaml 키워드 세트 + 토큰
KEYWORD_INVENTORY.html 키워드집 생성 보고서
V4_SLOT_ABLATION.md slot 축 ablation 실증
DECK_01~07.html 임원 보고용 7 페이지

빠른 시작

# 매칭 시스템 의존 파이프라인 실행 (이미 결과 yaml 있으면 생략 가능)
cd matching/

# 1. 키워드 추출 + 정리
python pipeline_05_anchor_candidates.py
python pipeline_07_auto_anchor_candidates.py

# 2. V1~V4 매칭
python pipeline_06_2_mdx_matching.py            # V1 키워드 매칭
python pipeline_08_v2_semantic_rerank.py        # V2 의미 매칭
python pipeline_08_v3_r5_structure_rerank.py    # V3 구조 매칭 (최종)
python pipeline_17_v4_full32.py                 # V4 종합 판정

# 3. 보고용 deck 생성
python pipeline_16_deck_4pages.py               # DECK 1~7 생성

현재 성능

  • TARGET 4 섹션 정답률: 3/4 (75%) — 01-2 / 03-1 / 03-2 정답, 02-2.2 실패
  • Logistic Regression 검증: 4/4 (LOOCV)
  • BM25 / IDF 비교: 현 방식 4/4 > BM25 3/4 > IDF 3/4

한계 + 다음 단계

PLAN.md / PROGRESS.md 참조.