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

@@ -1,6 +1,6 @@
# AetherForge Test Suite
**Current counts (2026-06-07):** Go server **912** `Test*` · Go agent **644** `Test*` · Vitest **835** tests in **95** files · Playwright **26** tests in **8** spec files. Refresh: `go test ./... -list .` (server/agent), `npm run test -- --run` (Vitest), `npx playwright test --list` (E2E). Full suite: `test.bat` → `scripts/test-suite.ps1`.
**Current counts (2026-06-07):** Go server **939** `Test*` · Go agent **655** `Test*` · Vitest **847** tests in **109** files · Playwright **26** tests in **9** spec files. Refresh: `go test ./... -list .` (server/agent), `npm run test -- --run` (Vitest), `npx playwright test --list` (E2E). Full suite: `test.bat` `scripts/test-suite.ps1`.
## Master validation (operator commands)
@@ -11,12 +11,26 @@ After parallel agent landings, run from repo root:
| Gate | Command | Phases |
|------|---------|--------|
| **Full gate** | `.\scripts\test-suite.ps1` | 1–8 (Go server, Go agent, fusion, Vitest, builds, Playwright on `:18989`) |
| **Quick verify** | `.\scripts\test-suite.ps1 -SkipE2E` | 1–7b without Playwright — default post-landing smoke |
| **Fast slice** | `.\scripts\test-suite.ps1 -SkipE2E -SkipBuild` | 1–4 only (Go + Vitest) |
| **Full gate** | `.\scripts\test-suite.ps1` | 18 (Go server, Go agent, fusion, Vitest, builds, Playwright on `:18989`) |
| **Quick verify** | `.\scripts\test-suite.ps1 -SkipE2E` | 17b without Playwright default post-landing smoke |
| **Fast slice** | `.\scripts\test-suite.ps1 -SkipE2E -SkipBuild` | 14 only (Go + Vitest) |
| **P2 focused** | `.\scripts\test-suite.ps1 -P2` | Mining/spread/path-forge/WS subset + Vitest; add phase 8 manually for onion + discover E2E |
| **Fleet recon** | `.\scripts\test-suite.ps1 -ReconOnly` | Vuln/CVE, cred graph, triple-onion gates, Path Tracer discover, recon Vitest |
Feature slices (single-feature regression after parallel agent landings; each exits after its phase):
| Feature | Command | Covers |
|---------|---------|--------|
| **S3Swarm** | `.\scripts\test-suite.ps1 -S3Swarm` | RS 4+2 upload mocks, deploy-plan magnets, Forge erasure panel Vitest |
| **CloudMap** | `.\scripts\test-suite.ps1 -CloudMap` | Agent registry fetch, EC2 IMDS meta, server deploy-plan hooks, cloud method catalog |
| **Fargate** | `.\scripts\test-suite.ps1 -Fargate` | Burst ZIP export, campaign Seer sync, spread-router prefer-seeder hint |
| **PolicyFanout** | `.\scripts\test-suite.ps1 -PolicyFanout` | Public policy snapshot + EventBridge fan-out ZIP export |
| **SSM** | `.\scripts\test-suite.ps1 -SSM` | Cloud template export + connection test API, SSM document row in cloud hub Vitest |
| **Seer** | `.\scripts\test-suite.ps1 -Seer` | Seer stream API, LLM note bridge, Seer page + event merge Vitest |
| **Oath** | `.\scripts\test-suite.ps1 -Oath` | SQLite oath ledger + API + `/oath` page Vitest |
| **Contingency** | `.\scripts\test-suite.ps1 -Contingency` | Agent contingency tree, server auth push + Seer onion logs, mining self-surgery help |
| **CloudVenue** | `.\scripts\test-suite.ps1 -CloudVenue` | EC2 biome inference, venue policy push, dashboard weather merge Vitest |
Count refresh (update this doc when totals drift):
```powershell
@@ -47,6 +61,15 @@ Or with PowerShell directly:
.\scripts\test-suite.ps1 -SkipE2E -SkipBuild
.\scripts\test-suite.ps1 -ReconOnly
.\scripts\test-suite.ps1 -P2
.\scripts\test-suite.ps1 -S3Swarm
.\scripts\test-suite.ps1 -CloudMap
.\scripts\test-suite.ps1 -Fargate
.\scripts\test-suite.ps1 -PolicyFanout
.\scripts\test-suite.ps1 -SSM
.\scripts\test-suite.ps1 -Seer
.\scripts\test-suite.ps1 -Oath
.\scripts\test-suite.ps1 -Contingency
.\scripts\test-suite.ps1 -CloudVenue
```
**Portable USB:** `pack-usb.bat` from repo root → copy `usb\` to a drive → `LAUNCH.bat` (opens `http://localhost:8989/`; `/agents` redirects to `/crucible` in the SPA).
@@ -74,6 +97,14 @@ Windows dashboard only; no in-process cloudflared. Genealogy fields are **teleme
| **WSUS CAB/partial mimic** | Forge `WSUSFormatMimic`; staging wrap/unwrap in `wsus_cache_peer_staging.go` | `go test ./deploy/... -run FormatMimic -count=1`; `go test ./internal/api/... -run WSUSFormat -count=1` |
| **Spread immunity / subnet pause** | `server/internal/api/spread_immunity.go` | `go test ./internal/api/... -run SpreadImmunity -count=1` |
| **Fleet pressure telemetry** | Agent `client/fleet_pressure.go` (`seed_pressure`, `hashrate_pressure`, `emberwake_heat`) | `go test ./client/... -run FleetPressure -count=1`; Vitest `wsStatsCoalesce.test.ts` |
| **S3 erasure swarm** | Server `internal/erasure/s3_swarm.go`; deploy plans upload RS shards + CloudFront magnets when `AF_AWS_*` set; Forge `AwsErasureSwarmPanel` | `.\scripts\test-suite.ps1 -S3Swarm` |
| **Cloud Map seeder registry** | Agent `deploy/cloud_map.go`; EC2 IMDS `cloud_instance_meta.go`; Emberwake cloud-map ZIP | `.\scripts\test-suite.ps1 -CloudMap` |
| **Fargate burst seeder** | Server `internal/fargate/` + spread-kit export; BGP `PreferFargateSeeder` when campaign active | `.\scripts\test-suite.ps1 -Fargate` |
| **Policy snapshot fan-out** | Public `policy-snapshot/{token}` + EventBridge/Lambda ZIP for degraded agents | `.\scripts\test-suite.ps1 -PolicyFanout` |
| **SSM document lane** | Emberwake SSM panel + cloud hub `ssm-document` method; export-only (no SendCommand) | `.\scripts\test-suite.ps1 -SSM` |
| **The Seer** | SQLite seer notes/events; `/seer` stream; court/surgical replay emits | `.\scripts\test-suite.ps1 -Seer` |
| **Cloud venue biomes** | EC2 IMDS tags → batch/spot/gpu biomes; persona packs on auth; dashboard weather | `.\scripts\test-suite.ps1 -CloudVenue` |
| **Onion contingency miner** | Agent `ContingencyTreeRunner`; server auth `contingency_policy` when AI control on | `.\scripts\test-suite.ps1 -Contingency` |
Full gate: `.\scripts\test-suite.ps1` (phases 1ââ¬â€œ8). P2-focused slice: `.\scripts\test-suite.ps1 -P2` then phase 8 for Playwright onion + discover→spread stub.