$ErrorActionPreference = 'Stop' $root = Split-Path $PSScriptRoot -Parent $page = [System.IO.File]::ReadAllText((Join-Path $root 'pages/family/f02-publish-feed.vue'), [System.Text.Encoding]::UTF8) foreach ($expected in @( '@include adaptive-family-content;', '@include adaptive-family-field;' )) { if (-not $page.Contains($expected)) { throw "F02 document-flow contract missing: $expected" } } if ($page -notmatch '(?s)]*auto-height') { throw 'F02 publish textarea must grow from its content' } $style = [regex]::Match($page, '(?s)]*>(.*?)').Groups[1].Value $panelStyle = [regex]::Match($style, '(?ms)^\s*\.publish-panel\s*\{(?.*?)\}').Groups['body'].Value if ($panelStyle -match '\bmin-height\s*:') { throw 'F02 publish panel height must be driven by its current content' } if ($page -match ']*\s)?class="publish-panel__skin"|publish-field[^>]*>\s*