installer-setup WS-K: hal0 doctor --verify report card (checks + live URLs + doc links), auto-run at setup end#1145
Merged
Merged
Conversation
Add a reusable `hal0 doctor --verify` verb that composes the existing health seams into one pass/warn/fail report card, then prints the live URLs + doc/Discord/first-run-guide links. Auto-runs at guided-setup end. - doctor_verify.py: pure per-check classifiers over the live API payloads (/api/health, /api/config/urls, /api/health/system slot dots, /api/capabilities, /api/memory/engine, /api/services/health for OWUI + Hermes). No check is re-implemented — every row reuses an existing seam. - Criticals (red, only ones that flip the verdict): no reachable URL, zero healthy runner slots. Everything else is warn — non-blocking. - doctor_commands.py: wire `--verify` into the doctor callback; exits 2 only on a critical, 0 on ok/warn. - setup_ui.py: single localized best-effort auto-run at the very end of run_interactive (after _apply) — a failure here never aborts setup. Closes #1114 Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
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.
What
Adds a reusable
hal0 doctor --verifyverb — the WS-K post-setup report card. It composes the already-existing health seams into one visual pass/warn/fail summary, then prints the live URLs the operator should open next plus the canonical help links. The guided Stage-2 setup auto-runs it at the very end; it's also runnable standalone anytime.No check is re-implemented. Every row is sourced from a running-hal0 API endpoint that already aggregates the underlying probe:
GET /api/healthGET /api/config/urlshostGET /api/health/systemSlotManager.list()errored dotsGET /api/capabilitiesCapabilityOrchestrator.get_stateGET /api/memory/engine/version+/v1/.../banksGET /api/services/health/healthprobeGET /api/services/healthsystemctl is-activehal0-agentCriticals vs warns
critical..localthat won't resolve, no capability slots. A warn never fails the install.hal0 doctor --verifyexits2only on a critical (for scripting),0on ok/warn.Auto-run hook
Single localized call at the very end of
run_interactiveinsrc/hal0/cli/setup_ui.py(step 14, after_apply(plan))._step_gen/ the gen path are untouched (owned by #1113).Sample report card (API down → critical)
On a healthy box the card is green (
hal0 is ready ✔), lists the computed Dashboard / Dashboard-IP / Chat (OWUI) / ComfyUI URLs, and every check reads PASS.Tests
tests/cli/test_doctor_verify.py— per-check classifiers, criticals-vs-warns roll-up, render (URLs + links present), tolerant orchestration, and the--verifyCLI wiring.tests/cli/test_setup_ui.py— asserts the report auto-runs after a Yes-apply and is skipped on a REVIEW-gate abort.tests/cli/test_doctor.pydirect-call sites updated for the newverifyparam.DoD:
ruff format/ruff check/ruff format --checkclean; fullpytestgreen except the 12 pre-existing box-noise failures (hermes venv, comfyui phase4, proxmox test_pve, container spec dispatch, config-url-proxy, models-preview, settings-store), confirmed present without this diff viagit stash.Closes #1114
🤖 Generated with Claude Code