fix: skip non-essential health checks for signup and show clear errors on outages#413
fix: skip non-essential health checks for signup and show clear errors on outages#413
Conversation
…tages Two fixes for health check behavior: 1. When --signup is used, only PostHog and LLM Gateway are required (not Anthropic, npm, GitHub Releases, etc.) since provisioning doesn't use those services. Added SIGNUP_WIZARD_READINESS_CONFIG and wired it through the agent-runner, TUI gate, and HealthCheckScreen. 2. When health checks block the run, the wizard now properly waits for user acknowledgment in the TUI (via the health-check gate in bin.ts) and exits with a clear error message in the agent-runner fallback path (via wizardAbort with blocking service names). The LoggingUI also now lists each blocking service with its status. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
🧙 Wizard CIRun the Wizard CI and test your changes against wizard-workbench example apps by replying with a GitHub comment using one of the following commands: Test all apps:
Test all apps in a directory:
Test an individual app:
Show more apps
Results will be posted here when complete. |
gewenyu99
left a comment
There was a problem hiding this comment.
I think with this, we lose the service warnings. DEFAULT_WIZARD_READINESS_CONFIG show a blocking service warning that users can dismiss.
Only when when we try downloading from githubReleases and that fails, do we show a modal that you just press any key to exit. When this is down, I think it'll block sign up anyway.
I think this change makes sense, but maybe the sequencing is off here. Maybe it's:
- user runs with --signup
- we administer a new account with the email
- we then run github release download for the skills menu json + health checks
- we show a warning like before.
And where we can be different is maybe offer the option to follow the traditional onboarding if say, anthropic is down, but everything else is fine.
What do you think?
For signup, the reduced SIGNUP_WIZARD_READINESS_CONFIG block list meant that services like Anthropic being degraded would silently skip past the health check screen. Now any service that would have blocked under the default config is shown as a dismissable warning modal so the user can see what's degraded and decide whether to continue. Hard blocks (posthog, llm-gateway) still render red; warnings render yellow with a softer message.
|
Went with a smaller fix than resequencing in
Anthropic degraded during signup now = yellow modal, user sees what's affected, dismisses, continues. No silent skip. Skipped the resequencing for this PR, bigger restructure, can be a follow-up. Fallback-to-traditional-onboarding feels like a separate product call. |
gewenyu99
left a comment
There was a problem hiding this comment.
Ran this through a proxy, the blocking behavior works as described. This isn't based on top of the branch that adds --email yet, right? Don't see email anywhere in bin.ts so couldn't test the full flow
Problem
Two issues with health check behavior:
--signupblocked by irrelevant services - Provisioning only makes HTTP calls to PostHog, but the wizard blocks when Anthropic is degraded. This means users can't sign up during Anthropic outages even though provisioning doesn't use Anthropic.Silent exit on outages - When health checks block the run, the TUI flashes and exits with just "posthog-integration exited." No explanation of what's wrong or which service is down.
Changes
Reduced health checks for signup:
SIGNUP_WIZARD_READINESS_CONFIGthat only blocks onposthogOverallandllmGatewaysession.signupis trueClear error messaging:
health-checkgate before proceedingwizardAbortwith blocking service namesAll 82 store tests and 37 health check tests pass.