$ErrorActionPreference = 'Stop' $root = Split-Path $PSScriptRoot -Parent $component = [System.IO.File]::ReadAllText((Join-Path $root 'components/tree/TreeMemberForm.vue'), [System.Text.Encoding]::UTF8) foreach ($expected in @( 'grid-template-columns: auto minmax(0, 1fr)', 'min-height: min(640px, calc((100vw - 16px) * 1.48))', 'background: url("/static/assets/modules/tree/transparent/t01-state-panel.png")', 'background: url("/static/assets/modules/tree/transparent/t07-search-input-frame.png")' )) { if (-not $component.Contains($expected)) { throw "TreeMemberForm document-flow contract missing: $expected" } } if ($component -match '(?m)\bposition\s*:') { throw 'TreeMemberForm must not retain positioning in ordinary forms, fields, actions, or result content' } Write-Output 'TREE-MEMBER-FORM-DOCUMENT-FLOW-CONTRACT PASS'