$ErrorActionPreference = 'Stop' $root = Split-Path -Parent $PSScriptRoot $pages = Get-Content -LiteralPath (Join-Path $root 'pages.json') -Raw -Encoding utf8 | ConvertFrom-Json $a03File = Join-Path $root 'pages/auth/a03-mobile-verify.vue' if ($pages.pages.path -contains 'pages/auth/a03-mobile-verify') { throw 'A-03 must not remain in pages.json' } if (Test-Path -LiteralPath $a03File) { throw 'A-03 page file must be deleted' } if ($pages.pages.Count -ne 52) { throw "Expected 52 active routes after the approved page-state merges and A06 archive, found $($pages.pages.Count)." } Write-Output 'A03-ROUTE-REMOVAL-CONTRACT PASS'