On-disk schema for the [lsp] table (#136). See config.example.toml
for documentation. All fields are optional so the TUI runtime can fall
back to its own defaults when keys are absent.
Hard ceiling on recursion depth for any worker/sub-agent. The default stays
conservative at DEFAULT_SPAWN_DEPTH, while explicit config can opt into
deeper trees for direct-API providers that can tolerate the fanout.
Raising this single constant lifts the limit everywhere (the fleet clamp
and agent validation both read it).
The default hotbar slots in on-disk ([[hotbar]]) form. Since #3807 an
absent hotbar key means “hidden”, so /hotbar on persists these explicit
bindings rather than deleting the key. Kept in terms of
default_hotbar_bindings so DEFAULT_HOTBAR_ACTIONS stays the single
source of truth.
Process-wide default Secrets façade. The first caller wins; the
lock is exposed so test or CLI code can install an explicit
backend (e.g. an codewhale_secrets::InMemoryKeyringStore) before
any resolver runs.
Variant of ensure_state_dir that exposes whether a legacy state path was
migrated. Most callers should use ensure_state_dir; this is kept for
tests and future UI surfaces that want to render the notice themselves.
Merge comments and formatting from an original TOML file into a
freshly serialized document so user annotations (comments, whitespace,
disabled keys) survive config rewrites.
v0.8.44: one-time migration from ~/.deepseek/config.toml to
~/.codewhale/config.toml. Called on first launch after the config
is loaded; copies the legacy file if the primary doesn’t exist yet.
Never overwrites an existing primary config.