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
+281
View File
@@ -0,0 +1,281 @@
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>Phase 14 샘플 — AI-Meta 동작 과정</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 14 샘플 — AI-Meta 동작 단계별 설명</h1>
<h2>AI-Meta 알고리즘 요약</h2>
<ol>
<li>사전에 AI(Claude/Kei)가 각 MDX 섹션과 Figma 프레임에서 <strong>핵심 개념(concepts) 집합</strong>을 추출해 <code>metadata_db.yaml</code>에 저장</li>
<li>매칭 시: MDX 개념 집합 A, Figma 개념 집합 B</li>
<li>교집합 A ∩ B의 IDF 합 ÷ 합집합 A ∪ B의 IDF 합 = <strong>IDF 가중 Jaccard</strong> 점수</li>
<li>높은 점수일수록 개념이 많이 겹치고, 드문 개념이 겹칠수록 가중치 큼</li>
</ol>
<p><strong>IDF 베이스</strong>: 32개 Figma 프레임</p>
<h2>사전 추출된 MDX 개념 집합 (metadata_db.yaml)</h2>
<table>
<thead>
<tr>
<th>MDX 섹션</th>
<th>개념 집합</th>
<th>layout_hint</th>
</tr>
</thead>
<tbody>
<tr>
<td>MDX01-intro</td>
<td>DX, BIM, 용어, 혼용, 디지털전환, 정립, 정책, 스마트건설</td>
<td>intro</td>
</tr>
<tr>
<td>MDX01-1</td>
<td>건설산업, BIM, DX, 정의, 디지털전환, 정보관리, GIS, 공간정보, 3D모델</td>
<td>definition-list</td>
</tr>
<tr>
<td>MDX01-2</td>
<td>BIM, DX, 비교, 범위, S/W, 프로세스, 성과품, 활용, 확장성, 수행개념, 주체, 발주처, 설계사, 시공사, CIVIL, IT</td>
<td>compare-rows</td>
</tr>
<tr>
<td>MDX02-1</td>
<td>안전, 품질, 생산성, 소통, 신뢰, 목표, 디지털검증, 하자, 효율, 협업, 오류, 건설기간</td>
<td>cycle-goal</td>
</tr>
<tr>
<td>MDX02-2</td>
<td>발주자, 시공자, 설계자, 역량, 기대효과, 3D모델, 협업, Claim, 리스크, 품질, 검증, 대응, 변화</td>
<td>persona-3col</td>
</tr>
<tr>
<td>MDX03-1</td>
<td>기술, 디지털, 사람, 역량, 자연, 여건, 투자, 지식, 혁신, 경험, 전문지식, 창의성</td>
<td>3col-parallel</td>
</tr>
<tr>
<td>MDX03-2</td>
<td>Process, Product, Analogue, Digital, 혁신, 변화, GIS, BIM, Solution, 성과물, 정보물, 협업, 2D, 3D</td>
<td>compare-2col</td>
</tr>
</tbody>
</table>
<hr />
<h2>예시: MDX03-1 매칭 (정답 Frame 13)</h2>
<h3>Step 1 — MDX03-1의 개념 집합 A</h3>
<p><code>A = { 경험, 기술, 디지털, 사람, 여건, 역량, 자연, 전문지식, 지식, 창의성, 투자, 혁신 }
|A| = 12개</code></p>
<h3>Step 2 — 정답 후보 Frame <strong>13</strong> 개념 집합 B</h3>
<p><img alt="Frame 13" src="../../data/figma_previews/13.png" /></p>
<p>타이틀: <strong>필수조건</strong></p>
<p><code>B = { 기술, 디지털, 사람, 여건, 역량, 자연, 지식, 투자, 필수조건 }
|B| = 9개</code></p>
<h3>Step 3 — 교집합 A ∩ B (공통 개념)</h3>
<table>
<thead>
<tr>
<th>개념</th>
<th>Figma DF</th>
<th>IDF</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>여건</strong></td>
<td>1</td>
<td>3.466</td>
</tr>
<tr>
<td><strong>사람</strong></td>
<td>1</td>
<td>3.466</td>
</tr>
<tr>
<td><strong>지식</strong></td>
<td>1</td>
<td>3.466</td>
</tr>
<tr>
<td><strong>역량</strong></td>
<td>1</td>
<td>3.466</td>
</tr>
<tr>
<td><strong>자연</strong></td>
<td>1</td>
<td>3.466</td>
</tr>
<tr>
<td><strong>투자</strong></td>
<td>2</td>
<td>2.773</td>
</tr>
<tr>
<td><strong>기술</strong></td>
<td>2</td>
<td>2.773</td>
</tr>
<tr>
<td><strong>디지털</strong></td>
<td>5</td>
<td>1.856</td>
</tr>
</tbody>
</table>
<p>공통 8개, IDF 합 = <strong>24.730</strong></p>
<h3>Step 4 — 합집합 A B</h3>
<p><code>A ∪ B = { 경험, 기술, 디지털, 사람, 여건, 역량, 자연, 전문지식, 지식, 창의성, 투자, 필수조건, 혁신 }
|A B| = 13개, IDF 합 = 32.468</code></p>
<h3>Step 5 — 최종 점수</h3>
<p><code>score(MDX=MDX03-1, Frame=13) = 24.730 / 32.468 = **0.762**</code></p>
<h3>(비교) 오답 후보 Frame <strong>15</strong></h3>
<p><img alt="Frame 15" src="../../data/figma_previews/15.png" /></p>
<p>타이틀: <strong>정책목표</strong></p>
<p>개념: <code>{ 고부가가치, 목표, 비용절감, 성장, 실행, 안전, 요건, 정책 }</code></p>
<ul>
<li>공통: [] (0개)</li>
<li>점수: 0.000 / 52.740 = <strong>0.000</strong></li>
</ul>
<p><strong>13가 15를 +0.762 차이로 앞섬</strong> — 13에만 있는 독특한 개념이 점수를 끌어올림</p>
<hr />
<h2>예시: MDX03-2 매칭 (정답 Frame 29)</h2>
<h3>Step 1 — MDX03-2의 개념 집합 A</h3>
<p><code>A = { 2D, 3D, Analogue, BIM, Digital, GIS, Process, Product, Solution, 변화, 성과물, 정보물, 혁신, 협업 }
|A| = 14개</code></p>
<h3>Step 2 — 정답 후보 Frame <strong>29</strong> 개념 집합 B</h3>
<p><img alt="Frame 29" src="../../data/figma_previews/29.png" /></p>
<p>타이틀: <strong>좌측 배너 과정 (Process)의 혁신 우측 배너 결과 (Products)의 혁신</strong></p>
<p><code>B = { Analogue, BIM, Digital, GIS, Process, Product, Solution, 결과, 과정, 성과물, 혁신 }
|B| = 11개</code></p>
<h3>Step 3 — 교집합 A ∩ B (공통 개념)</h3>
<table>
<thead>
<tr>
<th>개념</th>
<th>Figma DF</th>
<th>IDF</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Process</strong></td>
<td>1</td>
<td>3.466</td>
</tr>
<tr>
<td><strong>Product</strong></td>
<td>1</td>
<td>3.466</td>
</tr>
<tr>
<td><strong>Analogue</strong></td>
<td>1</td>
<td>3.466</td>
</tr>
<tr>
<td><strong>Digital</strong></td>
<td>1</td>
<td>3.466</td>
</tr>
<tr>
<td><strong>GIS</strong></td>
<td>2</td>
<td>2.773</td>
</tr>
<tr>
<td><strong>혁신</strong></td>
<td>2</td>
<td>2.773</td>
</tr>
<tr>
<td><strong>성과물</strong></td>
<td>2</td>
<td>2.773</td>
</tr>
<tr>
<td><strong>Solution</strong></td>
<td>4</td>
<td>2.079</td>
</tr>
<tr>
<td><strong>BIM</strong></td>
<td>5</td>
<td>1.856</td>
</tr>
</tbody>
</table>
<p>공통 9개, IDF 합 = <strong>26.116</strong></p>
<h3>Step 4 — 합집합 A B</h3>
<p><code>A B = { 2D, 3D, Analogue, BIM, Digital, GIS, Process, Product, Solution, 결과, 과정, 변화, 성과물, 정보물, 혁신, 협업 }
|A B| = 16개, IDF 합 = 41.479</code></p>
<h3>Step 5 — 최종 점수</h3>
<p><code>score(MDX=MDX03-2, Frame=29) = 26.116 / 41.479 = **0.630**</code></p>
<h3>(비교) 오답 후보 Frame <strong>09</strong></h3>
<p><img alt="Frame 09" src="../../data/figma_previews/09.png" /></p>
<p>타이틀: <strong>시공 전 모델 기반 시공상세 정보물 이용한 시공계획 작성 지원</strong></p>
<p>개념: <code>{ 계획, 도면, 모델, 성과물, 시공, 시뮬레이션, 정보물 }</code></p>
<ul>
<li>공통: ['성과물', '정보물'] (2개)</li>
<li>점수: 6.238 / 49.392 = <strong>0.126</strong></li>
</ul>
<p><strong>29가 09를 +0.503 차이로 앞섬</strong> — 29에만 있는 독특한 개념이 점수를 끌어올림</p>
</body>
</html>