fix: quiet systemd probe on non-systemd hosts; onboarding skill accuracy#6
Merged
Conversation
- supervisor/systemd: stop dumping a full error/stack trace via logger.warn when systemd simply isn't available (no systemctl on PATH, no user session bus — sandboxes/containers/CI/non-systemd distros). Detect that case and log at debug; keep warn only for genuinely unexpected failures. `dial doctor` and `dial wait-for` no longer print a scary systemctl trace on such machines. - SKILL.md: onboarding flow now shows the required `--inbound-instruction` (new accounts) and notes the listen-service supervisor prerequisite (launchd/systemd), with the graceful `dial wait-for` API-polling fallback. Co-Authored-By: Claude Opus 4.8 <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.
Fixes onboarding friction hit in a sandbox (no systemd user session).
Changes
src/lib/supervisor/systemd.ts— the systemctl/loginctl probes used tologger.warn({ err }, …)on every failure, dumping a full error object + stack trace to stderr whenever systemd isn't usable (nosystemctlon PATH, no user session bus — sandboxes/containers/CI/non-systemd distros). AddedisSystemdUnavailable(); that expected case now logs atdebug, andwarnis reserved for genuinely unexpected failures.dial doctoranddial wait-forno longer print a scary systemctl trace on those machines (the status correctly falls through to "not running" →dial wait-forlong-polls the API).skills/dial-cli/SKILL.md— onboarding flow now shows the required--inbound-instructionfor new accounts, and notes thedial listen installsupervisor prerequisite (launchd on macOS, systemd--useron Linux) plus the graceful degradation (inbound still works viadial wait-for).0.13.0→0.13.1(CI gate).Verification
npm run buildclean;npm test— 51 pass / 0 fail (skill tarball repacked viabuild:skill).🤖 Generated with Claude Code