diff --git a/CHANGELOG.md b/CHANGELOG.md index b6212dc7..0af57fe8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- `/config` now reports the canonical `~/.codewhale/settings.toml` path for TUI + settings while still reading legacy DeepSeek-branded settings fallbacks and + migrating them into the CodeWhale home on load. - Split `web_run` session/page cache state so cached page reads use shared page handles and do not serialize through the mutation path. The harvest also adds panic-safe state write-back and serializes cache-mutating unit tests so @@ -47,7 +50,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Thanks to **@cyq1017** for the restore-listing implementation (#2513) and **@wywsoor** for the broader macOS/iTerm rollback UX report (#2494), and **@HUQIANTAO** for the `web_run` lock-splitting work (#2502) and turn-metadata -prefix-cache stability work (#2517), and **@shenjackyuanjie** for the +prefix-cache stability work (#2517), **@xyuai** for canonical CodeWhale +settings-path migration work (#2730), and **@shenjackyuanjie** for the HarmonyOS/OpenHarmony port and MatePad Edge validation trail (#2634). ## [0.8.53] - 2026-06-03 diff --git a/crates/tui/src/settings.rs b/crates/tui/src/settings.rs index 301ab753..24636e1e 100644 --- a/crates/tui/src/settings.rs +++ b/crates/tui/src/settings.rs @@ -2451,6 +2451,11 @@ mod tests { primary.exists(), "legacy fallback should be copied into primary" ); + let display = loaded.display(crate::localization::Locale::En); + assert!( + display.contains(&format!("Config file: {}", primary.display())), + "settings display should surface the canonical codewhale path:\n{display}" + ); } #[test] diff --git a/docs/V0_9_0_EXECUTION_MAP.md b/docs/V0_9_0_EXECUTION_MAP.md index 35a8b46b..08d69777 100644 --- a/docs/V0_9_0_EXECUTION_MAP.md +++ b/docs/V0_9_0_EXECUTION_MAP.md @@ -8,11 +8,11 @@ PR is harvested, superseded, deferred, or closed. ## Live Counts -- Actual open issues: 444 -- Open PRs: 54 -- Repo API open issue count: 498, because GitHub includes PRs in that total +- Actual open issues: 445 +- Open PRs: 55 +- Repo API open issue count: 500, because GitHub includes PRs in that total - Open issues labeled `v0.9.0`: 119 -- Open issues without a milestone: 100 +- Open issues without a milestone: 101 ## Execution Order @@ -42,6 +42,7 @@ harvest/stewardship commits: | --- | --- | --- | | #2708 Windows sub-agent completion halves TUI render width | Cherry-picked as `e933a11d7`; follow-up fix `72653f8ef` invalidates reused fanout-card rows. | `cargo test -p codewhale-tui --locked subagent`; `cargo test -p codewhale-tui --locked terminal_size`; `cargo clippy -p codewhale-tui --locked -- -D warnings` passed. | | #2627 Xiaomi MiMo Token Plan mode | Harvested only the auth-header behavior as `5aa68d986`; did not merge the conflicting mode/env changes. | `cargo test -p codewhale-tui --bin codewhale-tui --locked xiaomi_mimo`; `cargo test -p codewhale-secrets --locked xiaomi_mimo`; `cargo test -p codewhale-config --locked xiaomi_mimo`; `cargo clippy -p codewhale-tui --locked -- -D warnings` passed. | +| #2730 canonical codewhale settings path | Already harvested as `9e15805f6`; follow-up reviewer assertion added on this branch. | Fixes #2664 by reading legacy DeepSeek settings fallbacks, migrating them into `~/.codewhale/settings.toml`, and ensuring `/config` displays the canonical CodeWhale path. `cargo test -p codewhale-tui --bin codewhale-tui --locked settings_ -- --nocapture` passed. | | #2636 project-context mtime cache | Defer direct merge; harvest only after cache key/signature is widened. | Must include constitution changes, auto-generated context deletion, canonical path equivalence, and overwrite detection before landing. | | #2634 HarmonyOS port | Locally harvested with additional Nix-chain clearance; keep credited and do not close until the integration branch is public. | User-supplied MatePad Edge demo (`https://bilibili.com/video/av116689597368905`) confirms real-device interest. Added env-driven OpenHarmony SDK setup, OHOS platform guards/fallbacks, self-update disablement, and OHOS target gating for Starlark execpolicy parsing plus PTY support so published OHOS builds do not pull `nix` 0.28 through `rustyline` or `portable-pty`. `cargo check --workspace --all-features --locked`, focused PTY/clipboard tests, and `cargo tree --locked -p codewhale-tui --target aarch64-unknown-linux-ohos -i nix@0.28.0` passed; full OHOS target check is blocked on this host because `OHOS_NATIVE_SDK`/target CC/sysroot are not configured and `ring` cannot find `assert.h`. | | #2687 append-only mode/approval prompt | Defer direct merge; draft has compile failures and Plan-mode prompt correctness risks. | Any future harvest must keep stable `message[0]` genuinely mode-agnostic, preserve mode/approval suffixes after capacity replans, and distinguish external overrides from persisted generated prompts. | @@ -108,7 +109,7 @@ harvest/stewardship commits: | #2646 release publish hardening | Mergeable | Already harvested into the 22-commit stack. | | #2687 append-only mode/approval prompt | Draft/mergeable | Defer. Review found compile failures and Agent-mode prompt leakage into Plan sessions via hard-coded prompt refresh. | | #2708 Windows width fix | Mergeable | Cherry-picked and patched locally. | -| #2730 canonical codewhale settings path | Mergeable | Already harvested into the 22-commit stack. | +| #2730 canonical codewhale settings path | Mergeable | Already harvested as `9e15805f6`; follow-up reviewer assertion added locally. Comment/close original after integration branch is public, crediting @xyuai and issue #2664. | | #2732 pausable command lifecycle | Draft/mergeable | Defer; review flagged behavior changes. | ## Issue Reduction Strategy