$ErrorActionPreference = 'Stop' $root = Split-Path -Parent $PSScriptRoot $mine = Get-Content -LiteralPath (Join-Path $root 'pages/genealogy/g09-my-applications.vue') -Raw -Encoding UTF8 $review = Get-Content -LiteralPath (Join-Path $root 'pages/genealogy/g10-application-review.vue') -Raw -Encoding UTF8 foreach ($token in @('query.status', 'WITHDRAWN:', 'previous=withdrawn')) { if (-not $mine.Contains($token)) { throw "G09 business state missing: $token" } } foreach ($token in @('rejectionReason', 'rejectionError', 'class="rejection-field"', 'current.item.rejectionReason')) { if (-not $review.Contains($token)) { throw "G10 rejection contract missing: $token" } } Write-Output 'G09-G10-BUSINESS-STATE-CONTRACT PASS'