feat(onboard): streamline setup with agent-assisted configuration#93265
feat(onboard): streamline setup with agent-assisted configuration#93265fuller-stack-dev wants to merge 230 commits into
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 15, 2026, 10:25 PM ET / July 16, 2026, 02:25 UTC. Summary PR surface: Source +104, Tests +508, Docs +2. Total +614 across 12 files. Reproducibility: not applicable. the remaining patch adds a new CLI metadata contract and changes trusted metadata consumption rather than fixing a reported failing current-main behavior. Review metrics: 3 noteworthy metrics.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Risk before merge
Maintainer options:
Next step before merge
Maintainer decision needed
Security Review detailsBest possible solution: Rebase the focused remainder, preserve the stricter current-install-path rule and negative trust tests, then land only after plugin and channel owners approve repository metadata inheritance for verified installed official channels. Do we have a high-confidence way to reproduce the issue? Not applicable: the remaining patch adds a new CLI metadata contract and changes trusted metadata consumption rather than fixing a reported failing current-main behavior. Is this the best way to solve the issue? Yes, subject to owner approval: one stricter shared predicate consuming repository-owned metadata is safer and more maintainable than plugin-supplied URLs or duplicated provenance logic. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 08ecf63bb608. Label changesLabel justifications:
Evidence reviewedPR surface: Source +104, Tests +508, Docs +2. Total +614 across 12 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (27 earlier review cycles; latest 8 shown)
|
…nance-d9e94e9b # Conflicts: # docs/.generated/plugin-sdk-api-baseline.sha256 # scripts/plugin-sdk-surface-report.mjs # src/tui/tui-command-handlers.ts # src/wizard/setup.migration-import.test.ts
…nance-d9e94e9b # Conflicts: # docs/.generated/plugin-sdk-api-baseline.sha256 # scripts/plugin-sdk-surface-report.mjs
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
Went ahead and mapped this PR out for you 😌 Maintainer? Turn off weaves from non-maintainers → |
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. Re-review progress:
|
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: feat(onboard): streamline setup with agent-assisted configuration This is item 1/1 in the current shard. Shard 0/1. This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
Summary
openclawand canonicalopenclaw onboardchoose the shortest runnable local path, while keepingopenclaw setupas the documented onboarding alias.--skip-ui.Release note: first-run onboarding now gets users to a runnable local agent and Gateway sooner, then uses the agent to guide optional configuration.
Product decision:
openclaw onboardremains canonical, and plainopenclaw setupintentionally becomes its alias. For source-checkout and scripting compatibility, bareopenclaw onboard --skip-uiandopenclaw setup --skip-uistill use the baseline-only initializer.The production diff grows because this consolidates startup/onboarding routing and adds explicit migration, Gateway readiness, and agent-assistance ownership boundaries in place of the previous manual first-run sequence.
Verification
node scripts/run-vitest.mjs src/commands/setup.test.ts src/cli/program/register.setup.test.ts src/cli/program/register.onboard.test.ts(23 tests)node scripts/run-vitest.mjs src/commands/setup.test.ts src/cli/program/register.setup.test.ts src/cli/program/register.onboard.test.ts src/wizard/setup.test.ts src/wizard/setup.assisted.test.ts src/wizard/setup.gateway-config.test.ts src/commands/onboard-non-interactive.gateway.test.ts src/cli/run-main.exit.test.ts src/cli/run-main.test.ts(255 tests)node scripts/run-vitest.mjs src/cli/run-main.exit.test.ts src/wizard/setup.assisted.test.ts(128 tests)oxlinton repaired setup/onboard sources and testsoxfmt --checkon all repaired sources, tests, and docscheck:changed, full build,docs:check-mdx, anddocs:check-links: run_8268c7ee7470checkReadinessrequire proven provider authnode scripts/run-tsgo.mjs -p tsconfig.plugin-sdk.dts.json --declaration truepnpm plugin-sdk:api:checkReal behavior proof
Behavior addressed: Fresh OpenClaw users reach a runnable local agent and Gateway through migration-first or minimal model setup, then continue optional setup with the agent.
Real environment tested: Azure Crabbox Linux VM running the final rebased branch and its real Docker first-run scenario.
Exact steps or command run after this patch:
pnpm crabbox:run -- --provider azure --target linux --slug onboarding-pr-final --timing-json --stop-after always --shell -- "pnpm test:docker:crestodian-first-run"Evidence after fix: Crabbox run and logs
Observed result after fix: The image built, the empty-home first-run diagnostic completed, Crestodian first-run Docker E2E reported
passed, and the run exited 0.Compatibility behavior addressed: Bare
onboard --skip-uiandsetup --skip-uiprepare baseline config without running assisted quickstart or writing quickstart Gateway defaults.Exact compatibility commands run after this patch: With isolated
HOME,OPENCLAW_STATE_DIR, andOPENCLAW_CONFIG_PATH, runnode scripts/run-node.mjs onboard --skip-uiandnode scripts/run-node.mjs setup --skip-ui.Observed compatibility result after fix: Both source CLI commands exited 0 and wrote only
agents.defaults.workspaceplusgateway.mode=local; no Gateway auth, port, bind, Tailscale, or Control UI defaults were present.What was not tested: Live third-party channel/provider credentials and persistent daemon installation on every supported operating system.