# TeamsISO Manual Test Playbook ## Phase A — Engine foundation (CI) - [ ] `dotnet build TeamsISO.Linux.slnf` succeeds with zero warnings. - [ ] `dotnet test TeamsISO.Linux.slnf --filter "Category!=ndi&requires!=ndi"` passes. - [ ] CI on Forgejo Actions is green at HEAD. - [ ] Code coverage on `TeamsISO.Engine` is ≥80%. ## First Windows validation (after Phase B-2 ships) Prerequisite: Windows 10/11 + NDI Runtime installed (https://ndi.video/tools/) + .NET 8 SDK. - [ ] Clone the repo on the Windows machine: `git clone https://forge.wilddragon.net/zgaetano/teamsiso.git`. - [ ] `dotnet build TeamsISO.sln --configuration Release` succeeds. - [ ] `dotnet test --filter "requires=ndi"` passes against an NDI Test Pattern source (start the test pattern from the NDI Tools menu before running). - [ ] Run `dotnet run --project src/TeamsISO.Console` — confirm the engine starts, version probe matches, and Ctrl+C exits cleanly. ## Live-meeting validation (after Phase C ships) - [ ] Configure a Teams meeting with 3+ participants, with NDI broadcast enabled in Teams. - [ ] `dotnet run --project src/TeamsISO.App` launches the WPF UI without an NDI runtime warning banner. - [ ] Participants list populates within ~2 seconds of opening the app. - [ ] Participant rename mid-meeting transfers the row's identity (the rename heuristic). - [ ] Toggle ISO on for one participant. Confirm the named output appears in vMix / OBS / Studio Monitor on the same LAN. - [ ] Change global framerate to 59.94 fps; click Apply. New ISOs honor the new rate. - [ ] Disconnect one participant; confirm their ISO transitions to the no-signal slate within 2.5 s. - [ ] Run for 30 minutes; check FramesDropped / FramesDuplicated counters in the engine log are reasonable. ## Pre-release checklist - [ ] Legal review of NDI SDK License v5 complete (per spec §7.3). - [ ] Code-signing decision confirmed (yes/no for v1.0). - [ ] WiX installer produces a working MSI on a clean Windows machine.