Skip to content

Commit 2aeb81c

Browse files
abrichrclaude
andauthored
feat(benchmarks): add pool viewer and auto-shutdown (#20)
* feat(benchmarks): add HTML viewer for WAA pool benchmark results Add pool_viewer.py module and CLI command for generating interactive HTML viewers from WAA parallel benchmark runs. Features: - Parse waa-pool-*.log files to extract task results - Summary stats (total tasks, success rate, avg time per task) - Per-worker breakdown showing tasks per worker - Task list with pass/fail status and step counts - Domain breakdown with per-domain success rates - Interactive filters for domain and status Usage: uv run python -m openadapt_ml.benchmarks.cli view-pool uv run python -m openadapt_ml.benchmarks.cli view-pool --run-name pool_run_20260204 uv run python -m openadapt_ml.benchmarks.cli view-pool --no-open Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * docs(claude): document VM auto-shutdown and orphan prevention Add documentation for the auto-shutdown feature: - Explain auto-shutdown policy (default 4 hours) - Document --auto-shutdown-hours flag for pool-create and create - Document -y flag for pool-cleanup (skip confirmation) - Document test VM cleanup via try/finally Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * docs(readme): update CLI commands to use pool-* workflow Update documentation to reflect the current working CLI: - Replace outdated `vm monitor` with `pool-status/pool-vnc/pool-logs` - Update single VM workflow to use `pool-create --workers 1` - Add analyze_pool_logs.py script for parsing benchmark results Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(cli): prevent orphaned test VMs during pool-create Remove --no-wait flag from test VM creation so the VM fully exists before we attempt to delete it. Previously, the test VM would still be provisioning when delete was called, causing delete to fail silently and leave orphaned VMs consuming quota. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(cli): use waa-auto image in pool-wait, wait for apt lock Critical fixes for end-to-end pool workflow: 1. Use waa-auto:latest in pool-wait (not windowsarena/winarena) - pool-create builds waa-auto with modern dockurr/windows v5.14 - pool-wait was incorrectly using vanilla windowsarena/winarena (v0.00) - v0.00 doesn't support VERSION=11e auto-download - This caused "ISO file not found" errors 2. Wait for apt lock before Docker install - Fresh Azure VMs run unattended-upgrades - apt-get install failed with "unable to locate package" - Added wait loop for /var/lib/apt/lists/lock Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * fix(pool): match working waa command parameters exactly - Use vanilla windowsarena/winarena:latest with --entrypoint /bin/bash - Add --prepare-image false --start-client false flags (skips ISO download) - Use 172.30.0.2 for probe and emulator_ip (matching working waa command) The pool-wait command was broken because it used waa-auto:latest without the proper entrypoint and flags. The working 'waa' command (line 5404-5454) uses these exact parameters successfully. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 84fb35a commit 2aeb81c

13 files changed

Lines changed: 3643 additions & 1363 deletions

.gitignore

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ wheels/
1111
.venv
1212
local_context_openadapt_ml_internal.md
1313

14-
# Environment variables
14+
# Environment variables and secrets
1515
.env
16+
config.json
17+
vendor/WindowsAgentArena/config.json
1618

1719
# Ephemeral synthetic assets (frames, debug sessions, etc.)
1820
synthetic/
@@ -72,3 +74,10 @@ segmentation_output/
7274
# Internal documentation (not for public repo)
7375
docs/internal/
7476
docs/private/
77+
78+
# Trash folder for session cruft
79+
_trash/
80+
81+
# Auto-generated files
82+
RESOURCES.md
83+
azure_logs/

0 commit comments

Comments
 (0)