#Requires -Version 7.0 $ErrorActionPreference='Stop' $records=@(foreach($name in @('build.ps1','check.ps1','validate-scripts.ps1')){ $path=Join-Path $PSScriptRoot $name;$tokens=$null;$errors=$null [void][Management.Automation.Language.Parser]::ParseFile($path,[ref]$tokens,[ref]$errors) if(@($errors).Count){throw ($errors|Out-String)} [ordered]@{path=$name;bytes=(Get-Item -LiteralPath $path).Length;sha256=(Get-FileHash -LiteralPath $path -Algorithm SHA256).Hash.ToLowerInvariant()} }) [ordered]@{status='parsed';scripts=$records;compiler_executed=$false;oracle_executed=$false;scope='PowerShell syntax only. Rust self-checks prepared but unexecuted.'}|ConvertTo-Json -Depth 5