Wizard orchestration (T11): fork-join-pick-configure-finale state machine (LLP 0135)#381
Merged
Merged
Conversation
…hine Land the runInitWizard orchestrator (LLP 0135 #orchestration) and slim hyp init down to entry detection plus a wizard call. Interactive runs front the phases with the returning gate; a failed or abandoned join prints why and re-presents the fork (LLP 0129); non-interactive shapes (--yes, --dry-run, presets, --from-file) short-circuit to pick + finale exactly as before. Also close out the three items the phase modules left open, per the LLP 0136 completion note: - picker manifest entries for @hypaware/openclaw and @hypaware/hermes (settings_file probes; the path probe literal is absolute-only) - managed machines render non-locked picker rows with a "stays on this machine" suffix (LLP 0132 #never-silent) - the team pathway ends with the first-sync privacy narration as the wizard's closing words, after the finale output Deliberate deviation from T11's letter: on the team pathway the finale skips only the daemon install (new skipDaemonInstall flag, distinct from skipDaemon); the restart still runs so the just-written local layer takes effect. LLP 0135/0136 updated in the same commit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
neutral review — PR #381 (T11 wizard orchestration)Verdict: CLEAN. Reviewed the full diff at What I verified
Notes (non-blocking, not defects in this PR)
Held for a maintainer to merge. |
philcunliffe
approved these changes
Jul 23, 2026
philcunliffe
left a comment
Contributor
There was a problem hiding this comment.
Reviewed clean at 4d965c5. Held for maintainer to merge.
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
Lands T11 of the install-experience overhaul plan (LLP 0136): the
runInitWizardorchestrator that composes the already-landed phase modules into the full guided flow, plus the three items the phase modules had left open.src/core/cli/wizard/index.js, LLP 0135 #orchestration): returning gate, then fork -> join -> pick -> configure -> finale -> privacy narration. A failed or abandoned join prints why and re-presents the fork (LLP 0129 #failed-join-returns-to-fork). Non-interactive shapes (--yes,--dry-run, presets,--from-file) short-circuit to pick + finale exactly as before.hyp initslims down to entry detection plus a wizard call (src/core/commands/init.js, -312 lines).@hypaware/openclawand@hypaware/hermes(both use thesettings_fileprobe; thepathprobe literal is absolute-only, which a static manifest cannot express for a home-relative directory).· stays on this machine.One deliberate deviation from T11's letter, documented in the LLP 0136 completion note: on the team pathway the finale skips only the daemon install (new
skipDaemonInstallflag, distinct fromskipDaemon); the restart still runs, because the wizard just wrote a new local layer the daemon must pick up.LLP 0135/0136 updated in the same commit (0136 marked Implemented).
Known issue, out of scope
Real-world testing of this branch on an enrolled machine surfaced #380: on a fully fleet-managed machine the finale installs no skills/agents because
clientsPickedis derived from the locked-filtered source list. That defect predates this branch (shipped with #375 in v1.17.0,pick.jsderivation unchanged here); fixing it is tracked separately so it can be hotfixed independently.Testing
npm test: 2631 pass, 1 skipped, 0 fail (includes newtest/core/cli/wizard/index.test.jsand extended pick/join/compose/init-entry tests).🤖 Generated with Claude Code