Orchestrate engine-bridge v2 + smoke test guide (#10)

- Plugin masquerade pass (11 tests), drop-in via HmEG.PluginLoader (no MEF)
- Smoke test guide covers recorder/player/runner/plugin end-to-end manual steps
- PROGRESS.md Done rows, PLAN.md pivoted to v3 reflection mapping

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
minsung
2026-04-07 16:12:59 +09:00
parent b1c2383a54
commit a0609f8f0e
6 changed files with 345 additions and 7 deletions

View File

@@ -0,0 +1,29 @@
# 이슈 #10 — engine-bridge v2 Evaluator
- 일자: 2026-04-07
- 역할: Evaluator (독립 평가)
- 대상 commit: b1c2383
- 소요 시간: 약 6분 (build 7s + tests 1s + 리뷰)
- Context 사용량 힌트: 약 35K 토큰 (대부분 source/test/contract 읽기)
- 결과: **PASS**
## 검증 절차
1. `dotnet build recordingtest.sln` -> 0 warn / 0 err
2. `dotnet test tests/Recordingtest.EngineBridge.IntegrationTests` -> 6/6
3. `dotnet test tests/Recordingtest.EgPlugin.Tests` -> 5/5
4. csproj 리뷰: net8.0-windows, HintPath `..\..\EG-BIM Modeler\`, `<Private>false</Private>`
5. `HmEgBridgePlugin.cs` 리뷰: EditorPlugin 상속, ctor에서 listener boot, Dispose 정리
6. `StateRouter.cs` 리뷰: 5 엔드포인트 + 404 + try/catch error payload
7. `PortResolver.cs` 리뷰: env `RECORDINGTEST_BRIDGE_PORT`, default 38080, 범위 검증
8. `HmEgHttpSnapshot.cs` 리뷰: 2초 timeout, ctor override, EngineBridgeException 변환
9. 테스트 진정성: FakeBridgeServer 기반 round-trip + 순수 로직 plugin tests
10. deploy 가이드 7개 섹션 + SUT 폴더 쓰기 경고 확인
11. grep `EG-BIM Modeler` in src/Recordingtest.EgPlugin -> csproj HintPath만, 쓰기 없음
12. `Editor03.PluginInterface.dll` / `HmEG.dll``src/`에 복사되지 않음 확인
## 참고
- ReflectionEngineStateProvider skeleton은 contract에서 명시적으로 허용 → PASS with note
- StateRouter가 provider 예외 시 HTTP 200 + `{"error":...}` 페이로드 반환 (contract L22 부합)
- 산출물: `docs/contracts/engine-bridge-v2.evaluation.md`

View File

@@ -0,0 +1,38 @@
# 2026-04-07 이슈 #10 — engine-bridge v2 오케스트레이션 + smoke test 가이드
- **이슈**: #10 (engine-bridge v2)
- **소요 시간**: ~15분 (Generator/Evaluator 백그라운드 + 가이드 문서 작성)
- **Context 사용량**: ~290k tokens (orchestrator 누적)
## 사이클
1. Planner 역할로 `docs/contracts/engine-bridge-v2.md` 작성
2. 이슈 #10 생성
3. Generator 백그라운드 → commit `b1c2383`
4. Evaluator 백그라운드 → **pass** (12/12 DoD)
5. `docs/guides/smoke-test.md` 작성 (2단계)
6. PROGRESS/PLAN 갱신, 이슈 #10 close
## 주요 발견 (Editor03 discovery)
- **SUT가 MEF가 아닌 자체 PluginLoader 사용** — `[Export]` 속성 불필요, 단순 drop-in
- `HmEG.IPlugin` 실제 계약, `EditorPlugin` 추상 베이스
- `EgBoxPlugin` 샘플로 확인됨 → 배포 난이도 낮음
- MetadataLoadContext에 `WindowsDesktop.App.Ref` 팩 필요
## 산출물
- `src/Recordingtest.EgPlugin/` — 플러그인 dll (HttpListener + 5 endpoints)
- `src/Recordingtest.EngineBridge.Client/` — HmEgHttpSnapshot HTTP 클라이언트
- `tests/Recordingtest.EngineBridge.IntegrationTests/` — 6 tests (fake HttpListener)
- `tests/Recordingtest.EgPlugin.Tests/` — 5 tests (pure logic)
- `docs/guides/engine-bridge-deploy.md` — 플러그인 배포
- `docs/guides/smoke-test.md` — 5-모듈 E2E 수동 검증 절차 (Step 1~4)
## 비용
Generator ~93k + Evaluator ~38k + Orchestrator ~20k = **~151k**
## 다음 단계
3단계(정리)로 진행 — 현재 상태 총괄 리포트.