chore: v0.3.3 readme and demo seeder - #132
Merged
Merged
Conversation
…seed script
- Bump version to 0.3.3 in pyproject.toml and __init__.py
- README "What the Dashboard Shows": rewrite to cover groups (clusters,
bubbles, multi-select, lasso), Activity log, inline group editor, and
the auto-login token injection
- Add DELETE /api/machines/{id} — idempotent removal of a machine plus its
snapshots and queued commands. Useful for retiring decommissioned hosts
and for cleanup scripts
- Add scripts/seed_demo_fleet.py — POSTs synthetic reports for a 16-machine
realistic fleet (H100/A100/L40S/A10G/RTX 4090/3090/3080/5090/L4) so the
grouping/multi-select/topology UX can be exercised without real GPUs.
Stable uuid5 ids per hostname so re-runs update rather than duplicate
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Two fixes for scripts/seed_demo_fleet.py: - Each check is now a complete CheckResult with component, detected, path, metadata, issues, recommendations — and uses the success/warning/error/ not_found status vocabulary instead of pass/fail. The dashboard's DiagnosticCard reads result.issues.length directly, so omitting the field made MachineDetail crash with a render error and show a blank page when clicking on any seeded node. Real env-doctor reports always populate these arrays; the seeder now matches. - Add Connection: close header to POST/DELETE so urllib and uvicorn's Windows ProactorEventLoop agree on socket teardown — silences the benign WinError 10054 / ConnectionResetError tracebacks the dashboard was printing on every seeded request. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
pyproject.toml,__init__.py).multi-select / lasso on Topology, group bubbles, the Activity log, inline group editor, and the auto-login token
injection.
DELETE /api/machines/{id}— idempotent removal of a machine plus its snapshots and queued commands. Useful forretiring decommissioned hosts and for cleanup scripts. Returns 204 even if the machine is already gone.
scripts/seed_demo_fleet.py— POSTs synthetic check reports for a 16-machine realistic fleet (H100 / A100 / L40S/ A10G / RTX 4090 / 3090 / 3080 / 5090 / L4) so the grouping, multi-select, and Activity workflows can be exercised
without real GPUs. Stable
uuid5ids per hostname so re-runs update rather than duplicate.Bug fixes
DiagnosticCardreadsresult.issues.lengthandresult.recommendations.lengthdirectly. The first version of the seeder omitted those fields, so React threw and thepage rendered blank for any seeded host. Each check is now a complete
CheckResult(component,detected,path,metadata,issues,recommendations) using the realsuccess / warning / error / not_foundstatus vocabulary.WinError 10054on every seeded request. urllib's eager socket close conflicted with uvicorn's WindowsProactorEventLoop. AddedConnection: closeto the seeder's POST/DELETE so teardown is clean — no more benignConnectionResetErrortracebacks in the dashboard logs.Files changed
pyproject.toml,src/env_doctor/__init__.py— version 0.3.2 → 0.3.3src/env_doctor/server/routes.py— newDELETE /api/machines/{id}(+deleteSQLAlchemy import)README.md— rewritten dashboard features section + auto-login notescripts/seed_demo_fleet.py— new (intentionally not referenced from any docs)Test plan
pip install -e .and restartenv-doctor dashboard.python scripts/seed_demo_fleet.py— expect 16[OK ] HTTP 200lines and noWinError 10054traces in thedashboard log.
research-rtx5090-1) — MachineDetail should render with theBlackwell sm_120 issue and the
pip install nightly cu126recommendation.python scripts/seed_demo_fleet.py --reset— expect each line[OK]; subsequentGET /api/machinesshould dropthe seeded entries.
--resetimmediately — should still succeed (DELETE is idempotent).