wip: phase_z2 evidence 파이프라인 + matching 실험(phase2~26) + 프론트 trace 패널 진행분 스냅샷

- 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>
This commit is contained in:
2026-07-02 17:03:42 +09:00
co-authored by Claude Opus 4.8
parent 97b7833a1b
commit b836e79ee1
527 changed files with 673036 additions and 717 deletions
+135
View File
@@ -0,0 +1,135 @@
# MDX ↔ Figma 매칭 방법 비교 결과
테스트 셋: MDX 01~03의 `##` 중목차 **7개 섹션**
Figma 프레임 **32개** 중 매칭
비교 방법 **8개**
## 1. Ground Truth
| 섹션 ID | MDX 섹션 | Primary | Secondary | 확신도 |
|---------|---------|---------|-----------|--------|
| MDX01-intro | 용어의 혼용 (intro) | null | - | high |
| MDX01-1 | 1. 용어 정의 | null | 1171281189 | medium |
| MDX01-2 | 2. 용어간 상호관계 | 1171281195 | - | very_high |
| MDX02-1 | 1. DX의 궁극적 목표 | 1171281189 | 1171281191 | high |
| MDX02-2 | 2. DX 기반 Process 혁신에 따른 주체별 기대효과 | 1171281191 | 1171281189 | very_high |
| MDX03-1 | 1. DX 시행을 위한 필수 요건 | 1171281190 | 1171281192 | very_high |
| MDX03-2 | 2. Process의 혁신과 Product의 변화 | 1171281210 | - | very_high |
## 2. 메인 매트릭스 — 각 방법의 Top-1
| 방법 | M01-intro | M01-1 | M01-2 | M02-1 | M02-2 | M03-1 | M03-2 |
|---|---|---|---|---|---|---|---|
| **GT** | _null_ | _null_ | 1171281195 | 1171281189 | 1171281191 | 1171281190 | 1171281210 |
| 1. TF-IDF | ·208 (0.26) | ·208 (0.18) | ✅195 (0.87) | ✅189 (0.49) | ✅191 (0.52) | ◯192 (0.56) | ✅210 (0.65) |
| 2. BM25 | ·198 (17.46) | ·210 (18.72) | ✅195 (148.67) | ✅189 (37.81) | ✅191 (95.54) | ◯192 (64.40) | ✅210 (89.60) |
| 3. Char 2~3gram | ·210 (0.04) | ·210 (0.06) | ✅195 (0.40) | ✅189 (0.18) | ✅191 (0.17) | ◯192 (0.21) | ✅210 (0.29) |
| 4. Kiwi+BM25 | ·198 (27.06) | ·210 (26.64) | ✅195 (157.73) | ✅189 (52.89) | ✅191 (125.30) | ◯192 (90.19) | ✅210 (103.37) |
| 5. Structural | ·173 (0.58) | ·173 (0.57) | ✗194 (0.83) | ✗173 (0.61) | ✗194 (0.91) | ✗173 (0.17) | ✗205 (0.50) |
| 6. AI-Metadata | ·198 (0.20) | ·208 (0.21) | ✅195 (1.00) | ✅189 (0.37) | ✅191 (0.42) | ✅190 (0.73) | ✅210 (0.69) |
| 7. Weighted (BM25+CNG) | ·198 (0.94) | ·210 (1.00) | ✅195 (1.00) | ✅189 (1.00) | ✅191 (1.00) | ◯192 (1.00) | ✅210 (1.00) |
| 8. HardFilter+BM25 | ·198 (17.15) | ·210 (18.72) | ✅195 (148.67) | ✅189 (37.55) | ✅191 (95.54) | ✗178 (8.60) | ✗211 (14.95) |
✅ primary 일치 · ◯ secondary 일치 · ✗ 불일치 · · GT null
## 3. Top-3 분석 (명확 매칭 5개 섹션만)
### 1. TF-IDF
| 섹션 | Top-1 | Top-2 | Top-3 |
|------|-------|-------|-------|
| MDX01-2 | 195 (0.87) | 210 (0.15) | 193 (0.14) |
| MDX02-1 | 189 (0.49) | 191 (0.38) | 210 (0.20) |
| MDX02-2 | 191 (0.52) | 189 (0.32) | 210 (0.23) |
| MDX03-1 | 192 (0.56) | 190 (0.30) | 198 (0.17) |
| MDX03-2 | 210 (0.65) | 189 (0.19) | 180 (0.14) |
### 2. BM25
| 섹션 | Top-1 | Top-2 | Top-3 |
|------|-------|-------|-------|
| MDX01-2 | 195 (148.67) | 210 (27.44) | 193 (23.16) |
| MDX02-1 | 189 (37.81) | 191 (25.15) | 210 (18.95) |
| MDX02-2 | 191 (95.54) | 189 (56.78) | 210 (52.91) |
| MDX03-1 | 192 (64.40) | 190 (36.52) | 198 (20.77) |
| MDX03-2 | 210 (89.60) | 189 (28.37) | 211 (16.31) |
### 3. Char 2~3gram
| 섹션 | Top-1 | Top-2 | Top-3 |
|------|-------|-------|-------|
| MDX01-2 | 195 (0.40) | 210 (0.06) | 211 (0.05) |
| MDX02-1 | 189 (0.18) | 210 (0.07) | 191 (0.07) |
| MDX02-2 | 191 (0.17) | 210 (0.07) | 189 (0.07) |
| MDX03-1 | 192 (0.21) | 190 (0.09) | 210 (0.05) |
| MDX03-2 | 210 (0.29) | 189 (0.08) | 192 (0.05) |
### 4. Kiwi+BM25
| 섹션 | Top-1 | Top-2 | Top-3 |
|------|-------|-------|-------|
| MDX01-2 | 195 (157.73) | 193 (64.48) | 210 (56.75) |
| MDX02-1 | 189 (52.89) | 191 (35.12) | 210 (26.77) |
| MDX02-2 | 191 (125.30) | 210 (83.62) | 189 (80.24) |
| MDX03-1 | 192 (90.19) | 190 (45.26) | 193 (31.24) |
| MDX03-2 | 210 (103.37) | 189 (39.52) | 178 (33.84) |
### 5. Structural
| 섹션 | Top-1 | Top-2 | Top-3 |
|------|-------|-------|-------|
| MDX01-2 | 194 (0.83) | 198 (0.83) | 175 (0.65) |
| MDX02-1 | 173 (0.61) | 203 (0.56) | 204 (0.56) |
| MDX02-2 | 194 (0.91) | 198 (0.75) | 177 (0.66) |
| MDX03-1 | 173 (0.17) | 175 (0.16) | 179 (0.16) |
| MDX03-2 | 205 (0.50) | 206 (0.50) | 173 (0.46) |
### 6. AI-Metadata
| 섹션 | Top-1 | Top-2 | Top-3 |
|------|-------|-------|-------|
| MDX01-2 | 195 (1.00) | 198 (0.20) | 175 (0.18) |
| MDX02-1 | 189 (0.37) | 192 (0.17) | 179 (0.13) |
| MDX02-2 | 191 (0.42) | 174 (0.13) | 177 (0.13) |
| MDX03-1 | 190 (0.73) | 208 (0.18) | 198 (0.13) |
| MDX03-2 | 210 (0.69) | 180 (0.16) | 201 (0.16) |
### 7. Weighted (BM25+CNG)
| 섹션 | Top-1 | Top-2 | Top-3 |
|------|-------|-------|-------|
| MDX01-2 | 195 (1.00) | 210 (0.15) | 211 (0.13) |
| MDX02-1 | 189 (1.00) | 191 (0.51) | 210 (0.44) |
| MDX02-2 | 191 (1.00) | 189 (0.48) | 210 (0.47) |
| MDX03-1 | 192 (1.00) | 190 (0.49) | 198 (0.24) |
| MDX03-2 | 210 (1.00) | 189 (0.29) | 192 (0.16) |
### 8. HardFilter+BM25
| 섹션 | Top-1 | Top-2 | Top-3 |
|------|-------|-------|-------|
| MDX01-2 | 195 (148.67) | 210 (27.44) | 193 (23.16) |
| MDX02-1 | 189 (37.55) | 191 (24.92) | 210 (18.80) |
| MDX02-2 | 191 (95.54) | 189 (56.78) | 210 (52.91) |
| MDX03-1 | 178 (8.60) | 174 (6.35) | 197 (5.51) |
| MDX03-2 | 211 (14.95) | 195 (14.61) | 194 (10.90) |
## 4. 지표 요약
| 방법 | Hit@1 | Hit@3 | MRR | 명확5개 맞춤 |
|------|:---:|:---:|:---:|:---:|
| 1. TF-IDF | 0.80 | 1.00 | 0.900 | 4/5 |
| 2. BM25 | 0.80 | 1.00 | 0.900 | 4/5 |
| 3. Char 2~3gram | 0.80 | 1.00 | 0.900 | 4/5 |
| 4. Kiwi+BM25 | 0.80 | 1.00 | 0.900 | 4/5 |
| 5. Structural | 0.00 | 0.00 | 0.056 | 0/5 |
| 6. AI-Metadata | 1.00 | 1.00 | 1.000 | 5/5 |
| 7. Weighted (BM25+CNG) | 0.80 | 1.00 | 0.900 | 4/5 |
| 8. HardFilter+BM25 | 0.60 | 0.60 | 0.620 | 3/5 |
## 5. 권고
- **최고 Hit@1 방법**: 6. AI-Metadata (Hit@1=1.00)
- **최고 MRR 방법**: 6. AI-Metadata (MRR=1.000)
(상세 분석은 메인 매트릭스와 Top-3 참고)