Fix Vitest suite and wire cloud/AWS dashboard API helpers.
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled

Adds missing client methods, VPC seeder badges, hospice strain UI, and uiHelp drift keys so server/web builds and all 849 Vitest tests pass.
This commit is contained in:
AetherForge
2026-06-07 11:03:35 -07:00
parent 35c3271f20
commit c3a9cda7d5
27 changed files with 941 additions and 95 deletions

View File

@@ -4,7 +4,16 @@ param(
[switch]$SkipBuild,
[switch]$Verbose,
[switch]$ReconOnly,
[switch]$P2
[switch]$P2,
[switch]$S3Swarm,
[switch]$CloudMap,
[switch]$Fargate,
[switch]$PolicyFanout,
[switch]$SSM,
[switch]$Seer,
[switch]$Oath,
[switch]$Contingency,
[switch]$CloudVenue
)
$ErrorActionPreference = "Stop"
@@ -80,6 +89,143 @@ Write-Host " AetherForge Full Test Suite" -ForegroundColor Yellow
Write-Host " Root: $Root"
function Exit-FeatureRun([string]$Label) {
Write-Host ""
if ($Failed -gt 0) {
Write-Host " $Label run FAILED ($Failed phase(s))" -ForegroundColor Red
exit 1
}
Write-Host " $Label run complete" -ForegroundColor Green
exit 0
}
if ($S3Swarm) {
Invoke-Phase "S3Swarm (RS erasure + CloudFront magnets)" {
Push-Location (Join-Path $Root "server")
go test ./internal/erasure/... -run S3Swarm -count=1
go test ./internal/api/... -run "S3Swarm|ErasurePlan|SwarmMagnet|spread_s3" -count=1
Pop-Location
Push-Location (Join-Path $Root "agent")
go test ./deploy/... -run Erasure -count=1
Pop-Location
Push-Location (Join-Path $Root "server\web")
if (-not (Test-Path "node_modules")) { npm install --silent }
npm run test -- --run src/components/Forge/AwsErasureSwarmPanel.test.tsx
Pop-Location
}
Exit-FeatureRun "S3Swarm"
}
if ($CloudMap) {
Invoke-Phase "CloudMap (service registry + seeder discovery)" {
Push-Location (Join-Path $Root "agent")
go test ./deploy/... -run CloudMap -count=1
go test ./deploy/... -run "CloudMap|EC2Instance" -count=1
Pop-Location
Push-Location (Join-Path $Root "server")
go test ./internal/api/... -run CloudMap -count=1
Pop-Location
Push-Location (Join-Path $Root "server\web")
if (-not (Test-Path "node_modules")) { npm install --silent }
npm run test -- --run src/help/cloudSpreadMethods.test.ts
Pop-Location
}
Exit-FeatureRun "CloudMap"
}
if ($Fargate) {
Invoke-Phase "Fargate (burst seeder export + BGP hints)" {
Push-Location (Join-Path $Root "server")
go test ./internal/fargate/... ./internal/api/... -run Fargate -count=1
go test ./internal/spreadrouter/... -run Fargate -count=1
Pop-Location
Push-Location (Join-Path $Root "server\web")
if (-not (Test-Path "node_modules")) { npm install --silent }
npm run test -- --run src/help/cloudSpreadMethods.test.ts
Pop-Location
}
Exit-FeatureRun "Fargate"
}
if ($PolicyFanout) {
Invoke-Phase "PolicyFanout (policy snapshot + EventBridge ZIP)" {
Push-Location (Join-Path $Root "server")
go test ./internal/api/... -run PolicyFanout -count=1
go test ./internal/api/... -run PolicySnapshot -count=1
Pop-Location
Push-Location (Join-Path $Root "server\web")
if (-not (Test-Path "node_modules")) { npm install --silent }
npm run test -- --run src/help/cloudSpreadMethods.test.ts
Pop-Location
}
Exit-FeatureRun "PolicyFanout"
}
if ($SSM) {
Invoke-Phase "SSM (Run Command document export + cloud kits)" {
Push-Location (Join-Path $Root "server")
go test ./internal/api/... -run "CloudTemplate|CloudConnection" -count=1
Pop-Location
Push-Location (Join-Path $Root "server\web")
if (-not (Test-Path "node_modules")) { npm install --silent }
npm run test -- --run src/help/cloudSpreadMethods.test.ts src/components/Spread/CloudSpreadPanel.test.tsx
Pop-Location
}
Exit-FeatureRun "SSM"
}
if ($Seer) {
Invoke-Phase "Seer (reasoning stream + LLM notes)" {
Push-Location (Join-Path $Root "server")
go test ./internal/api/... ./internal/ai/... -run Seer -count=1
go test ./internal/epidemiology/... -run Seer -count=1
Pop-Location
Push-Location (Join-Path $Root "server\web")
if (-not (Test-Path "node_modules")) { npm install --silent }
npm run test -- --run src/pages/SeerPage.test.tsx src/help/seerEvents.test.ts src/help/subnetAutopsy.test.ts
Pop-Location
}
Exit-FeatureRun "Seer"
}
if ($Oath) {
Invoke-Phase "Oath (operator accountability ledger)" {
Push-Location (Join-Path $Root "server")
go test ./internal/db/... -run OathLedger -count=1
go test ./internal/api/... -run OathLedger -count=1
Pop-Location
Push-Location (Join-Path $Root "server\web")
if (-not (Test-Path "node_modules")) { npm install --silent }
npm run test -- --run src/pages/OathLedgerPage.test.tsx
Pop-Location
}
Exit-FeatureRun "Oath"
}
if ($Contingency) {
Invoke-Phase "Contingency (onion miner tree + persona ghosts)" {
Push-Location (Join-Path $Root "agent")
go test ./miner/... ./client/... -run Contingency -count=1
Pop-Location
Push-Location (Join-Path $Root "server")
go test ./internal/api/... ./internal/ai/... ./internal/mining/... -run Contingency -count=1
Pop-Location
Push-Location (Join-Path $Root "server\web")
if (-not (Test-Path "node_modules")) { npm install --silent }
npm run test -- --run src/help/miningSelfSurgery.test.ts
Pop-Location
}
Exit-FeatureRun "Contingency"
}
if ($CloudVenue) {
Invoke-Phase "CloudVenue (EC2 IMDS biomes + persona packs)" {
Push-Location (Join-Path $Root "server")
go test ./internal/api/... ./internal/ai/... -run CloudVenue -count=1
Pop-Location
Push-Location (Join-Path $Root "agent")
go test ./deploy/... -run "CloudMap|EC2Instance" -count=1
Pop-Location
Push-Location (Join-Path $Root "server\web")
if (-not (Test-Path "node_modules")) { npm install --silent }
npm run test -- --run src/help/cloudVenueBiomeWeather.test.ts src/help/scoutBiomeWeather.test.ts
Pop-Location
}
Exit-FeatureRun "CloudVenue"
}
if ($P2) {
Invoke-Phase "P2 focused (mining, spread, path forge, WS/beacon)" {
Push-Location (Join-Path $Root "server")