- Static HmEG catalog via MetadataLoadContext, 13 assemblies, 11k+ candidates - IEngineSnapshot API draft + probe design doc (plugin masquerade recommended) - All DoD pass on first iteration Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.1 KiB
2.1 KiB
이슈 #9 — engine-bridge PoC v1 Evaluator
- 날짜: 2026-04-07
- 이슈: #9
- 역할: Evaluator (Generator와 독립, 엄격 채점)
- 대상 커밋:
2a4f1d3 - 소요 시간: 약 10분
- Context 사용량: 약 55k / 1M 토큰 (추정)
수행
docs/contracts/engine-bridge.md계약 재확인IEngineSnapshot.cs,HmEgSnapshot.cs,MetadataLoader.cs,CandidateFinder.cs,CatalogWriter.cs,Program.cs,EngineBridgeTests.cs,docs/engine-bridge-probe-design.md전수 정독dotnet build recordingtest.sln— 0 경고 0 오류dotnet test tests/Recordingtest.EngineBridge.Tests— 6 통과 / 0 실패- 금지 패턴 grep (
Activator.CreateInstance,Assembly.Load(non-path,RunClassConstructor, P/Invoke) — 전부 0건 - SUT 쓰기 검사 (
File.Write*,StreamWriter,"EG-BIM Modeler"리터럴) — EngineBridge src 내 0건 - 프로브 2회 실행 (
/tmp/engine-catalog-eval,/tmp/engine-catalog-eval2) — exit 0,diff -q양 쌍 모두 비어있음 docs/engine-catalog/hmeg-candidates.json검증 — 4 카테고리 모두 present,HmEGAppManager8회 등장- 평가 리포트
docs/contracts/engine-bridge.evaluation.md작성 - 본 히스토리 파일 작성
결과
VERDICT: PASS — 모든 DoD 항목 통과.
- 13 어셈블리 로드: HmEG(2285) / HmGeometry(532) / HmGeometry.V2(1669) / HmTriangle(113) / EditorCore(416) / Editor01..07 + Editor.AI01.HttpConnector
- 카테고리 분포: select=726, camera=4226, scene=3081, render=3602 (총 11,635)
- 결정성 확인: 두 번 실행 byte-identical
- Probe 설계 문서: 5개 옵션 비교 + 렌더 신호 지연 표 + 명시적 권고 (plugin masquerade)
산출물
docs/contracts/engine-bridge.evaluation.mddocs/history/2026-04-07_이슈9-engine-bridge-evaluator.md
비고
- Generator 코드 및
PROGRESS.md는 수정하지 않음. MetadataLoadContext는 타입 이니셜라이저를 실행하지 않는다는 CLR 보장 덕에 "정적 전용" 요건이 구조적으로 만족됨. 테스트MetadataLoader_LoadsHmegAssembly_WithoutExecution가 관찰 가능한 증거.