diff options
| author | tanaka takashi <isazaka@gmail.com> | 2026-08-13 19:15:01 +0900 |
|---|---|---|
| committer | tanaka takashi <isazaka@gmail.com> | 2026-08-13 19:15:01 +0900 |
| commit | 36ae1a4cba791ec633a81b38b1d8345af8487276 (patch) | |
| tree | 91cef96efac7eb8c2754658ce5af5181b1a15898 /scripts/Verify-PublishedHttp.ps1 | |
| parent | 76fdcb43585a4c4d288c1026d318a0ddbe3e26ab (diff) | |
feat!: unify sandbox configuration and permission application
Replace the split executable approval and sandbox resolution workflows with schema_version 2 and a YAML-driven execution.entries model. Resolve workspace, mount, executable, runtime, network, and resource settings into one config-scoped Applied Configuration snapshot protected by a user-only DACL and written with atomic replacement.
Reduce the public CLI to implicit server startup, show, and apply. Remove serve/check, executable and sandbox subcommands, and configuration override flags including --config, --lang, --transport, --path, and --runtime-root. Add migration diagnostics for every removed schema and command surface, and keep server preflight mandatory for both stdio and HTTP.
Update effective-policy compilation to validate the applied fingerprint, resolved paths, and executable hashes before startup. Preserve fail-closed behavior while allowing execution entries and runtime roots inside a development workspace to inherit that workspace capability without creating an impossible narrower ACL boundary.
Rewrite the README around the consolidated permission matrix and document configuration, application, store location, startup, transport-specific elevation, Python 3.14, PowerShell, and cmd usage. Align specifications, design, implementation plan, traceability, audit report, localization, publish scripts, and operational verification with the breaking schema.
Verification: Release build completed with zero warnings and errors; Agent.Core.Tests 104/104 and Agent.Planner.Tests 10/10 passed; administrator Windows Security/Recovery 56/56 and README operational 19/19 passed with no skips; published HTTP MCP completed a cmd/curl/venv-Python task with network deny and zero ACL, WFP, journal, backup, or process residue.
Diffstat (limited to 'scripts/Verify-PublishedHttp.ps1')
| -rw-r--r-- | scripts/Verify-PublishedHttp.ps1 | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/scripts/Verify-PublishedHttp.ps1 b/scripts/Verify-PublishedHttp.ps1 index a02a28b..7dd5fe2 100644 --- a/scripts/Verify-PublishedHttp.ps1 +++ b/scripts/Verify-PublishedHttp.ps1 @@ -29,6 +29,8 @@ $runRoot = Join-Path $testRootPath ('agent-mcp-http-cmd-' + [Guid]::NewGuid().To $runRootForward = $runRoot.Replace('\', '/') $endpoint = 'http://127.0.0.1:8080/mcp' $log = Join-Path $evidence 'verification.log' +$serverOut = Join-Path $evidence 'server.stdout.log' +$serverErr = Join-Path $evidence 'server.stderr.log' $server = $null New-Item -ItemType Directory -Force -Path $evidence | Out-Null New-Item -ItemType Directory -Path $runRoot | Out-Null @@ -47,14 +49,17 @@ run-probe.cmdは次を順番に実行し、どれかが失敗したら非0で終 "@ try { - & $agent check --config $config --lang ja 2>&1 | Tee-Object -FilePath $log - if ($LASTEXITCODE -ne 0) { throw "Published check failed with exit code $LASTEXITCODE." } + & $agent show $config 2>&1 | Tee-Object -FilePath $log + if ($LASTEXITCODE -ne 0) { throw "Published configuration show failed with exit code $LASTEXITCODE." } - $server = Start-Process -FilePath $agent -ArgumentList @('serve','--config',$config,'--lang','ja','--transport','http') ` - -WorkingDirectory $bundle -WindowStyle Hidden -PassThru + $server = Start-Process -FilePath $agent -ArgumentList @($config) -WorkingDirectory $bundle ` + -WindowStyle Hidden -RedirectStandardOutput $serverOut -RedirectStandardError $serverErr -PassThru $ready = $false for ($attempt = 0; $attempt -lt 100; $attempt++) { - if ($server.HasExited) { throw "Published server exited before readiness: $($server.ExitCode)" } + if ($server.HasExited) { + $diagnostic = if (Test-Path -LiteralPath $serverErr) { Get-Content -LiteralPath $serverErr -Raw } else { '' } + throw "Published server exited before readiness: $($server.ExitCode) $diagnostic" + } try { $response = Invoke-WebRequest -Uri $endpoint -Method Get -SkipHttpErrorCheck if ($response.StatusCode -eq 405) { $ready = $true; break } |
