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:
29
docs/history/2026-04-07_이슈10-engine-bridge-v2-evaluator.md
Normal file
29
docs/history/2026-04-07_이슈10-engine-bridge-v2-evaluator.md
Normal 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`
|
||||
@@ -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단계(정리)로 진행 — 현재 상태 총괄 리포트.
|
||||
Reference in New Issue
Block a user