Silent participant for the Phase 3 Bot type. PushAsync swallows; FrameEmitted never fires; RunAsync completes immediately. ViewerId is the existing FakeOpponentViewerId const for consistency with scripted lifecycle builders. Three tests lock the no-op contract.
1.6 KiB
1.6 KiB