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
+430
View File
@@ -0,0 +1,430 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>Phase 25 — Template-fit-v1 (최종 운영 체계)</title>
<style>
body {
font-family: -apple-system, 'Segoe UI', 'Malgun Gothic', sans-serif;
max-width: 1800px;
margin: 0 auto;
padding: 24px;
line-height: 1.6;
color: #1e293b;
background: #f8fafc;
}
h1 { color: #1e293b; border-bottom: 3px solid #2563eb; padding-bottom: 12px; }
h2 {
color: #1a365d;
background: #e0e7ff;
padding: 10px 16px;
border-radius: 6px;
margin-top: 32px;
}
hr { border: none; border-top: 1px solid #cbd5e1; margin: 24px 0; }
table {
border-collapse: collapse;
width: 100%;
margin: 12px 0 24px;
background: #fff;
box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}
th, td {
border: 1px solid #e2e8f0;
padding: 10px;
text-align: left;
vertical-align: top;
}
th {
background: #1e293b;
color: #fff;
font-weight: 700;
text-align: center;
width: 120px;
}
td:first-child {
background: #f1f5f9;
font-weight: 600;
text-align: center;
width: 120px;
}
td img {
max-width: 260px;
height: auto;
display: block;
margin: 0 auto 6px;
border: 1px solid #cbd5e1;
border-radius: 4px;
}
td br + strong { color: #2563eb; }
</style>
</head>
<body>
<h1>Phase 25 — Template-fit-v1 (최종 운영 체계)</h1>
<p><strong>공식</strong>: <code>0.25 anchor + 0.20 card + 0.20 rel + 0.15 slot + 0.20 content - penalties</code>
<strong>결과: 4/4 정답</strong></p>
<p><strong>✓ 검증 기준 통과</strong>: 4/4, 오답 use_as_is 없음, 1-2위 격차 모두 ≥ 0.05</p>
<p><strong>Phase 24 대비 업그레이드</strong>:
- DB: legacy 32 frames (family/semantic_role) → templates_v1 32개 (slot + anchor_sets + fit_notes + adaptation_allowed)
- 구조 축: 단일 → 3개 분해 (cardinality / relation / slot_coverage)
- 감점 축 2개: not_suits (의미 mismatch), adaptation_cost (재구성 비용)
- 조건부 cap: <code>bim_dx</code>, <code>safety_quality_productivity</code> 등 짧은 generic 세트 편향 방어
- 라우팅: use_as_is / light_edit / restructure / reject 4단계</p>
<h2>1. TARGET별 결과</h2>
<table>
<thead>
<tr>
<th>MDX</th>
<th>정답</th>
<th>1위 conf (라우팅)</th>
<th>2위 conf</th>
<th>margin</th>
</tr>
</thead>
<tbody>
<tr>
<td>MDX01-2-details</td>
<td>18 (bim_dx_comparison_table)</td>
<td>18 (0.922 use_as_is) ✓</td>
<td>29 (0.847)</td>
<td>0.076</td>
</tr>
<tr>
<td>MDX02-2.2-table</td>
<td>14 (three_persona_benefits)</td>
<td>14 (0.928 use_as_is) ✓</td>
<td>20 (0.748)</td>
<td>0.180</td>
</tr>
<tr>
<td>MDX03-1</td>
<td>13 (three_parallel_requirements)</td>
<td>13 (0.925 use_as_is) ✓</td>
<td>20 (0.846)</td>
<td>0.079</td>
</tr>
<tr>
<td>MDX03-2</td>
<td>29 (process_product_two_way)</td>
<td>29 (0.919 use_as_is) ✓</td>
<td>18 (0.821)</td>
<td>0.098</td>
</tr>
</tbody>
</table>
<h2>2. Top-5 매트릭스 (32 템플릿 중)</h2>
<table>
<thead>
<tr>
<th>콘텐츠</th>
<th>1위</th>
<th>2위</th>
<th>3위</th>
<th>4위</th>
<th>5위</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>MDX01-2-details</strong><br>정답 18</td>
<td><div style='background:#fff3cd;border:3px solid #dc2626;padding:8px;border-radius:6px'>🎯<br><img alt="18" src="../../data/figma_previews/18.png" /><br><strong>18</strong> (0.922)<br>bim_dx_comparison_tabl<br><em>use_as_is</em></div></td>
<td><img alt="29" src="../../data/figma_previews/29.png" /><br><strong>29</strong> (0.847)<br>process_product_two_wa<br><em>reject</em></td>
<td><img alt="24" src="../../data/figma_previews/24.png" /><br><strong>24</strong> (0.735)<br>engn_sw_three_types<br><em>restructure</em></td>
<td><img alt="23" src="../../data/figma_previews/23.png" /><br><strong>23</strong> (0.655)<br>app_sw_package_vs_solu<br><em>reject</em></td>
<td><img alt="31" src="../../data/figma_previews/31.png" /><br><strong>31</strong> (0.564)<br>industry_characteristi<br><em>reject</em></td>
</tr>
<tr>
<td><strong>MDX02-2.2-table</strong><br>정답 14</td>
<td><div style='background:#fff3cd;border:3px solid #dc2626;padding:8px;border-radius:6px'>🎯<br><img alt="14" src="../../data/figma_previews/14.png" /><br><strong>14</strong> (0.928)<br>three_persona_benefits<br><em>use_as_is</em></div></td>
<td><img alt="20" src="../../data/figma_previews/20.png" /><br><strong>20</strong> (0.748)<br>dx_sw_necessity_three_<br><em>restructure</em></td>
<td><img alt="21" src="../../data/figma_previews/21.png" /><br><strong>21</strong> (0.743)<br>solution_engn_split_di<br><em>restructure</em></td>
<td><img alt="13" src="../../data/figma_previews/13.png" /><br><strong>13</strong> (0.739)<br>three_parallel_require<br><em>reject</em></td>
<td><img alt="28" src="../../data/figma_previews/28.png" /><br><strong>28</strong> (0.722)<br>sw_reality_three_empha<br><em>reject</em></td>
</tr>
<tr>
<td><strong>MDX03-1</strong><br>정답 13</td>
<td><div style='background:#fff3cd;border:3px solid #dc2626;padding:8px;border-radius:6px'>🎯<br><img alt="13" src="../../data/figma_previews/13.png" /><br><strong>13</strong> (0.925)<br>three_parallel_require<br><em>use_as_is</em></div></td>
<td><img alt="20" src="../../data/figma_previews/20.png" /><br><strong>20</strong> (0.846)<br>dx_sw_necessity_three_<br><em>light_edit</em></td>
<td><img alt="28" src="../../data/figma_previews/28.png" /><br><strong>28</strong> (0.727)<br>sw_reality_three_empha<br><em>reject</em></td>
<td><img alt="21" src="../../data/figma_previews/21.png" /><br><strong>21</strong> (0.677)<br>solution_engn_split_di<br><em>reject</em></td>
<td><img alt="14" src="../../data/figma_previews/14.png" /><br><strong>14</strong> (0.659)<br>three_persona_benefits<br><em>reject</em></td>
</tr>
<tr>
<td><strong>MDX03-2</strong><br>정답 29</td>
<td><div style='background:#fff3cd;border:3px solid #dc2626;padding:8px;border-radius:6px'>🎯<br><img alt="29" src="../../data/figma_previews/29.png" /><br><strong>29</strong> (0.919)<br>process_product_two_wa<br><em>use_as_is</em></div></td>
<td><img alt="18" src="../../data/figma_previews/18.png" /><br><strong>18</strong> (0.821)<br>bim_dx_comparison_tabl<br><em>reject</em></td>
<td><img alt="23" src="../../data/figma_previews/23.png" /><br><strong>23</strong> (0.645)<br>app_sw_package_vs_solu<br><em>reject</em></td>
<td><img alt="24" src="../../data/figma_previews/24.png" /><br><strong>24</strong> (0.641)<br>engn_sw_three_types<br><em>reject</em></td>
<td><img alt="27" src="../../data/figma_previews/27.png" /><br><strong>27</strong> (0.638)<br>bim_adoption_central_s<br><em>restructure</em></td>
</tr>
</tbody>
</table>
<h2>3. 유닛별 세부 (Top-5 breakdown)</h2>
<h3>MDX01-2-details — 정답 18 (bim_dx_comparison_table)</h3>
<p><strong>MDX 분석 (detect_mdx.py — LLM 0회)</strong>
- title: 건설산업 DX의 올바른 이해 / 2. 용어간 상호관계
- summary: 건설산업 DX의 올바른 이해 / 2. 용어간 상호관계. DX / BIM
- item_count: {'detected': 2, 'source': 'table_columns'}
- relation_type: {'value': 'compare', 'confidence': 'high'}
- detected_terms: 112개</p>
<p><strong>🎯 1위 bim_dx_comparison_table</strong> (Frame 18) — <strong>use_as_is</strong></p>
<p><img alt="18" src="../../data/figma_previews/18.png" /></p>
<ul>
<li><strong>anchor</strong>: 1.00 — <code>bim_dx</code>: ['BIM', 'DX'] <em>(cap0.70 면제 (방증 0.71≥0.5))</em></li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.61</li>
<li><strong>base</strong>: 0.922</li>
<li><strong>confidence</strong>: <strong>0.922</strong> → use_as_is</li>
</ul>
<p><strong>2위 process_product_two_way</strong> (Frame 29) — <strong>reject</strong></p>
<p><img alt="29" src="../../data/figma_previews/29.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.75 — <code>dimension_2d_3d</code>: ['2D', '3D', '3D모델']</li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.55</li>
<li><strong>base</strong>: 0.847</li>
<li><strong>confidence</strong>: <strong>0.847</strong> → reject</li>
</ul>
<p><strong>3위 engn_sw_three_types</strong> (Frame 24) — <strong>restructure</strong></p>
<p><img alt="24" src="../../data/figma_previews/24.png" /></p>
<ul>
<li><strong>anchor</strong>: 1.00 — <code>sw_three_types</code>: ['상용', '전용']</li>
<li><strong>cardinality</strong>: 0.50</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 0.50</li>
<li><strong>content</strong>: 0.55</li>
<li><strong>base</strong>: 0.735</li>
<li><strong>adaptation</strong>: -0.00 ['forbidden:n&lt;min']</li>
<li><strong>confidence</strong>: <strong>0.735</strong> → restructure</li>
</ul>
<p><strong>4위 app_sw_package_vs_solution</strong> (Frame 23) — <strong>reject</strong></p>
<p><img alt="23" src="../../data/figma_previews/23.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.00 — <code>None</code>: []</li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.53</li>
<li><strong>base</strong>: 0.655</li>
<li><strong>confidence</strong>: <strong>0.655</strong> → reject</li>
</ul>
<p><strong>5위 industry_characteristics_three_col</strong> (Frame 31) — <strong>reject</strong></p>
<p><img alt="31" src="../../data/figma_previews/31.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.33 — <code>three_industries</code>: ['토목']</li>
<li><strong>cardinality</strong>: 0.50</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 0.50</li>
<li><strong>content</strong>: 0.53</li>
<li><strong>base</strong>: 0.564</li>
<li><strong>adaptation</strong>: -0.00 ['forbidden:n&lt;min']</li>
<li><strong>confidence</strong>: <strong>0.564</strong> → reject</li>
</ul>
<h3>MDX02-2.2-table — 정답 14 (three_persona_benefits)</h3>
<p><strong>MDX 분석 (detect_mdx.py — LLM 0회)</strong>
- title: DX의 시행 목표 및 기대효과 / 2. DX 기반 Process 혁신에 따른 주체별 기대효과 / 2.2 DX 시행 주체별 기대효과
- summary: DX의 시행 목표 및 기대효과 / 2. DX 기반 Process 혁신에 따른 주체별 기대효과 / 2.2 DX 시행 주체별 기대효과. 발주자 / 시공자 / 설계자
- item_count: {'detected': 3, 'source': 'table_columns'}
- relation_type: {'value': 'parallel', 'confidence': 'high'}
- detected_terms: 126개</p>
<p><strong>🎯 1위 three_persona_benefits</strong> (Frame 14) — <strong>use_as_is</strong></p>
<p><img alt="14" src="../../data/figma_previews/14.png" /></p>
<ul>
<li><strong>anchor</strong>: 1.00 — <code>construction_personas</code>: ['발주자', '설계자', '시공자']</li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.64</li>
<li><strong>base</strong>: 0.928</li>
<li><strong>confidence</strong>: <strong>0.928</strong> → use_as_is</li>
</ul>
<p><strong>2위 dx_sw_necessity_three_perspectives</strong> (Frame 20) — <strong>restructure</strong></p>
<p><img alt="20" src="../../data/figma_previews/20.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.33 — <code>three_design_perspectives</code>: ['디지털']</li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.57</li>
<li><strong>base</strong>: 0.748</li>
<li><strong>confidence</strong>: <strong>0.748</strong> → restructure</li>
</ul>
<p><strong>3위 solution_engn_split_diagram</strong> (Frame 21) — <strong>restructure</strong></p>
<p><img alt="21" src="../../data/figma_previews/21.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.50 — <code>solution_concepts</code>: ['시공', '협업']</li>
<li><strong>cardinality</strong>: 0.80</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.54</li>
<li><strong>base</strong>: 0.743</li>
<li><strong>confidence</strong>: <strong>0.743</strong> → restructure</li>
</ul>
<p><strong>4위 three_parallel_requirements</strong> (Frame 13) — <strong>reject</strong></p>
<p><img alt="13" src="../../data/figma_previews/13.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.33 — <code>three_pillars</code>: ['기술']</li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.53</li>
<li><strong>base</strong>: 0.739</li>
<li><strong>confidence</strong>: <strong>0.739</strong> → reject</li>
</ul>
<p><strong>5위 sw_reality_three_emphasis</strong> (Frame 28) — <strong>reject</strong></p>
<p><img alt="28" src="../../data/figma_previews/28.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.33 — <code>domain_civil</code>: ['실무']</li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.45</li>
<li><strong>base</strong>: 0.722</li>
<li><strong>confidence</strong>: <strong>0.722</strong> → reject</li>
</ul>
<h3>MDX03-1 — 정답 13 (three_parallel_requirements)</h3>
<p><strong>MDX 분석 (detect_mdx.py — LLM 0회)</strong>
- title: DX 실행 체계 구축 방안 / 1. DX 시행을 위한 필수 요건
- summary: DX 실행 체계 구축 방안 / 1. DX 시행을 위한 필수 요건. 기술 / 사람 / 자연
- item_count: {'detected': 3, 'source': 'bullets'}
- relation_type: {'value': 'parallel', 'confidence': 'high'}
- detected_terms: 90개</p>
<p><strong>🎯 1위 three_parallel_requirements</strong> (Frame 13) — <strong>use_as_is</strong></p>
<p><img alt="13" src="../../data/figma_previews/13.png" /></p>
<ul>
<li><strong>anchor</strong>: 1.00 — <code>three_pillars</code>: ['기술', '사람', '자연']</li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.63</li>
<li><strong>base</strong>: 0.925</li>
<li><strong>confidence</strong>: <strong>0.925</strong> → use_as_is</li>
</ul>
<p><strong>2위 dx_sw_necessity_three_perspectives</strong> (Frame 20) — <strong>light_edit</strong></p>
<p><img alt="20" src="../../data/figma_previews/20.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.75 — <code>dx_sw_necessity</code>: ['DX', 'S/W', '필수']</li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.54</li>
<li><strong>base</strong>: 0.846</li>
<li><strong>confidence</strong>: <strong>0.846</strong> → light_edit</li>
</ul>
<p><strong>3위 sw_reality_three_emphasis</strong> (Frame 28) — <strong>reject</strong></p>
<p><img alt="28" src="../../data/figma_previews/28.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.33 — <code>domain_civil</code>: ['토목']</li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.47</li>
<li><strong>base</strong>: 0.727</li>
<li><strong>confidence</strong>: <strong>0.727</strong> → reject</li>
</ul>
<p><strong>4위 solution_engn_split_diagram</strong> (Frame 21) — <strong>reject</strong></p>
<p><img alt="21" src="../../data/figma_previews/21.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.25 — <code>solution_engn_sw</code>: ['S/W']</li>
<li><strong>cardinality</strong>: 0.80</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.52</li>
<li><strong>base</strong>: 0.677</li>
<li><strong>confidence</strong>: <strong>0.677</strong> → reject</li>
</ul>
<p><strong>5위 three_persona_benefits</strong> (Frame 14) — <strong>reject</strong></p>
<p><img alt="14" src="../../data/figma_previews/14.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.00 — <code>None</code>: []</li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.55</li>
<li><strong>base</strong>: 0.659</li>
<li><strong>confidence</strong>: <strong>0.659</strong> → reject</li>
</ul>
<h3>MDX03-2 — 정답 29 (process_product_two_way)</h3>
<p><strong>MDX 분석 (detect_mdx.py — LLM 0회)</strong>
- title: DX 실행 체계 구축 방안 / 2. Process의 혁신과 Product의 변화
- summary: DX 실행 체계 구축 방안 / 2. Process의 혁신과 Product의 변화. 과정 / 결과
- item_count: {'detected': 2, 'source': 'subsections'}
- relation_type: {'value': 'compare', 'confidence': 'high'}
- detected_terms: 117개</p>
<p><strong>🎯 1위 process_product_two_way</strong> (Frame 29) — <strong>use_as_is</strong></p>
<p><img alt="29" src="../../data/figma_previews/29.png" /></p>
<ul>
<li><strong>anchor</strong>: 1.00 — <code>dimension_2d_3d</code>: ['2D', '2D도면', '3D', '3D모델']</li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.60</li>
<li><strong>base</strong>: 0.919</li>
<li><strong>confidence</strong>: <strong>0.919</strong> → use_as_is</li>
</ul>
<p><strong>2위 bim_dx_comparison_table</strong> (Frame 18) — <strong>reject</strong></p>
<p><img alt="18" src="../../data/figma_previews/18.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.70 — <code>bim_dx</code>: ['BIM', 'DX'] <em>(cap0.70 적용 (방증 0.29&lt;0.5))</em></li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.48</li>
<li><strong>base</strong>: 0.821</li>
<li><strong>confidence</strong>: <strong>0.821</strong> → reject</li>
</ul>
<p><strong>3위 app_sw_package_vs_solution</strong> (Frame 23) — <strong>reject</strong></p>
<p><img alt="23" src="../../data/figma_previews/23.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.00 — <code>None</code>: []</li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.47</li>
<li><strong>base</strong>: 0.645</li>
<li><strong>confidence</strong>: <strong>0.645</strong> → reject</li>
</ul>
<p><strong>4위 engn_sw_three_types</strong> (Frame 24) — <strong>reject</strong></p>
<p><img alt="24" src="../../data/figma_previews/24.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.67 — <code>engn_sw</code>: ['Engn', 'S/W']</li>
<li><strong>cardinality</strong>: 0.50</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 0.50</li>
<li><strong>content</strong>: 0.50</li>
<li><strong>base</strong>: 0.641</li>
<li><strong>adaptation</strong>: -0.00 ['forbidden:n&lt;min']</li>
<li><strong>confidence</strong>: <strong>0.641</strong> → reject</li>
</ul>
<p><strong>5위 bim_adoption_central_split</strong> (Frame 27) — <strong>restructure</strong></p>
<p><img alt="27" src="../../data/figma_previews/27.png" /></p>
<ul>
<li><strong>anchor</strong>: 0.67 — <code>productivity_digital</code>: ['DX', '디지털']</li>
<li><strong>cardinality</strong>: 1.00</li>
<li><strong>relation</strong>: 1.00</li>
<li><strong>slot</strong>: 1.00</li>
<li><strong>content</strong>: 0.61</li>
<li><strong>base</strong>: 0.838</li>
<li><strong>not_suits</strong>: -0.20 ['BIM vs DX 직접 대조']</li>
<li><strong>confidence</strong>: <strong>0.638</strong> → restructure</li>
</ul>
<h2>4. 요약</h2>
<ul>
<li><strong>정답률</strong>: 4/4 — Phase 22~24 와 동일하지만 근거가 다름.</li>
<li><strong>1-2위 격차</strong>: Phase 24 대비 일부 MDX에서 margin 작아짐 (2위도 구조 호환되면 light_edit 영역 상승).</li>
<li><strong>하지만 운영 관점 차이</strong>:</li>
<li>정답 모두 <code>use_as_is</code> (≥0.90) — 원본 그대로 slot fill.</li>
<li>오답 후보 <code>light_edit</code>/<code>restructure</code>/<code>reject</code> 로 등급 분리 — 단순 1위/아님 이분법 아님.</li>
<li>조건부 cap 의도대로 작동: MDX01-2 bim_dx <strong>면제</strong> (방증 comparison_dimensions 0.71), MDX03-2 bim_dx <strong>적용</strong> (방증 0.29&lt;0.5).</li>
<li>not_suits <code>주체별 나열</code>, <code>필수요건</code> 등 구조 신호로 오답 후보 확실히 억제.</li>
</ul>
<p><strong>결론</strong>: template-fit-v1 은 단순 매칭 점수를 넘어 <strong>운영 가능한 DB 체계</strong> 제공.
기존 Phase 22~24 의 키워드/내용/구조 축은 base 의 일부로 유지하되, 감점 + 라우팅 + cap 이 실제 운영에 필요.</p>
</body>
</html>