Skip to content

feat(crestodian): guide providerless model setup#101887

Merged
fuller-stack-dev merged 11 commits into
openclaw:mainfrom
fuller-stack-dev:codex/crestodian-provider-onboarding
Jul 8, 2026
Merged

feat(crestodian): guide providerless model setup#101887
fuller-stack-dev merged 11 commits into
openclaw:mainfrom
fuller-stack-dev:codex/crestodian-provider-onboarding

Conversation

@fuller-stack-dev

Copy link
Copy Markdown
Member

Summary

  • prompt providerless first-run users to configure a model provider after Crestodian finishes the basic workspace and Gateway setup
  • reuse the normal onboarding provider/auth and default-model steps, including masked credential prompts
  • support local TUI handoff/resume, gateway-hosted wizard replies, agent-tool directives, and safe rescue-mode refusal
  • preserve concurrent config edits while committing model setup and record the result in the Crestodian audit log
  • document deterministic mode as an explicit fallback when provider setup is declined or cancelled

What Problem This Solves

On a fresh VPS with no API keys and no authenticated Claude, Codex, or Gemini CLI, Crestodian could complete the basic setup but leave the default model unset. The Gateway was healthy, but the normal agent still could not answer, and the user was dropped into deterministic mode without a guided path to add inference access.

After this change, Crestodian explains the missing provider and asks whether to open the existing onboarding model-provider flow. The user can decline and keep deterministic commands available, or run configure model provider later.

Evidence

  • 9 focused test files passed across 5 Vitest shards: 103 tests total
  • targeted oxfmt completed on all 19 changed files
  • pnpm docs:list
  • git diff --check
  • Codex autoreview completed cleanly with no accepted/actionable findings
  • final rebase onto current upstream/main had no path overlap; git range-diff confirmed the reviewed patch was unchanged

Real behavior proof

Behavior addressed: Providerless Crestodian onboarding now offers the existing masked model-provider and default-model setup instead of ending at an unusable normal agent.

Real environment tested: Local source checkout on Node.js v24.14.0 using the real Crestodian parser, operation execution, TUI handoff loop, gateway-hosted wizard bridge, config transform, and audit boundaries with controlled provider prompts.

Exact steps or command run after this patch: node scripts/run-vitest.mjs src/agents/tools/crestodian-tool.test.ts src/commands/configure.wizard.test.ts src/crestodian/chat-engine.hosted-runtime.test.ts src/crestodian/chat-engine.test.ts src/crestodian/model-setup.test.ts src/crestodian/onboarding-welcome.test.ts src/crestodian/operations.test.ts src/crestodian/rescue-message.test.ts src/crestodian/tui-backend.test.ts

Evidence after fix: All 9 files passed, covering 103 tests in 5 routed Vitest shards.

Observed result after fix: Providerless setup arms a model-setup follow-up; approval opens masked setup locally or hosts sensitive steps in gateway chat; decline/cancel keeps deterministic mode available; hosted wizard exits become errors instead of terminating the Gateway.

What was not tested: A complete fresh-VPS session with a real provider credential and live model API call.

@openclaw-barnacle openclaw-barnacle Bot added docs Improvements or additions to documentation commands Command implementations agents Agent runtime and tooling size: L maintainer Maintainer-authored PR labels Jul 7, 2026
@clawsweeper

clawsweeper Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed July 7, 2026, 8:41 PM ET / 00:41 UTC.

Summary
this PR adds a Crestodian model-provider setup handoff for providerless installs, reusing the existing onboarding model/auth wizard across chat, TUI, agent-tool, rescue refusal, tests, and docs.

PR surface: Source +281, Tests +502, Docs +8. Total +791 across 19 files.

Reproducibility: yes. from source: current main leaves providerless setup with no default model and no guided provider setup follow-up; no complete fresh-VPS credential session was run during this review.

Review metrics: 1 noteworthy metric.

  • Interactive setup command surface: 1 added. configure_model_provider / configure model provider adds a user-visible Crestodian handoff into auth-provider and default-model setup.

Stored data model
Persistent data-model change detected: migration/backfill/repair: src/crestodian/model-setup.ts, migration/backfill/repair: src/crestodian/operations.ts. Confirm migration or upgrade compatibility proof before merge.

Merge readiness
Overall: 🐚 platinum hermit
Proof: 🐚 platinum hermit
Patch quality: 🦞 diamond lobster
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Rank-up moves:

  • [P2] Add a redacted live fresh-provider setup transcript only if maintainers want runtime credential proof before merging this entry point.

Risk before merge

  • [P1] Merging adds a new Crestodian entry point into provider credential/default-model setup; focused tests and existing wizard reuse prove the shape, but a complete fresh-provider credential session was not claimed.

Maintainer options:

  1. Accept Scoped Auth Handoff (recommended)
    Merge after maintainer approval if focused tests plus reuse of the existing masked onboarding wizard are enough for this providerless setup entry point.
  2. Add Live Credential Proof
    Require a redacted fresh-provider setup transcript or artifact showing the credential/default-model path before merge.
  3. Pause For Onboarding Consolidation
    Close or pause if maintainers want providerless model setup to land only as part of a larger onboarding flow.

Next step before merge

  • [P2] The remaining action is maintainer acceptance of a protected auth-provider setup UX change; no narrow ClawSweeper repair is indicated.

Maintainer decision needed

  • Question: Should OpenClaw land this scoped providerless Crestodian model-provider handoff now, require live fresh-provider proof first, or fold it into broader onboarding work?
  • Rationale: The patch changes a user-facing setup/auth-provider path under a maintainer label; automation can verify code shape but should not choose the permanent onboarding product boundary or live-proof threshold.
  • Likely owner: steipete — steipete is assigned on the PR and has the strongest project/setup-config ownership signal in the inspected history.
  • Options:
    • Merge Scoped Handoff (recommended): Accept this PR after maintainer review because it reuses the existing masked onboarding wizard and leaves the broader installer/gateway-auth scope to merged fix(installer): complete first-run onboarding #101901.
    • Require Live Provider Proof: Ask for a redacted fresh CLI or gateway provider setup transcript before landing the new credential setup entry point.
    • Fold Into Broader Onboarding: Pause or close this branch if providerless model setup should be owned by a larger onboarding redesign.

Security
Cleared: No concrete security or supply-chain regression was found; the diff changes no dependencies or workflows and keeps credential input on existing masked wizard paths with remote rescue refusal.

Review details

Best possible solution:

Land this scoped handoff if maintainers accept the setup UX, keeping credential collection on the existing masked onboarding wizard and separate from #101901's installer/gateway-auth work.

Do we have a high-confidence way to reproduce the issue?

Yes from source: current main leaves providerless setup with no default model and no guided provider setup follow-up; no complete fresh-VPS credential session was run during this review.

Is this the best way to solve the issue?

Yes, if maintainers want this behavior: the PR reuses runSetupModelAuthStep and existing config commit helpers instead of creating a parallel credential flow, while the GUI structured crestodian.setup.activate path remains the live-tested alternative.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against c96c60d22d01.

Label changes

Label justifications:

  • P2: This is a bounded onboarding improvement for providerless Crestodian setup, not a current emergency or broad runtime outage.
  • merge-risk: 🚨 auth-provider: The PR adds a new Crestodian path into model-provider credential/default-model setup, and focused tests do not fully prove a real fresh-provider credential session.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🐚 platinum hermit and patch quality is 🦞 diamond lobster.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Not applicable: The external-contributor proof gate is not applicable because this is a maintainer-labeled member PR; the body includes focused test proof but no full fresh-provider credential run.
Evidence reviewed

PR surface:

Source +281, Tests +502, Docs +8. Total +791 across 19 files.

View PR surface stats
Area Files Added Removed Net
Source 10 347 66 +281
Tests 8 517 15 +502
Docs 1 10 2 +8
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 19 874 83 +791

Acceptance criteria:

  • [P1] Review exact-head CI for 96122b3.
  • [P1] Optionally require a redacted live provider setup transcript if maintainers want runtime credential proof.

What I checked:

Likely related people:

  • steipete: The live PR is assigned to steipete, CONTRIBUTING.md lists Peter as project lead, and history shows repeated configure/onboarding config work in the relevant setup surfaces. (role: assigned reviewer and setup/config area owner; confidence: high; commits: e7d33b4870f7, a403e611c7e2, 47216702f4f7; files: src/commands/configure.wizard.ts, src/commands/onboard.ts)
  • Vincent Koc: Current-main blame for the central Crestodian operations and shared model-auth setup code points to the recent internal-symbol localization refactor. (role: recent area contributor; confidence: medium; commits: b88f80940add, c96c60d22d01; files: src/crestodian/operations.ts, src/wizard/setup.model-auth.ts, src/gateway/server-methods/crestodian.ts)
  • Omar Shahine: Recent history touched Crestodian chat and setup shared surfaces immediately before this PR's model-provider handoff work. (role: recent adjacent contributor; confidence: medium; commits: 91a0ebbce63f; files: src/crestodian/chat-engine.ts, src/wizard/setup.ts)
  • fuller-stack-dev: Beyond authoring this branch, fuller-stack-dev authored the merged adjacent fix(installer): complete first-run onboarding #101901 first-run onboarding fix that the discussion separates from this providerless model setup scope. (role: recent first-run onboarding contributor; confidence: medium; commits: 2fbd4cdcbaec; files: scripts/install.sh, test/scripts/install-sh.test.ts, docs/install/installer.md)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

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
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.
Review history (7 earlier review cycles)
  • reviewed 2026-07-07T21:57:23.098Z sha 2520eda :: needs changes before merge. :: [P2] Rename the loop message variable
  • reviewed 2026-07-07T22:06:39.395Z sha 2520eda :: needs changes before merge. :: [P2] Rename the loop message variable
  • reviewed 2026-07-07T23:08:35.195Z sha 2520eda :: needs changes before merge. :: [P2] Rename the loop message variable
  • reviewed 2026-07-07T23:57:18.260Z sha a143ea3 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-08T00:08:38.844Z sha 10f5faf :: needs maintainer review before merge. :: none
  • reviewed 2026-07-08T00:21:35.162Z sha cc6f5f7 :: needs maintainer review before merge. :: none
  • reviewed 2026-07-08T00:31:28.003Z sha 96122b3 :: needs maintainer review before merge. :: none

@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. P2 Normal backlog priority with limited blast radius. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. merge-risk: 🚨 auth-provider 🚨 May break OAuth, tokens, provider routing, model choice, or credentials. labels Jul 7, 2026
@fuller-stack-dev

Copy link
Copy Markdown
Member Author

Closing this because it covered the wrong scope. The requested fresh-install onboarding and gateway-auth fix is now tracked in #101901.

@fuller-stack-dev

Copy link
Copy Markdown
Member Author

Reopening this as the separate providerless-model onboarding change. #101887 prompts users into model-provider setup when Crestodian detects no usable AI access; #101901 covers fresh installer onboarding, gateway configuration, and gateway authentication.

@clawsweeper clawsweeper Bot removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. merge-risk: 🚨 compatibility 🚨 May break existing users, config, migrations, defaults, or upgrade paths. merge-risk: 🚨 auth-provider 🚨 May break OAuth, tokens, provider routing, model choice, or credentials. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels Jul 7, 2026
@clawsweeper clawsweeper Bot added the rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. label Jul 7, 2026
@clawsweeper clawsweeper Bot added the status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. label Jul 7, 2026
@clawsweeper clawsweeper Bot added the merge-risk: 🚨 auth-provider 🚨 May break OAuth, tokens, provider routing, model choice, or credentials. label Jul 8, 2026
@fuller-stack-dev
fuller-stack-dev merged commit 4e84981 into openclaw:main Jul 8, 2026
101 checks passed
@fuller-stack-dev

Copy link
Copy Markdown
Member Author

Merged via squash.

@fuller-stack-dev
fuller-stack-dev deleted the codex/crestodian-provider-onboarding branch July 8, 2026 01:25
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jul 8, 2026
* feat(crestodian): guide providerless model setup

* fix(crestodian): avoid TUI message shadowing

* fix(crestodian): tighten provider setup handoff

* fix(crestodian): simplify model setup result

* fix(crestodian): audit committed config hash

* fix(crestodian): contain embedded wizard exits

* test(crestodian): auto-clean operation temp dirs
giodl73-repo pushed a commit to giodl73-repo/openclaw that referenced this pull request Jul 8, 2026
* feat(crestodian): guide providerless model setup

* fix(crestodian): avoid TUI message shadowing

* fix(crestodian): tighten provider setup handoff

* fix(crestodian): simplify model setup result

* fix(crestodian): audit committed config hash

* fix(crestodian): contain embedded wizard exits

* test(crestodian): auto-clean operation temp dirs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agents Agent runtime and tooling commands Command implementations docs Improvements or additions to documentation maintainer Maintainer-authored PR merge-risk: 🚨 auth-provider 🚨 May break OAuth, tokens, provider routing, model choice, or credentials. P2 Normal backlog priority with limited blast radius. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. size: L status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants