summaryrefslogtreecommitdiff
path: root/scripts/Run-Final-ElevatedVerification.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/Run-Final-ElevatedVerification.ps1')
-rw-r--r--scripts/Run-Final-ElevatedVerification.ps159
1 files changed, 59 insertions, 0 deletions
diff --git a/scripts/Run-Final-ElevatedVerification.ps1 b/scripts/Run-Final-ElevatedVerification.ps1
new file mode 100644
index 0000000..9039c77
--- /dev/null
+++ b/scripts/Run-Final-ElevatedVerification.ps1
@@ -0,0 +1,59 @@
+param(
+ [string]$EvidenceRoot = 'artifacts\evidence\final-elevated'
+)
+
+$ErrorActionPreference = 'Continue'
+$OutputEncoding = [Text.UTF8Encoding]::new($false)
+[Console]::OutputEncoding = $OutputEncoding
+$repository = (Resolve-Path (Join-Path $PSScriptRoot '..')).Path
+$evidence = [IO.Path]::GetFullPath((Join-Path $repository $EvidenceRoot))
+if (-not $evidence.StartsWith($repository + [IO.Path]::DirectorySeparatorChar, [StringComparison]::OrdinalIgnoreCase)) {
+ throw 'Evidence output must remain inside the repository.'
+}
+New-Item -ItemType Directory -Force -Path $evidence | Out-Null
+$failed = $false
+
+function Invoke-VerificationStep {
+ param([string]$Name, [scriptblock]$Action)
+ $path = Join-Path $evidence "$Name.log"
+ "START $Name $(Get-Date -Format o)" | Tee-Object -FilePath $path
+ $exitCode = 0
+ try {
+ & $Action *>&1 | Tee-Object -FilePath $path -Append
+ if ($LASTEXITCODE) { $exitCode = $LASTEXITCODE }
+ }
+ catch {
+ $_ | Out-String | Tee-Object -FilePath $path -Append
+ $exitCode = 1
+ }
+ "END $Name exit=$exitCode $(Get-Date -Format o)" | Tee-Object -FilePath $path -Append
+ if ($exitCode -ne 0) { $script:failed = $true }
+}
+
+$bundle = Join-Path $repository 'build\Release\publish\agent-sandbox-mcp-1.0.0-win-x64'
+$windowsTests = Join-Path $repository 'build\Release\Agent.Windows.Tests\net10.0-windows10.0.26100.0\Agent.Windows.Tests.exe'
+$coreTests = Join-Path $repository 'build\Release\Agent.Core.Tests\net10.0-windows10.0.26100.0\Agent.Core.Tests.exe'
+$plannerTests = Join-Path $repository 'build\Release\Agent.Planner.Tests\net10.0\Agent.Planner.Tests.exe'
+
+Invoke-VerificationStep 'bundle-check' {
+ & (Join-Path $bundle 'agent-mcp.exe') check --config (Join-Path $bundle 'agent.yaml') --lang en
+}
+Invoke-VerificationStep 'windows-security-tests' { & $windowsTests }
+Invoke-VerificationStep 'core-unit-integration-tests' { & $coreTests }
+Invoke-VerificationStep 'planner-unit-tests' { & $plannerTests }
+Invoke-VerificationStep 'e2e-01-stdio' {
+ & (Join-Path $PSScriptRoot 'Operational-E2E.ps1') -Transport stdio
+}
+Invoke-VerificationStep 'e2e-02-http-ipv4' {
+ & (Join-Path $PSScriptRoot 'Operational-E2E.ps1') -Transport http -HttpHost 127.0.0.1
+}
+Invoke-VerificationStep 'e2e-02-http-ipv6' {
+ & (Join-Path $PSScriptRoot 'Operational-E2E.ps1') -Transport http -HttpHost ::1
+}
+
+if ($failed) {
+ Write-Error "Final elevated verification FAILED. Evidence: $evidence"
+ exit 1
+}
+Write-Output "Final elevated verification PASS. Evidence: $evidence"
+exit 0