- src: phase_z2 composition/mapper/pipeline/placement_planner/retry, ai_fallback(prompts/schema/validate), mdx_text_atoms 신규 - Front: PipelineTracePanel 신규, FramePanel/SlideCanvas/Home/designAgentApi 등 갱신 + 테스트 4종 추가 - templates/phase_z2: catalog(component_expansion_registry, node_slot_mapping 신규), frames, families, slide_base 갱신 - tests/matching: phase2~26 매칭 실험 스크립트·리포트·온톨로지 전체 (미커밋 진행분) - tests: b4_v4 evidence, task5~28.5 시리즈, regression(imp95 baseline) 등 신규 테스트 대량 추가 - docs/reference: MDX 구조 인벤토리, MDX→Frame 구조 계약 문서 - scripts: mdx 계약/parity/coverage/viewport 체크, gitea comment, run sync 유틸 - .gitignore: tmp*.json, chromedriver, .orchestrator, *.pkl, Front_test* 등 임시/스냅샷 제외 미완성 작업의 보존용 스냅샷 커밋 (2026-07-02) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6.3 KiB
templates_v1 + _COMPAT 구조 기준 갭 감사
V3 의 "대안 탐색" 역할이 현재 세팅에서 왜 약한지 수치/사례로 규명. C.2 taxonomy v2 설계의 근거 자료.
1. _COMPAT 커버리지 — V3 구분력의 근본 한계
- 전체 가능 쌍: 11 MDX layouts × 30 Figma layouts = 330 쌍
- _COMPAT 에 실제 정의된 쌍: 86 / 330 (26.1%)
- 정의 안 된 쌍 (fallback 0.15): 244 쌍 (73.9%)
MDX layout 별 커버리지
| MDX layout | _COMPAT 정의 쌍 | 커버 Figma 유형 | 총 유형 | 커버리지 | fallback 유형 수 |
|---|---|---|---|---|---|
3col-parallel [섹션 03-1, 01-1, 02-1] |
12 | 9 | 30 | 30.0% | 21 |
cards-4 |
7 | 5 | 30 | 16.7% | 25 |
compare-2banner [섹션 03-2] |
12 | 10 | 30 | 33.3% | 20 |
compare-2col |
12 | 10 | 30 | 33.3% | 20 |
compare-rows [섹션 01-2] |
8 | 6 | 30 | 20.0% | 24 |
multi-parallel |
8 | 6 | 30 | 20.0% | 24 |
multi-section |
6 | 5 | 30 | 16.7% | 25 |
persona-3col [섹션 02-2.2] |
10 | 7 | 30 | 23.3% | 23 |
single-column [섹션 02-2.1] |
17 | 14 | 30 | 46.7% | 16 |
table-2col |
9 | 7 | 30 | 23.3% | 23 |
table-3col |
8 | 7 | 30 | 23.3% | 23 |
2. MDX layout 별 "대안 탐색" 풍부도
각 MDX layout 에 대해 _COMPAT 에서 compat ≥ 0.7 인 Figma layout 이 몇 개 있나. 값이 작으면 그 MDX 구조에 "대안이 없음" — V3 가 대안을 제시할 재료가 부족한 상태.
| MDX layout | 고호환 (≥0.7) | 중 (0.4~0.7) | 저 (<0.4) |
|---|---|---|---|
3col-parallel |
4 | 7 | 1 |
cards-4 |
4 | 3 | 0 |
compare-2banner |
7 | 2 | 3 |
compare-2col |
6 | 3 | 3 |
compare-rows |
4 | 4 | 0 |
multi-parallel |
4 | 4 | 0 |
multi-section |
3 | 3 | 0 |
persona-3col |
4 | 4 | 2 |
single-column |
5 | 12 | 0 |
table-2col |
5 | 3 | 1 |
table-3col |
4 | 4 | 0 |
3. structure_intent 분포
- 고유 intent 수: 10
- 전체 태그 수: 17
- 1 프레임만 쓰는 고아 intent: 6 — 많음 (구조 재사용 약함)
| intent | 빈도 | 프레임 |
|---|---|---|
multi_attribute_comparison |
5 | 18, 23, 24, 30, 31 |
concept_comparison |
2 | 18, 23 |
problem_diagnosis |
2 | 28, 17 |
industry_comparison |
2 | 30, 31 |
requirement_list |
1 | 13 |
persona_benefit |
1 | 14 |
process_product_split |
1 | 29 |
transformation_story |
1 | 29 |
category_comparison |
1 | 24 |
requirement_or_pillar |
1 | 20 |
판정: 10개 intent, 32 프레임 — controlled vocabulary 느낌은 있으나 어휘 자체가 풍부하지 않음. 새 MDX 유형이 오면 기존 intent 에 억지로 매핑해야 할 가능성.
4. slot 체계
- 고유 slot id: 146
- 프레임당 slot 수: 평균 6.3 · 최소 2 / 최대 10
가장 자주 쓰이는 slot id (Top 10)
| slot id | 프레임 수 |
|---|---|
title |
30 |
col_a_label |
6 |
col_b_label |
6 |
rows |
5 |
col_c_label |
3 |
pillar_1_label |
2 |
pillar_2_label |
2 |
pillar_3_label |
2 |
category_1_label |
2 |
category_2_label |
2 |
5. V3 실패 사례 분해 (Holdout 평가 기준)
V3 가 비합리/애매 판정 받은 섹션: 3 건.
01-1 — 1. 용어 정의
- MDX layout (코드 추출):
3col-parallel - V3 판정: ambiguous (30점)
| V3 가 올린 Top-1 | V1 이 잡은 1위 | |
|---|---|---|
| Frame | 20 | 1 |
| fig_layout | 3col-cards |
circular-nodes |
| structure_compat | 0.9 | 0.15 |
| structure_intent | ['requirement_or_pillar'] | [] |
진단: V3 가 올린 Frame 20 의 구조 호환도가 V1 의 합리적 1위 Frame 1 과 같거나 높음. 즉 _COMPAT 만으로는 의미적으로 더 맞는 프레임을 골라낼 근거 부족. structure_intent 나 content_affinity 같은 2차 신호 가 없어서 동일 layout family 안에서 분별이 안 됨.
02-1 — 1. DX의 궁극적 목표
- MDX layout (코드 추출):
3col-parallel - V3 판정: irrational (0점)
| V3 가 올린 Top-1 | V1 이 잡은 1위 | |
|---|---|---|
| Frame | 20 | 12 |
| fig_layout | 3col-cards |
cycle-3way |
| structure_compat | 0.9 | 0.15 |
| structure_intent | ['requirement_or_pillar'] | [] |
진단: V3 가 올린 Frame 20 의 구조 호환도가 V1 의 합리적 1위 Frame 12 과 같거나 높음. 즉 _COMPAT 만으로는 의미적으로 더 맞는 프레임을 골라낼 근거 부족. structure_intent 나 content_affinity 같은 2차 신호 가 없어서 동일 layout family 안에서 분별이 안 됨.
02-2.1 — 2.1 업무 수행 과정(Process)의 변화
- MDX layout (코드 추출):
single-column - V3 판정: irrational (0점)
| V3 가 올린 Top-1 | V1 이 잡은 1위 | |
|---|---|---|
| Frame | 3 | 11 |
| fig_layout | list-numbered |
3-category |
| structure_compat | 0.85 | 0.15 |
| structure_intent | [] | [] |
진단: V3 가 올린 Frame 3 의 구조 호환도가 V1 의 합리적 1위 Frame 11 과 같거나 높음. 즉 _COMPAT 만으로는 의미적으로 더 맞는 프레임을 골라낼 근거 부족. structure_intent 나 content_affinity 같은 2차 신호 가 없어서 동일 layout family 안에서 분별이 안 됨.
6. 결론 + taxonomy v2 설계 방향
주요 갭 3가지
- _COMPAT 커버리지 26.1% — 2/3 쌍이 fallback 0.15. V3 의 "구분력" 자체가 약함. 수동 테이블이 아니라 자동 계산 가능한 관계 그래프 필요.
- structure_intent 10개 — 어휘 얕음. 같은 layout family 안에서 프레임 간 의미 구분 불가. 더 세분화된 의도 taxonomy + controlled vocabulary 필요.
- "대안 레이아웃" 필드 없음. 현재 스키마는 "이 layout 은 무엇인가" 만 기술. "이 layout 이 못 담는 콘텐츠 유형 / 대체 가능한 layout" 을 추가해야 V3 가 대안 탐색을 할 수 있음.
v2 taxonomy 에 추가할 필드 (제안)
content_affinity: 이 layout 이 선호하는 콘텐츠 성격 enum (concept_definition / quantitative_compare / persona_benefit / process_steps / policy_requirements / ...)slot_semantic_role: 각 slot 이 담는 의미적 역할 (주체/시점/원인/결과/예시/...)alternative_patterns: 이 layout 의 대안 layout 목록 + 대체 조건structure_intentcontrolled vocab 정의 (현재 free-form → enum)- layout 관계 그래프 (수동 _COMPAT → 필드 기반 자동 계산)