Verification & Quality Gates

Because Windows shell styles render within closed desktop processes, quality assurance is divided into two distinct gates: an automated Static Gate and a human Live Checklist.


1. Automated Static Validation Gate

Run the automated test runner to validate all style files:

# Run validation across all projects
pwsh -NoProfile -File tools/Test-WindhawkStyles.ps1

# Validate a specific styler file
pwsh -NoProfile -File tools/Test-WindhawkStyles.ps1 -Path projects/<project>/windows-11-taskbar-styler.yml

Static Gate Error Codes:

Code Severity Description
E001 Error Tab characters detected (must use 2 spaces).
E002 Error Non-CRLF line endings detected.
E003 Error Undefined token referenced (e.g. $UndefinedToken).
E004 Error Malformed constant declaration (e.g. - $Token=...).
E005 Error Empty styles block under a target selector.
E006 Error Unsupported top-level key for that specific mod.
E007 Error Hardcoded personal path or username (C:\Users\...).
E008 Error Duplicate constant declaration name.
W101 Warning Duplicate target selector within a single file.

The static validation gate must pass with 0 errors and 0 warnings before any work is considered complete.


2. Desktop Live Verification Checklist

Once static validation passes, the style file is imported into Windhawk for live desktop verification:

  • Light Mode Contrast: Text remains fully legible; cards do not wash out.
  • Dark Mode Contrast: Text remains crisp; borders and specular rims are clearly defined.
  • Interactive Hover States: Buttons and tiles smoothly respond to pointer hover and press.
  • Dynamic Windows Accent: Accent colors adapt immediately when changed in Windows Settings.
  • Redraw & Animation: Surfaces open and close smoothly without flicker or black artifacts.

3. Milestone-Based Releases

Progress in this repository is tracked via Milestones (e.g., M.01, M.02b, M.03):

  • Releases use milestones as release tags and versions rather than arbitrary semantic versioning numbers.
  • Releases carry no attached assets (no zips, binaries, or installers). The release represents the verified repository tree and commit tag itself.
  • When all quality gates are satisfied, a milestone checkpoint release can be tagged for clean version control.