$ErrorActionPreference = 'Stop' $root = Split-Path -Parent $PSScriptRoot $list = Get-Content -LiteralPath (Join-Path $root 'pages/records/r01-people-list.vue') -Raw -Encoding UTF8 $detail = Get-Content -LiteralPath (Join-Path $root 'pages/records/r02-person-detail.vue') -Raw -Encoding UTF8 foreach ($token in @('/pages/records/r02-person-detail?mode=create', 'showCreateNotice')) { if (-not $list.Contains($token)) { throw "R01 create flow missing: $token" } } foreach ($token in @('isCreateMode', 'query.mode === "create"', '/pages/records/r08-growth-journal?personId=', '/pages/records/r09-life-events?personId=', 'auto-height')) { if (-not $detail.Contains($token)) { throw "R02 person flow missing: $token" } } Write-Output 'R01-R02-PERSON-FLOW-CONTRACT PASS'