- Gap E/F/G evaluated: pass with caveat (G honest partial) - 94/94 tests, Anthropic API 529 mid-session recovery demonstrated - Smoke 3회차 라이브 검증 대기 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.6 KiB
2.6 KiB
smoke3-gap-fix — Evaluation
Verdict: PASS (with documented honest partial on Gap G fallback impl)
Issue #13 / Generator commit b139f2b (+ orchestrator hotkey switch 7db9cd0).
Build & test
| Check | Result |
|---|---|
dotnet build recordingtest.sln |
0 warn / 0 err |
dotnet test --no-build total |
94 pass / 0 fail / 0 skip |
| Player.Tests | 24 pass |
| Recorder.Tests | 26 pass |
| Normalizer.Tests | 16 pass |
| DiffReporter.Tests | 5 pass |
| EgPlugin.Tests | 5 pass |
| Runner.Tests | 6 pass |
| EngineBridge.Tests | 6 pass |
| EngineBridge.IntegrationTests | 6 pass |
Per-gap verdict
| Gap | Code | Tests | Verdict |
|---|---|---|---|
| E — ParseHotkey extraction | ParsedHotkey record + ParseHotkey static in UiaPlayerHost.cs; Hotkey() calls it; named keys (enter/tab/esc/space/back/delete/home/end/pageup/pagedown/arrows/F1-F9) preserved |
8 HotkeyParseTests covering enter, tab, single-char, ctrl+c, ctrl+shift+s, f5, alt+f4, empty |
PASS |
| F — Focus event SUT-pid filter | FocusEventFilter.ShouldAccept (sutPid<=0 → true; candidate<=0 → false; else equality). Program.cs RegisterFocusChangedEvent callback reads el.Properties.ProcessId.ValueOrDefault (try/catch) and gates channel.Writer.TryWrite on ShouldAccept(elPid, sutPid). sutPid captured from app.ProcessId at attach (also in try/catch). |
4 FocusEventFilterTests: same pid, different pid, candidate=0, sutPid=0 permissive |
PASS |
| G — SUT-scoped point fallback | IWindowPointSource (3 methods) + pure WindowPointResolver.Resolve rule (sutPid match/unknown → primary; else SUT-scope fallback; null fallback → primary last resort). FlaUiPointSource in Program.cs uses NativeMethods.WindowFromPoint + GetWindowThreadProcessId, wired into Resolve(RawEvent). GetElementFromSutScope is an honest stub returning null, documented in xmldoc as best-effort pending smoke 3; covered by the "fallback null → primary last resort" test. |
5 WindowPointResolverTests: same pid, different pid → fallback, null pid, zero pid, fallback-null-returns-primary |
PASS (with honest partial) |
Other checks
Thread.Sleep(in PlayerEngine: 0 (not reintroduced)- No writes to
EG-BIM Modeler/ - 77 → 94 (+17) tests claim aligns with actual delta (8+4+5)
- TreatWarningsAsErrors honored (build succeeded with 0 warnings)
Caveats
- Gap G live SUT-scope walker is deferred. The pure resolver rule is fully fake-tested and the partial is documented in code (
FlaUiPointSource.GetElementFromSutScopexmldoc). Acceptable per evaluator rule §"pass-with-caveat".