$ErrorActionPreference = 'Stop' $root = Split-Path -Parent $PSScriptRoot $detail = Get-Content -LiteralPath (Join-Path $root 'pages/family/f08-album-detail.vue') -Raw -Encoding UTF8 $upload = Get-Content -LiteralPath (Join-Path $root 'pages/family/f09-media-upload.vue') -Raw -Encoding UTF8 foreach ($token in @('const albumId = ref', 'toUpload', '/pages/family/f09-media-upload?albumId=${albumId.value}')) { if (-not $detail.Contains($token)) { throw "F08 album context missing: $token" } } foreach ($token in @('const albumId = ref', 'query.albumId', '/pages/family/f08-album-detail?albumId=${albumId.value}')) { if (-not $upload.Contains($token)) { throw "F09 album context missing: $token" } } Write-Output 'F08-F09-ALBUM-CONTEXT-CONTRACT PASS'