Why tiered
AGENTS.md: compatibility identifiers and storage keys change only through an
explicit migration. Some DEEPSEEK_* identifiers are the provider's name and
stay (DEEPSEEK_API_KEY as provider credential — ANTHROPIC_API_KEY-shaped).
The rest split by blast radius.
Tier 0 — keep (provider identity, not era)
- DEEPSEEK_API_KEY where it means the DeepSeek provider credential
(crates/tui/src/dsh_credentials.rs:11,144; provider auth in setup).
Tier 1 — internal renames, land in 0.9.9 (zero user impact)
Tier 2 — env aliases: CODEWHALE_ primary + deprecation warning in 0.9.9, delete at 0.10.0
Template: CODEWHALE_STREAM_IDLE_TIMEOUT_SECS (subagent_limits.rs:56-58) already
carries DEEPSEEK_STREAM_IDLE_TIMEOUT_SECS as a legacy alias.
Tier 3 — storage keys: read-migration + one-time notice in 0.9.9, delete at 0.10.0
Why tiered
AGENTS.md: compatibility identifiers and storage keys change only through an
explicit migration. Some DEEPSEEK_* identifiers are the provider's name and
stay (DEEPSEEK_API_KEY as provider credential — ANTHROPIC_API_KEY-shaped).
The rest split by blast radius.
Tier 0 — keep (provider identity, not era)
(crates/tui/src/dsh_credentials.rs:11,144; provider auth in setup).
Tier 1 — internal renames, land in 0.9.9 (zero user impact)
sites engine.rs:4222 + 9 in engine/tests.rs; stale doc refs in
crates/core/src/engine/thread/{mod,executor}.rs, dispatch.rs)
(tools/file.rs:1578-1775) — v0.9.6 vocabulary; coordinate with the
one-bash consolidation design
Tier 2 — env aliases: CODEWHALE_ primary + deprecation warning in 0.9.9, delete at 0.10.0
Template: CODEWHALE_STREAM_IDLE_TIMEOUT_SECS (subagent_limits.rs:56-58) already
carries DEEPSEEK_STREAM_IDLE_TIMEOUT_SECS as a legacy alias.
CODEWHALE_PREFER_BWRAP as the override
scripts; keep as alias longest
spelling; CHANGELOG "Deprecations" section each release until 0.10.0 removes.
Tier 3 — storage keys: read-migration + one-time notice in 0.9.9, delete at 0.10.0
notice where missing, remove in 0.10.0. bwrap protected-descendant lists
keep guarding .deepseek paths while any migration reads them.