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
+637
View File
@@ -0,0 +1,637 @@
<!DOCTYPE html><html lang="ko"><head><meta charset="utf-8"><title>Priority+Sample r3</title><style>body { font-family: -apple-system, "Segoe UI", Pretendard, sans-serif; max-width: 1100px; margin: 2em auto; padding: 0 1.5em 4em; line-height: 1.65; color: #222; background: #f8fafc; }
h1 { border-bottom: 3px solid #2563eb; padding-bottom: 0.25em; }
h2 { margin-top: 2em; background: #e0e7ff; padding: 0.5em 0.8em; border-left: 4px solid #0a6; border-radius: 4px; }
h3 { margin-top: 1em; color: #1a365d; font-size: 1em; }
table { border-collapse: collapse; background: #fff; margin: 0.5em 0 1em; }
th, td { border: 1px solid #e2e8f0; padding: 6px 10px; vertical-align: top; }
th { background: #1e293b; color: #fff; font-size: 0.9em; }
code { background: #f4f4f4; padding: 1px 6px; border-radius: 3px; font-size: 0.9em; color: #111; }
strong { color: #0a6; }</style></head><body><h1>Priority 5 + 추가 샘플 7개 검토 (r3)</h1>
<p>키워드 튜닝 후 재라벨링. 각 프레임에 <strong>r2 → r3 변화</strong> 표시. 추가 샘플은 r2 에서 의심스러웠던 카테고리 (stakeholder_roles, comparative_matrix, goal_axes, process_steps, persona_benefit) 에서 선별.</p>
<h2>r2 → r3 primary 변경 요약</h2>
<ul>
<li>content_affinity primary 변경: <strong>5/32 프레임</strong></li>
<li>structure_intent primary 변경: <strong>0/32 프레임</strong></li>
</ul>
<h3>content_affinity primary 변경 (전체)</h3>
<table>
<thead>
<tr>
<th>Frame</th>
<th>r2</th>
<th></th>
<th>r3</th>
</tr>
</thead>
<tbody>
<tr>
<td>01</td>
<td><code>comparative_matrix</code></td>
<td></td>
<td><strong><code>interrelation</code></strong></td>
</tr>
<tr>
<td>03</td>
<td><code>stakeholder_roles</code></td>
<td></td>
<td><strong><code>policy_requirements</code></strong></td>
</tr>
<tr>
<td>04</td>
<td><code>stakeholder_roles</code></td>
<td></td>
<td><strong><code>policy_requirements</code></strong></td>
</tr>
<tr>
<td>05</td>
<td><code>concept_definition</code></td>
<td></td>
<td><strong><code>policy_requirements</code></strong></td>
</tr>
<tr>
<td>31</td>
<td><code>capability_requirements</code></td>
<td></td>
<td><strong><code>policy_requirements</code></strong></td>
</tr>
</tbody>
</table>
<h2>Priority 5</h2>
<h2>[Priority] Frame 03 — 국외 BIM 수행 현황</h2>
<ul>
<li>layout: <code>list-numbered-4</code> (original: <code>list-numbered</code>)</li>
<li>relation_type / cardinality.ideal: <code>parallel</code> / 4</li>
</ul>
<h3>r2 → r3</h3>
<table>
<thead>
<tr>
<th></th>
<th>r2</th>
<th>r3</th>
<th>변경</th>
</tr>
</thead>
<tbody>
<tr>
<td>content_affinity</td>
<td><code>stakeholder_roles</code></td>
<td><strong><code>policy_requirements</code></strong></td>
<td></td>
</tr>
<tr>
<td>structure_intent</td>
<td><code>multi_parallel</code></td>
<td><strong><code>multi_parallel</code></strong></td>
<td></td>
</tr>
</tbody>
</table>
<h3>r3 content_affinity: <strong><code>policy_requirements</code></strong></h3>
<ul>
<li>evidence: source=keyword_match, rule='국외' 등 키워드가 policy_requirements 를 가리킴, conf=0.95</li>
<li>blocked: ['capability_requirements', 'concept_comparison', 'process_steps']</li>
</ul>
<h3>r3 structure_intent: <strong><code>multi_parallel</code></strong></h3>
<ul>
<li>evidence: source=content_or_structure, rule=4개 병렬, conf=0.75</li>
</ul>
<h3>alternative_patterns (4)</h3>
<ul>
<li><code>bullet-cards</code> (1.0, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 1.0)</li>
<li><code>list-stacked</code> (1.0, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 1.0)</li>
<li><code>side-card</code> (0.88, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.88)</li>
<li><code>definition-list</code> (0.82, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.82)</li>
</ul>
<hr />
<h2>[Priority] Frame 11 — 시공단계 BIM 모델·정보 활용 구분</h2>
<ul>
<li>layout: <code>cards-3-category</code> (original: <code>3-category</code>)</li>
<li>relation_type / cardinality.ideal: <code>parallel</code> / 3</li>
</ul>
<h3>r2 → r3</h3>
<table>
<thead>
<tr>
<th></th>
<th>r2</th>
<th>r3</th>
<th>변경</th>
</tr>
</thead>
<tbody>
<tr>
<td>content_affinity</td>
<td><code>concept_definition</code></td>
<td><strong><code>concept_definition</code></strong></td>
<td></td>
</tr>
<tr>
<td>structure_intent</td>
<td><code>multi_parallel</code></td>
<td><strong><code>multi_parallel</code></strong></td>
<td></td>
</tr>
</tbody>
</table>
<h3>r3 content_affinity: <strong><code>concept_definition</code></strong></h3>
<ul>
<li>secondary: <code>comparative_matrix</code></li>
<li>evidence: source=keyword_match, rule='분류' 등 키워드가 concept_definition 를 가리킴, conf=0.8</li>
<li>blocked: ['persona_benefit', 'capability_requirements', 'concept_comparison', 'process_steps']</li>
</ul>
<h3>r3 structure_intent: <strong><code>multi_parallel</code></strong></h3>
<ul>
<li>secondary: <code>matrix_coverage</code></li>
<li>evidence: source=content_or_structure, rule=카드 3열, conf=0.75</li>
</ul>
<h3>alternative_patterns (5)</h3>
<ul>
<li><code>3-section</code> (1.0, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 1.0)</li>
<li><code>3-emphasis</code> (0.85, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.85)</li>
<li><code>3col-parallel</code> (0.72, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.72)</li>
<li><code>3col-cards</code> (0.65, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.65)</li>
<li><code>3col-compare</code> (0.65, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.65)</li>
</ul>
<hr />
<h2>[Priority] Frame 12 — 건설산업의 목표 (BIM의 목적)</h2>
<ul>
<li>layout: <code>cycle-3way-intersection</code> (original: <code>cycle-3way</code>)</li>
<li>relation_type / cardinality.ideal: <code>parallel</code> / 3</li>
</ul>
<h3>r2 → r3</h3>
<table>
<thead>
<tr>
<th></th>
<th>r2</th>
<th>r3</th>
<th>변경</th>
</tr>
</thead>
<tbody>
<tr>
<td>content_affinity</td>
<td><code>interrelation</code></td>
<td><strong><code>interrelation</code></strong></td>
<td></td>
</tr>
<tr>
<td>structure_intent</td>
<td><code>cycle_interrelation</code></td>
<td><strong><code>cycle_interrelation</code></strong></td>
<td></td>
</tr>
</tbody>
</table>
<h3>r3 content_affinity: <strong><code>interrelation</code></strong></h3>
<ul>
<li>secondary: <code>goal_axes</code></li>
<li>evidence: source=keyword_match, rule='조화' 등 키워드가 interrelation 를 가리킴, conf=0.95</li>
<li>blocked: ['persona_benefit', 'capability_requirements', 'process_steps']</li>
</ul>
<h3>r3 structure_intent: <strong><code>cycle_interrelation</code></strong></h3>
<ul>
<li>secondary: <code>hierarchy</code>, <code>multi_parallel</code></li>
<li>evidence: source=content_or_structure, rule=조화, conf=0.95</li>
</ul>
<h3>alternative_patterns (2)</h3>
<ul>
<li><code>3col-parallel</code> (0.7, manual_seed): 3개 요소를 순환 대신 평면 병렬 나열로 표현하는 대안</li>
<li><code>circular-nodes</code> (0.6, manual_seed): N개 요소를 radial 로 배치하는 대안</li>
</ul>
<hr />
<h2>[Priority] Frame 20 — 디지털 전환(DX)은 S/W가 필수다</h2>
<ul>
<li>layout: <code>cards-3-header</code> (original: <code>3col-cards</code>)</li>
<li>relation_type / cardinality.ideal: <code>parallel</code> / 3</li>
</ul>
<h3>r2 → r3</h3>
<table>
<thead>
<tr>
<th></th>
<th>r2</th>
<th>r3</th>
<th>변경</th>
</tr>
</thead>
<tbody>
<tr>
<td>content_affinity</td>
<td><code>capability_requirements</code></td>
<td><strong><code>capability_requirements</code></strong></td>
<td></td>
</tr>
<tr>
<td>structure_intent</td>
<td><code>multi_parallel</code></td>
<td><strong><code>multi_parallel</code></strong></td>
<td></td>
</tr>
</tbody>
</table>
<h3>r3 content_affinity: <strong><code>capability_requirements</code></strong></h3>
<ul>
<li>secondary: <code>before_after_change</code></li>
<li>evidence: source=keyword_match, rule='필수' 등 키워드가 capability_requirements 를 가리킴, conf=0.85</li>
<li>blocked: ['concept_comparison', 'comparative_matrix', 'concept_definition', 'process_steps']</li>
</ul>
<h3>r3 structure_intent: <strong><code>multi_parallel</code></strong></h3>
<ul>
<li>secondary: <code>state_transition</code></li>
<li>evidence: source=content_or_structure, rule=3관점, conf=0.8</li>
</ul>
<h3>alternative_patterns (5)</h3>
<ul>
<li><code>persona-3col</code> (1.0, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 1.0)</li>
<li><code>3col-parallel</code> (0.78, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.78)</li>
<li><code>3col-compare</code> (0.69, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.69)</li>
<li><code>table-3col</code> (0.62, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.62)</li>
<li><code>compare-rows</code> (0.24, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.24)</li>
</ul>
<hr />
<h2>[Priority] Frame 29 — Process/Product 혁신</h2>
<ul>
<li>layout: <code>banner-top-2col-bottom</code> (original: <code>compare-2banner-top-2col-bottom</code>)</li>
<li>relation_type / cardinality.ideal: <code>compare</code> / 2</li>
</ul>
<h3>r2 → r3</h3>
<table>
<thead>
<tr>
<th></th>
<th>r2</th>
<th>r3</th>
<th>변경</th>
</tr>
</thead>
<tbody>
<tr>
<td>content_affinity</td>
<td><code>before_after_change</code></td>
<td><strong><code>before_after_change</code></strong></td>
<td></td>
</tr>
<tr>
<td>structure_intent</td>
<td><code>state_transition</code></td>
<td><strong><code>state_transition</code></strong></td>
<td></td>
</tr>
</tbody>
</table>
<h3>r3 content_affinity: <strong><code>before_after_change</code></strong></h3>
<ul>
<li>secondary: <code>concept_comparison</code>, <code>comparative_matrix</code></li>
<li>evidence: source=keyword_match, rule='AS-IS' 등 키워드가 before_after_change 를 가리킴, conf=0.95</li>
<li>blocked: ['process_steps']</li>
</ul>
<h3>r3 structure_intent: <strong><code>state_transition</code></strong></h3>
<ul>
<li>secondary: <code>binary_compare</code></li>
<li>evidence: source=content_or_structure, rule=AS-IS, conf=0.95</li>
</ul>
<h3>alternative_patterns (5)</h3>
<ul>
<li><code>compare-2col</code> (1.0, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 1.0)</li>
<li><code>table-2col</code> (0.98, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.98)</li>
<li><code>2col-paired</code> (0.86, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.86)</li>
<li><code>2-boxes</code> (0.54, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.54)</li>
<li><code>central-split</code> (0.52, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.52)</li>
</ul>
<hr />
<h2>추가 샘플 (r2 의심 프레임)</h2>
<h2>[Sample] Frame 01 — S/W 개발 방향 순환도</h2>
<ul>
<li>layout: <code>circular-nodes-6</code> (original: <code>circular-nodes</code>)</li>
<li>relation_type / cardinality.ideal: <code>parallel</code> / 6</li>
</ul>
<h3>r2 → r3</h3>
<table>
<thead>
<tr>
<th></th>
<th>r2</th>
<th>r3</th>
<th>변경</th>
</tr>
</thead>
<tbody>
<tr>
<td>content_affinity</td>
<td><code>comparative_matrix</code></td>
<td><strong><code>interrelation</code></strong></td>
<td></td>
</tr>
<tr>
<td>structure_intent</td>
<td><code>cycle_interrelation</code></td>
<td><strong><code>cycle_interrelation</code></strong></td>
<td></td>
</tr>
</tbody>
</table>
<h3>r3 content_affinity: <strong><code>interrelation</code></strong></h3>
<ul>
<li>secondary: <code>comparative_matrix</code>, <code>goal_axes</code></li>
<li>evidence: source=keyword_match, rule='순환' 등 키워드가 interrelation 를 가리킴, conf=0.85</li>
<li>blocked: ['concept_comparison', 'capability_requirements', 'concept_definition', 'process_steps']</li>
</ul>
<h3>r3 structure_intent: <strong><code>cycle_interrelation</code></strong></h3>
<ul>
<li>secondary: <code>matrix_coverage</code>, <code>state_transition</code></li>
<li>evidence: source=content_or_structure, rule=순환, conf=0.7</li>
</ul>
<h3>alternative_patterns (0)</h3>
<hr />
<h2>[Sample] Frame 04 — 국내 BIM 수행 관계도</h2>
<ul>
<li>layout: <code>quadrilateral-relations</code> (original: <code>diagram-labels</code>)</li>
<li>relation_type / cardinality.ideal: <code>hierarchy</code> / 4</li>
</ul>
<h3>r2 → r3</h3>
<table>
<thead>
<tr>
<th></th>
<th>r2</th>
<th>r3</th>
<th>변경</th>
</tr>
</thead>
<tbody>
<tr>
<td>content_affinity</td>
<td><code>stakeholder_roles</code></td>
<td><strong><code>policy_requirements</code></strong></td>
<td></td>
</tr>
<tr>
<td>structure_intent</td>
<td><code>hierarchy</code></td>
<td><strong><code>hierarchy</code></strong></td>
<td></td>
</tr>
</tbody>
</table>
<h3>r3 content_affinity: <strong><code>policy_requirements</code></strong></h3>
<ul>
<li>secondary: <code>interrelation</code></li>
<li>evidence: source=keyword_match, rule='국내' 등 키워드가 policy_requirements 를 가리킴, conf=0.7</li>
<li>blocked: ['capability_requirements', 'process_steps']</li>
</ul>
<h3>r3 structure_intent: <strong><code>hierarchy</code></strong></h3>
<ul>
<li>evidence: source=content_or_structure, rule=중앙, conf=0.65</li>
</ul>
<h3>alternative_patterns (0)</h3>
<hr />
<h2>[Sample] Frame 13 — 필수조건</h2>
<ul>
<li>layout: <code>3-column</code> (original: <code>3col-parallel</code>)</li>
<li>relation_type / cardinality.ideal: <code>parallel</code> / 3</li>
</ul>
<h3>r2 → r3</h3>
<table>
<thead>
<tr>
<th></th>
<th>r2</th>
<th>r3</th>
<th>변경</th>
</tr>
</thead>
<tbody>
<tr>
<td>content_affinity</td>
<td><code>comparative_matrix</code></td>
<td><strong><code>comparative_matrix</code></strong></td>
<td></td>
</tr>
<tr>
<td>structure_intent</td>
<td><code>multi_parallel</code></td>
<td><strong><code>multi_parallel</code></strong></td>
<td></td>
</tr>
</tbody>
</table>
<h3>r3 content_affinity: <strong><code>comparative_matrix</code></strong></h3>
<ul>
<li>secondary: <code>capability_requirements</code></li>
<li>evidence: source=keyword_match, rule='축' 등 키워드가 comparative_matrix 를 가리킴, conf=0.7</li>
<li>blocked: ['concept_comparison', 'process_steps']</li>
</ul>
<h3>r3 structure_intent: <strong><code>multi_parallel</code></strong></h3>
<ul>
<li>evidence: source=content_or_structure, rule=3개 병렬, conf=0.8</li>
</ul>
<h3>alternative_patterns (5)</h3>
<ul>
<li><code>persona-3col</code> (1.0, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 1.0)</li>
<li><code>3col-cards</code> (0.75, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.75)</li>
<li><code>3col-compare</code> (0.71, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.71)</li>
<li><code>table-3col</code> (0.6, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.6)</li>
<li><code>3-section</code> (0.31, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.31)</li>
</ul>
<hr />
<h2>[Sample] Frame 14 — 주체별 기대효과</h2>
<ul>
<li>layout: <code>persona-3col</code> (original: <code>persona-3col</code>)</li>
<li>relation_type / cardinality.ideal: <code>parallel</code> / 3</li>
</ul>
<h3>r2 → r3</h3>
<table>
<thead>
<tr>
<th></th>
<th>r2</th>
<th>r3</th>
<th>변경</th>
</tr>
</thead>
<tbody>
<tr>
<td>content_affinity</td>
<td><code>persona_benefit</code></td>
<td><strong><code>persona_benefit</code></strong></td>
<td></td>
</tr>
<tr>
<td>structure_intent</td>
<td><code>persona_mapping</code></td>
<td><strong><code>persona_mapping</code></strong></td>
<td></td>
</tr>
</tbody>
</table>
<h3>r3 content_affinity: <strong><code>persona_benefit</code></strong></h3>
<ul>
<li>secondary: <code>goal_axes</code>, <code>stakeholder_roles</code></li>
<li>evidence: source=keyword_match, rule='발주자' 등 키워드가 persona_benefit 를 가리킴, conf=0.95</li>
<li>blocked: ['concept_comparison', 'process_steps']</li>
</ul>
<h3>r3 structure_intent: <strong><code>persona_mapping</code></strong></h3>
<ul>
<li>secondary: <code>matrix_coverage</code>, <code>multi_parallel</code></li>
<li>evidence: source=content_or_structure, rule=주체별, conf=0.8</li>
</ul>
<h3>alternative_patterns (5)</h3>
<ul>
<li><code>3col-parallel</code> (1.0, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 1.0)</li>
<li><code>3col-cards</code> (0.95, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.95)</li>
<li><code>table-3col</code> (0.93, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.93)</li>
<li><code>3col-compare</code> (0.8, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.8)</li>
<li><code>compare-rows</code> (0.33, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.33)</li>
</ul>
<hr />
<h2>[Sample] Frame 19 — 설계방식 왜곡 (엔지니어 → 기능인)</h2>
<ul>
<li>layout: <code>cards-3-compare</code> (original: <code>3col-compare</code>)</li>
<li>relation_type / cardinality.ideal: <code>compare</code> / 3</li>
</ul>
<h3>r2 → r3</h3>
<table>
<thead>
<tr>
<th></th>
<th>r2</th>
<th>r3</th>
<th>변경</th>
</tr>
</thead>
<tbody>
<tr>
<td>content_affinity</td>
<td><code>stakeholder_roles</code></td>
<td><strong><code>stakeholder_roles</code></strong></td>
<td></td>
</tr>
<tr>
<td>structure_intent</td>
<td><code>singleton_emphasis</code></td>
<td><strong><code>singleton_emphasis</code></strong></td>
<td></td>
</tr>
</tbody>
</table>
<h3>r3 content_affinity: <strong><code>stakeholder_roles</code></strong></h3>
<ul>
<li>secondary: <code>comparative_matrix</code></li>
<li>evidence: source=keyword_match, rule='역할' 등 키워드가 stakeholder_roles 를 가리킴, conf=0.7</li>
<li>blocked: ['concept_comparison', 'process_steps']</li>
</ul>
<h3>r3 structure_intent: <strong><code>singleton_emphasis</code></strong></h3>
<ul>
<li>secondary: <code>binary_compare</code>, <code>multi_parallel</code></li>
<li>evidence: source=content_or_structure, rule=문제, conf=0.85</li>
</ul>
<h3>alternative_patterns (5)</h3>
<ul>
<li><code>persona-3col</code> (1.0, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 1.0)</li>
<li><code>3col-parallel</code> (0.75, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.75)</li>
<li><code>3col-cards</code> (0.7, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.7)</li>
<li><code>table-3col</code> (0.65, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.65)</li>
<li><code>compare-rows</code> (0.28, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.28)</li>
</ul>
<hr />
<h2>[Sample] Frame 22 — Model에 특화된 Engn. S/W</h2>
<ul>
<li>layout: <code>split-panel-numbered</code> (original: <code>split-panel-numbered</code>)</li>
<li>relation_type / cardinality.ideal: <code>parallel</code> / 3</li>
</ul>
<h3>r2 → r3</h3>
<table>
<thead>
<tr>
<th></th>
<th>r2</th>
<th>r3</th>
<th>변경</th>
</tr>
</thead>
<tbody>
<tr>
<td>content_affinity</td>
<td><code>process_steps</code></td>
<td><strong><code>process_steps</code></strong></td>
<td></td>
</tr>
<tr>
<td>structure_intent</td>
<td><code>singleton_emphasis</code></td>
<td><strong><code>singleton_emphasis</code></strong></td>
<td></td>
</tr>
</tbody>
</table>
<h3>r3 content_affinity: <strong><code>process_steps</code></strong></h3>
<ul>
<li>evidence: source=layout_default, rule=layout → 기본 affinity, conf=0.6</li>
<li>blocked: ['concept_comparison', 'capability_requirements', 'concept_definition', 'process_steps']</li>
</ul>
<h3>r3 structure_intent: <strong><code>singleton_emphasis</code></strong></h3>
<ul>
<li>secondary: <code>multi_parallel</code></li>
<li>evidence: source=content_or_structure, rule=강조, conf=0.65</li>
</ul>
<h3>alternative_patterns (5)</h3>
<ul>
<li><code>bullet-cards</code> (1.0, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 1.0)</li>
<li><code>list-numbered</code> (1.0, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 1.0)</li>
<li><code>list-stacked</code> (1.0, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 1.0)</li>
<li><code>side-card</code> (0.88, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.88)</li>
<li><code>definition-list</code> (0.82, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.82)</li>
</ul>
<hr />
<h2>[Sample] Frame 28 — 현존 상용 S/W의 현실</h2>
<ul>
<li>layout: <code>title-plus-3-emphasis</code> (original: <code>3-emphasis</code>)</li>
<li>relation_type / cardinality.ideal: <code>parallel</code> / 3</li>
</ul>
<h3>r2 → r3</h3>
<table>
<thead>
<tr>
<th></th>
<th>r2</th>
<th>r3</th>
<th>변경</th>
</tr>
</thead>
<tbody>
<tr>
<td>content_affinity</td>
<td><code>goal_axes</code></td>
<td><strong><code>goal_axes</code></strong></td>
<td></td>
</tr>
<tr>
<td>structure_intent</td>
<td><code>singleton_emphasis</code></td>
<td><strong><code>singleton_emphasis</code></strong></td>
<td></td>
</tr>
</tbody>
</table>
<h3>r3 content_affinity: <strong><code>goal_axes</code></strong></h3>
<ul>
<li>secondary: <code>singleton_emphasis</code></li>
<li>evidence: source=layout_default, rule=layout → 기본 affinity, conf=0.6</li>
<li>blocked: ['process_steps']</li>
</ul>
<h3>r3 structure_intent: <strong><code>singleton_emphasis</code></strong></h3>
<ul>
<li>secondary: <code>multi_parallel</code></li>
<li>evidence: source=content_or_structure, rule=강조, conf=0.95</li>
</ul>
<h3>alternative_patterns (5)</h3>
<ul>
<li><code>3-section</code> (1.0, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 1.0)</li>
<li><code>3-category</code> (0.9, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.9)</li>
<li><code>3col-parallel</code> (0.71, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.71)</li>
<li><code>3col-cards</code> (0.64, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.64)</li>
<li><code>3col-compare</code> (0.64, derived_from_COMPAT): _COMPAT 공통 호환 mdx_layout 집합 기반 파생 (정규화 0.64)</li>
</ul>
<hr /></body></html>