This page is a non-normative architecture map. For contracts, payloads, and lifecycle rules, use docs/overview/SPEC.md as the source of truth. UI behavior and screen inventory live in docs/reference/UI_SPEC.md (hub) and component specs for Twitch Extension, Desktop, and WoW Addon.
Twitch Extension → EBS (MimironsGoldOMatic.Backend.Api / ASP.NET Core) → WPF Desktop (WinAPI / PostMessage) → WoW 3.3.5a Addon (Lua)
Viewers interact through the Twitch Extension and broadcast Twitch chat. The streamer operates through Desktop and the WoW client. The Extension and Desktop do not communicate directly; the EBS is the only integration hub.
The MimironsGoldOMatic.Backend.Api host (with Backend.* libraries) is the EBS. It validates Twitch Extension JWTs, ingests EventSub (channel.chat.message) for !twgold <CharacterName> enrollment, executes Helix actions (including §11 reward-sent chat announcements), and exposes REST APIs for both the Extension (Bearer JWT) and Desktop (X-MGM-ApiKey). MVP deployment scope is single-broadcaster per environment (see docs/overview/SPEC.md).
| Component | Role |
|---|---|
| Twitch Extension | Viewer panel: roulette, pool hints, winner status; calls EBS with Extension JWT. |
| EBS | Pool, roulette, payouts, chat ingestion, persistence (Marten / PostgreSQL). |
| Desktop (WPF) | Polls pending payouts, tails WoWChatLog.txt, injects /run into WoW, calls EBS with API key. |
| WoW addon | Mail UI queue, whispers, [MGM_WHO] / [MGM_ACCEPT:UUID] / [MGM_CONFIRM:UUID] in the chat log. |
| Shared (.NET) | DTOs and validation shared by EBS and Desktop. |
Shared).X-MGM-ApiKey for payout operations and roulette verification calls./run ...) plus a single Logs\WoWChatLog.txt tail for MGM tags.PostMessage primary, SendInput fallback), focus behavior, and /run chunking (<255 characters) must stay aligned with docs/overview/SPEC.md §8–10.docs/overview/SPEC.md §9).