install.sh: cold-start fixes (non-systemd/headless) + GET STARTED walkthrough#132
Merged
Conversation
added 2 commits
July 16, 2026 16:35
Served copy of the installer fix. On hosts with systemctl but no booted systemd (containers/WSL/CI), 'sudo systemctl daemon-reload' aborted the script under set -e before the skill-injection first-pass; headless installs also died at the /dev/tty email prompt. - Gate systemd on [ -d /run/systemd/system ]; guard daemon-reload with || true; add a non-systemd fallthrough printing 'pilotctl daemon start'. - Prompt for email only when a TTY is present; otherwise continue and let the daemon auto-synthesize a <fingerprint>@nodes.pilotprotocol.network identity. Document PILOT_EMAIL for headless installs. - Correct per-tool skill paths (skills/pilotctl), fix PicoClaw/OpenClaw heartbeat files, and list Goose.
…ough The post-install hint was four lines (PATH, daemon start, info, ping) and never showed an agent the two things it actually needs on a fresh node: the send-with --wait / read-newest-inbox idiom, and the three ways to get value (pilot-director for live data, list-agents for known specialists, appstore for local capabilities), plus the peers/trust half. Replace it with a numbered GET STARTED block covering all of it, with copy-paste examples. Ends by pointing at the full operator manual (the injected SKILL.md).
Contributor
|
🚀 Preview deployed to Cloudflare Pages
|
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.
Agent-onboarding installer fixes + GET STARTED walkthrough
Served-copy (
public/install.sh) counterpart to the pilotprotocol PR (on thefeat/next-steps-self-healbranch, PR #399). Fixes the cold-start installfailures found in the shakedown study.
Installer robustness
[ -d /run/systemd/system ]), notjust the
systemctlbinary, and guarddaemon-reloadwith|| true. Oncontainers/WSL/CI,
daemon-reloadreturned non-zero andset -eaborted theinstall ~200 lines before the skill-injection first pass — so injection fired
in 0/12 shakedown runs. Adds a non-systemd fallthrough printing the portable
pilotctl daemon start.daemon auto-synthesize a
<fingerprint>@nodes.pilotprotocol.networkidentity.Headless installs previously died
rc=2atread … < /dev/tty. DocumentsPILOT_EMAIL.skills/pilotctl, the real entrypoint), fixPicoClaw/OpenClaw heartbeat filenames, list Goose.
GET STARTED walkthrough
send-
--wait/read-newest-inbox idiom, pilot-director, list-agents, app store,and peers/trust — with copy-paste examples.
Verification:
shellcheckclean; Docker e2e on the failing profile(systemctl present, systemd not PID 1, passwordless sudo) — old installer aborts
rc=2with no injection; this one completesrc=0, injection fires, daemonregisters,
handshake list-agents+ query return live data.Note: the terse-vs-served copies have drifted (this file is 831→954 lines; the
live
pilotprotocol.network/install.shcurrently matches thereleaserepo copyat 1000→1123 lines). Both are updated identically.