feat(crestodian): guide providerless model setup#101887
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 7, 2026, 8:41 PM ET / 00:41 UTC. Summary 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.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Maintainer decision needed
Security Review detailsBest 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 AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against c96c60d22d01. Label changesLabel justifications:
Evidence reviewedPR surface: Source +281, Tests +502, Docs +8. Total +791 across 19 files. View PR surface stats
Acceptance criteria:
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 (7 earlier review cycles)
|
|
Closing this because it covered the wrong scope. The requested fresh-install onboarding and gateway-auth fix is now tracked in #101901. |
|
Merged via squash.
|
* 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
* 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
Summary
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 providerlater.Evidence
oxfmtcompleted on all 19 changed filespnpm docs:listgit diff --checkupstream/mainhad no path overlap;git range-diffconfirmed the reviewed patch was unchangedReal 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.tsEvidence 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.