Skip to content

v0.8.67 Setup: audit current setup/onboarding surfaces and define the unified setup state model #3403

Description

@Hmbown

Product shape

This is the foundation issue for the whole v0.8.67 setup lane. The deliverable is not user-visible UI — it is (a) one accurate map of the setup/onboarding surfaces that already exist in the codebase, and (b) one shared setup state model that every other step (#3404#3412) reads and writes. Done well, a future agent can implement any single step by reading this issue's state model plus that step's issue, without re-deriving what "configured", "skipped", "verified", or "ready" mean.

Proposed setup state model

A single persisted setup-state record under ~/.codewhale/ (exact path/section decided here, written via the #3410 persistence layer), keyed per lane/version. Each wizard step writes one entry:

  • step — canonical step id: language, provider_model, trust_sandbox, tools_mcp, hotbar, remote_runtime, constitution, verification.
  • statusnot_started | recommended | optional | deferred | in_progress | verified | needs_action | failed | skipped.
  • required — whether the lane blocks "ready" without it (first-run vs update differ).
  • result — short safe summary string (provider name, model id, mode name, health) — never secrets.
  • version — lane that last wrote it (e.g. "0.8.67"), so /setup, doctor, and the context report can show staleness.

Lane readiness rule (decided here, enforced by #3404/#3411):

  • First-run "ready" requires language, provider_model (key verified), and trust_sandbox at verified, plus an explicit constitution choice. Everything else is optional/deferred.
  • Update "ready" requires the constitution checkpoint complete for 0.8.67; everything else is inherited from existing config.

The exact serialization (a setup_state section in config vs a sidecar file) is this issue's decision, but it must survive config migration (#3410) and round-trip through comment-preserving writes.

Non-goals

Problem

Before building the full setup wizard, we need a map of the setup surfaces that already exist and a state model that can unify them. CodeWhale already has language/API-key/trust onboarding, codewhale setup, codewhale remote-setup, /config, /provider, MCP setup, skills/plugins setup, Hotbar setup, doctor checks, and config migration behavior.

Scope

  • Audit existing setup/onboarding code and docs, including:
    • crates/tui/src/tui/onboarding/*
    • crates/tui/src/main.rs Setup and onboarding paths
    • crates/tui/src/remote_setup/*
    • /config, /provider, /mcp, /skills, plugin commands
    • docs/CONFIGURATION.md, docs/GUIDE.md, docs/MCP.md, docs/rfcs/REMOTE_SETUP_DESIGN.md
  • Define a setup state model: fresh install, partial setup, existing user, skipped step, failed step, verified step, and needs-attention step.
  • Decide what is first-run only vs re-openable through /setup.
  • Identify obsolete or conflicting copy, especially legacy .deepseek vs .codewhale language.
  • Update v0.8.67 EPIC: Constitution-first setup wizard and user-global constitution #3402 with a status matrix and proposed step order.

Definition of done

Safe fallback

  • The state model must default existing users to verified/inherited for surfaces they already configured, so an update never looks like a fresh, broken setup.
  • An unreadable or missing setup-state record falls back to deriving status from existing config (key present? provider set? trust chosen?) rather than forcing the whole wizard.
  • The audit is read-only analysis plus a v0.8.67 EPIC: Constitution-first setup wizard and user-global constitution #3402 matrix update — it must not change any user files.

Verifiable acceptance

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcleanupCode cleanup, refactor, or maintenance workdocumentationImprovements or additions to documentationenhancementNew feature or requestreliabilityReliability, flaky behavior, retries, fallbacks, and robustnesstuiTerminal UI behavior, rendering, or interactionv0.8.67Targeting v0.8.67

    Projects

    Status
    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions