Quality Gates

These gates are the evidence checklist for AI-assisted Windows App SDK work. Passing them matters more than a polished completion message.

Required Gates

GateRequired evidence
Source freshnessDownloads, quickstart, packaging, and Store docs were checked during the work session
BuildDebug and Release builds pass on Windows
LaunchApp launches from development path and packaged path when packaging is in scope
Non-XAML testsPure logic tests pass through dotnet test or Visual Studio Test Explorer
WinUI testsXAML/UI-thread tests use WinUI Unit Test App and [UITestMethod], or the gap is documented
PackagingMSIX, external-location, or unpackaged artifact path is explicitly chosen and produced or blocked
RuntimeFramework-dependent runtime installation or self-contained output is verified
SigningStore signing, Azure Artifact Signing, OV/EV, or self-signed test path is documented
StoreWACK or Store package validation is run for Store-bound work, or marked as Windows-machine/manual blocker
AccessibilityAccessibility Insights or UI Automation smoke is run for meaningful UI changes
WebView2Evergreen or fixed runtime decision is documented when WebView2 is used
NotificationsNon-elevated notification test and activation handling are verified when notifications are used
Stale UWP reviewNo Windows.UI.Xaml, Window.Current, CoreDispatcher, ApplicationView, or UWP background task pattern remains
SecretsNo certificates, .pfx, passwords, Partner Center credentials, or signing secrets are committed

Definition Of Done Note

Every implementation handoff should include:

Source freshness: <docs checked and dates>
Build: <commands and results>
Launch: <dev launch and packaged launch result>
Tests: <non-XAML and WinUI/XAML test results>
Package: <artifact path or blocker>
Runtime: <framework-dependent or self-contained proof>
Signing: <path and current status>
Store/WACK: <result or manual blocker>
Accessibility/UI automation: <result or blocker>
Stale UWP review: <result>
Known gaps: <what was not tested>

Store-Bound Minimum

For a Store MSIX release dry run, prove at least:

AreaProof
IdentityPackage identity and manifest match the intended app
Package.msix, .msixbundle, or .msixupload artifact exists as required by current docs
CertificationWACK run is clean or failures are triaged
ListingScreenshots, logos, privacy policy, age ratings, and certification notes are ready
Restricted capabilitiesAny restricted capability has a justification and review plan
SigningStore MSIX re-signing path is understood; no local CA certificate is assumed necessary

What Does Not Count

  • A Linux-only documentation pass.
  • A Visual Studio debug run as release evidence.
  • A Store account as proof that a specific app can pass certification.
  • A packaged build with no launch test.
  • A notification API call tested while the app is elevated.
  • A WebView2 page that renders once without runtime distribution and navigation policy decisions.
  • A self-contained claim without checking Windows App SDK and .NET self-contained requirements.