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
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:
@@ -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` | 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) |
|
||||
| **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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user