$ErrorActionPreference = 'Stop' $root = Split-Path -Parent $PSScriptRoot $m01 = Get-Content -LiteralPath (Join-Path $root 'pages/profile/m01-profile-home.vue') -Raw -Encoding utf8 foreach ($required in @( '/static/assets/foundation/transparent/brand-seal.png', 'font-size:\s*25rpx', 'font-size:\s*23rpx', 'font-size:\s*21rpx' )) { if ($m01 -notmatch $required) { throw "M01 visual contract missing: $required" } } if ($m01.Contains('/static/assets/modules/genealogy/transparent/current-seal-frame.png')) { throw 'M01 must not retain the empty red avatar frame' } Write-Output 'M series all-states visual contract passed.'