$ErrorActionPreference = 'Stop' $root = Split-Path $PSScriptRoot -Parent $page = [System.IO.File]::ReadAllText((Join-Path $root 'pages/tree/t01-tree-overview.vue'), [System.Text.Encoding]::UTF8) foreach ($selector in @('.tree-state-card','.member-sheet__copy','.sheet-actions')) { $escaped = [regex]::Escape($selector) if ($page -match "(?s)$escaped\s*\{[^}]*position\s*:\s*(absolute|fixed|sticky)\s*;") { throw "T01 normal sheet/state content uses positioning: $selector" } } if (-not $page.Contains('margin-top: auto')) { throw 'T01 fixed member sheet actions must use flex flow' } Write-Output 'T01-SHEET-STATE-DOCUMENT-FLOW-CONTRACT PASS'