$ErrorActionPreference = 'Stop' $root = Split-Path -Parent $PSScriptRoot $search = Get-Content -LiteralPath (Join-Path $root 'pages/genealogy/g06-search-genealogies.vue') -Raw -Encoding UTF8 $join = Get-Content -LiteralPath (Join-Path $root 'pages/genealogy/g08-join-application.vue') -Raw -Encoding UTF8 foreach ($token in @('genealogyName=${encodeURIComponent(item.name)}', 'previous=${item.relation}')) { if (-not $search.Contains($token)) { throw "G06 context propagation missing: $token" } } foreach ($token in @('previousRelation', 'query.genealogyName', 'previousNotice', 'decodeURIComponent')) { if (-not $join.Contains($token)) { throw "G08 context consumption missing: $token" } } Write-Output 'G06-G08-CONTEXT-CONTRACT PASS'