chore: use the public name Codewhale in prose (identifiers untouched) - #5742
Conversation
Replace the word CodeWhale with the ratified public name Codewhale in public prose only: docs/**, all 15 TUI locale packs, and user-facing Rust string literals in crates/tui/src (update/help/status/error copy plus the tests that assert on that copy). Compatibility identifiers are untouched: the Hmbown/CodeWhale GitHub slug and every URL containing it, Hmbown.CodeWhale (winget), Windows install paths (%LOCALAPPDATA%\Programs\CodeWhale\bin), clone directories (cd CodeWhale), user-agent and header strings, gherkin step names, test fixtures, doc comments, CHANGELOG history, README URLs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aDEyM2a4pPZ9qqMDrP5YX Signed-off-by: CodeWhale Bot <bot@codewhale.net>
Signed-off-by: CodeWhale Bot <bot@codewhale.net>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Claude finished @Hmbown's task in 2m 52s —— View job Review: chore/public-name-codewhale-20260830Todo list
SummaryThis is a clean, mechanical, well-scoped rename. I walked all 60 changed files hunk-by-hunk against
Minor notes (non-blocking)
Both are low-severity documentation nuances, not functional or test-breaking issues. I did not find any correctness bugs, provider/model-routing risk, dead code, or missing test coverage — this diff is prose/string-literal only with no logic changes. |
There was a problem hiding this comment.
Codewhale review
Mechanical prose rename from CodeWhale to Codewhale across docs, TUI locale packs, user-facing Rust string literals, and their test assertions. The scope is largely consistent: compatibility identifiers, URLs, paths, env vars, and historical changelog content are intentionally preserved.
Findings
- [INFO] CHANGELOG_ARCHIVE heading contradicts the stated no-history-edit scope (
docs/CHANGELOG_ARCHIVE.md:1)
The PR description lists CHANGELOG history as deliberately untouched, but this change renames the archive heading from CodeWhale to Codewhale while the archived release entries below remain in the old spelling. This leaves the archive document internally inconsistent and slightly contradicts the stated scope note. If history is to stay untouched, consider leaving this heading as CodeWhale; otherwise rewrite the archived entries as well.
Assessment
Approved with one minor documentation consistency note. The mechanical rename is correctly scoped and test assertions are updated; no functional or test coverage issues found.
Advisory review by Codewhale (codewhale review --pr 5742 --post, head c8bf2d8c3967a6edd0118e95097f5111527deb8b). Line-specific findings are also posted as inline review comments; mechanical fixes arrive as committable suggestions you can apply from the Files tab. CODEOWNERS approval still governs merge.
| @@ -1,6 +1,6 @@ | |||
| # Changelog Archive | |||
There was a problem hiding this comment.
[INFO] CHANGELOG_ARCHIVE heading contradicts the stated no-history-edit scope
The PR description lists CHANGELOG history as deliberately untouched, but this change renames the archive heading from CodeWhale to Codewhale while the archived release entries below remain in the old spelling. This leaves the archive document internally inconsistent and slightly contradicts the stated scope note. If history is to stay untouched, consider leaving this heading as CodeWhale; otherwise rewrite the archived entries as well.
…ewhale-20260830 # Conflicts: # docs/AGENT_RUNTIME.md
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_b6a70f0c-73c9-49d3-bd86-6b26e88e6c1f) |
|
Claude finished @Hmbown's task in 1m 45s —— View job Review: chore/public-name-codewhale-20260830
SummaryI re-walked Correctness — clean. Every user-facing
Provider/model/route safety — N/A. No routing, prefix-inference, or model-selection code touched. Reuse/simplification — N/A. No logic changes to assess. Compatibility identifiers — correctly preserved everywhere I sampled: Two minor doc nuances (both already surfaced by prior reviewers, confirmed on inspection, non-blocking):
Tests — no gaps. This is a rename with 1:1 assertion updates; no new behavior needs new coverage. Locale JSON structural validity for the 15 touched packs is already covered by the PR's stated No correctness bugs, provider-safety issues, or missing test coverage found. |
There was a problem hiding this comment.
🟡 Changes recommended
A few edits conflict with the PR’s stated “identifiers/history untouched” constraints (notably changelog scope and VS Code extension naming), so the remaining scope boundaries need to be corrected before approval.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR standardizes user-facing prose and UI copy to the ratified public name Codewhale, while intentionally preserving compatibility identifiers (repo slug, package IDs, paths, env vars, etc.) elsewhere in the codebase.
Changes:
- Updated documentation prose across English + zh_hans docs and RFCs from “CodeWhale” → “Codewhale”.
- Updated TUI user-facing Rust string literals (and their tests) to the new public name.
- Updated all TUI locale packs and the bundled
planskill prose to match “Codewhale”.
File summaries
| File | Description |
|---|---|
| docs/zh_hans/README.md | Align zh_hans docs entry-point prose to “Codewhale”. |
| docs/zh_hans/KEYBINDINGS.md | Update zh_hans keybinding prose mentioning the product name. |
| docs/zh_hans/INSTALL.md | Update zh_hans install prose to “Codewhale” while keeping identifiers (e.g., winget ID). |
| docs/WORKROOM_SECURITY.md | Update Workrooms security doc prose to “Codewhale”. |
| docs/WORKROOM_ARCHITECTURE.md | Update Workrooms architecture doc prose to “Codewhale”. |
| docs/THIRD_PARTY_NOTICES.md | Update third-party notices prose references to “Codewhale”. |
| docs/skills/README.md | Update skills documentation prose to “Codewhale”. |
| docs/skills/gh-find-prs/SKILL.md | Update skill description/prose references to “Codewhale”. |
| docs/skills/gh-file-issue/SKILL.md | Update skill description/prose references to “Codewhale”. |
| docs/skills/gh-compile-issues/SKILL.md | Update skill prose references to “Codewhale”. |
| docs/skills/gh-close-issues/SKILL.md | Update skill description to “Codewhale”. |
| docs/skills/gh-assign-issues/SKILL.md | Update skill prose references to “Codewhale”. |
| docs/skills/codew-release-qa-sweep/SKILL.md | Update skill title/description/prose references to “Codewhale”. |
| docs/SKILLS.md | Update skills system documentation prose references to “Codewhale”. |
| docs/rfcs/UNIFIED_PROVIDER_LOGIN.md | Update RFC prose references to “Codewhale”. |
| docs/rfcs/REMOTE_SETUP_DESIGN.md | Update RFC prose references to “Codewhale”. |
| docs/rfcs/HARNESS_PROFILE_CUTLINE.md | Update RFC prose references to “Codewhale”. |
| docs/rfcs/3209-workrooms.md | Update RFC prose references to “Codewhale”. |
| docs/rfcs/1364-hooks-lifecycle.md | Update RFC prose references to “Codewhale”. |
| docs/RELEASE_RUNBOOK.md | Update runbook title/prose to “Codewhale”. |
| docs/KEYBINDINGS.md | Update keybindings doc prose mentioning “Codewhale”. |
| docs/ISSUE_TRIAGE.md | Update triage doc prose mentioning “Codewhale”. |
| docs/INSTALL.md | Update install doc prose mentioning “Codewhale”. |
| docs/FLEET.md | Update Fleet doc prose mentioning “Codewhale”. |
| docs/examples/Dockerfile.toolbox | Update example Dockerfile comments to “Codewhale”. |
| docs/examples/compose.toolbox.yml | Update example compose comments to “Codewhale”. |
| docs/ENVIRONMENTS.md | Update environments doc prose to “Codewhale”. |
| docs/DOCKER.md | Update Docker doc prose to “Codewhale”. |
| docs/CONTRIBUTORS.md | Update contributor-credit prose references to “Codewhale”. |
| docs/CONFIGURATION.md | Update configuration doc prose to “Codewhale”. |
| docs/CLASSROOM_INSTALL.md | Update classroom install doc prose references to “Codewhale”. |
| docs/CHANGELOG_ARCHIVE.md | Update changelog archive intro prose to “Codewhale”. |
| docs/CATALOG_REFRESH.md | Update catalog refresh doc prose to “Codewhale”. |
| docs/ARCHITECTURE.md | Update architecture doc prose to “Codewhale”. |
| docs/AGENT_RUNTIME.md | Update agent runtime doc prose references to “Codewhale”. |
| crates/tui/src/tui/ui/tests.rs | Update UI tests asserting user-facing “Codewhale” strings. |
| crates/tui/src/tui/ui/apply.rs | Update coordination toast copy to “Codewhale”. |
| crates/tui/src/tui/ui.rs | Update updater notice copy to “Codewhale”. |
| crates/tui/src/tui/keybindings.rs | Update keybinding description test string to “Codewhale”. |
| crates/tui/src/tools/tui_help.rs | Update tool description copy to “Codewhale”. |
| crates/tui/src/tools/file/tests/tools.rs | Update deny-message assertion to “Codewhale”. |
| crates/tui/src/tools/file.rs | Update read_file tool description + denial message to “Codewhale”. |
| crates/tui/src/skills/mutation.rs | Update skills mutation error messages to “Codewhale”. |
| crates/tui/src/commands/groups/utility/update.rs | Update updater command messaging to “Codewhale”. |
| crates/tui/locales/zh-Hant.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/zh-Hans.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/vi.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/uk.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/ru.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/pt-BR.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/ko.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/ja.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/id.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/hi.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/fr.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/es-419.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/en.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/de.json | Update localized strings referencing “Codewhale”. |
| crates/tui/locales/ca.json | Update localized strings referencing “Codewhale”. |
| crates/tui/assets/skills/plan/SKILL.md | Update bundled plan skill prose references to “Codewhale”. |
Review details
- Files reviewed: 60/60 changed files
- Comments generated: 3
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| | # | Scenario | Expected result | Done? | | ||
| |---|----------|-----------------|-------| | ||
| | 1 | Install with no existing CodeWhale PATH entry | Adds exactly `%LOCALAPPDATA%\Programs\CodeWhale\bin` | ☐ | | ||
| | 1 | Install with no existing Codewhale PATH entry | Adds exactly `%LOCALAPPDATA%\Programs\CodeWhale\bin` | ☐ | |
| - **[gaord](https://github.com/gaord)** — add the community-maintained | ||
| CodeWhale for VS Code GUI frontend to the English and Chinese READMEs (#4035) | ||
| Codewhale for VS Code GUI frontend to the English and Chinese READMEs (#4035) |
| # Changelog Archive | ||
|
|
||
| Older releases of CodeWhale (v0.8.39 and earlier). Recent releases live in [CHANGELOG.md](../CHANGELOG.md). | ||
| Older releases of Codewhale (v0.8.39 and earlier). Recent releases live in [CHANGELOG.md](../CHANGELOG.md). |
There was a problem hiding this comment.
Codewhale review
This is a copy-only rebrand of user-visible prose from CodeWhale to Codewhale across TUI locale packs, Rust string literals, docs, and bundled skills. Compatibility identifiers are largely preserved, and tests were updated accordingly.
Findings
- [WARNING] Meta note in RFC now self-referential (
docs/rfcs/1364-hooks-lifecycle.md:12)
The RFC's note explaining that its historical 'CodeWhale' mentions should be read as 'the Codewhale TUI' was changed to quote 'Codewhale' itself, which makes the instruction self-referential and removes the historical context it is meant to explain. - [WARNING] User-agent documentation may contradict preserved identifier (
docs/CATALOG_REFRESH.md:65)
The prose now says 'explicit Codewhale user-agent', but the PR intentionally leaves user-agent strings as CodeWhale compatibility identifiers. If the actual User-Agent header still contains CodeWhale, this reference should stay as CodeWhale to match the preserved string.
Suggestions
-
docs/rfcs/1364-hooks-lifecycle.md:12— Keep the quoted historical name as CodeWhale so the sentence still explains how to interpret the RFC's old branding.ACP surfaces, or the `workflow` tool. The RFC's use of "CodeWhale" as the -
docs/CATALOG_REFRESH.md:65— Keep the user-agent reference aligned with the intentionally untouched CodeWhale user-agent string.Models.dev (15 s timeout, explicit CodeWhale user-agent, **no credentials**).
Assessment
The implementation is low-risk and mostly consistent, but a couple of documentation references likely should retain the old brand where they refer to preserved identifiers or historical context.
Advisory review by Codewhale (codewhale review --pr 5742 --post, head 00ad9d211546f21121617f400da4f491901307bd). Line-specific findings are also posted as inline review comments; mechanical fixes arrive as committable suggestions you can apply from the Files tab. CODEOWNERS approval still governs merge.
| **Scope:** everything below landed as a **TUI runtime** feature. No hook in | ||
| this RFC fires from `codewhale exec`, the CLI subcommands, the app-server / | ||
| ACP surfaces, or the `workflow` tool. The RFC's use of "CodeWhale" as the | ||
| ACP surfaces, or the `workflow` tool. The RFC's use of "Codewhale" as the |
There was a problem hiding this comment.
[WARNING] Meta note in RFC now self-referential
The RFC's note explaining that its historical 'CodeWhale' mentions should be read as 'the Codewhale TUI' was changed to quote 'Codewhale' itself, which makes the instruction self-referential and removes the historical context it is meant to explain.
| 1. Seed pickers from the **on-disk cache** if present (even if stale). | ||
| 2. If the cache is missing or older than **24 hours**, **background-fetch** | ||
| Models.dev (15 s timeout, explicit CodeWhale user-agent, **no credentials**). | ||
| Models.dev (15 s timeout, explicit Codewhale user-agent, **no credentials**). |
There was a problem hiding this comment.
[WARNING] User-agent documentation may contradict preserved identifier
The prose now says 'explicit Codewhale user-agent', but the PR intentionally leaves user-agent strings as CodeWhale compatibility identifiers. If the actual User-Agent header still contains CodeWhale, this reference should stay as CodeWhale to match the preserved string.
| **Scope:** everything below landed as a **TUI runtime** feature. No hook in | ||
| this RFC fires from `codewhale exec`, the CLI subcommands, the app-server / | ||
| ACP surfaces, or the `workflow` tool. The RFC's use of "CodeWhale" as the | ||
| ACP surfaces, or the `workflow` tool. The RFC's use of "Codewhale" as the |
There was a problem hiding this comment.
Keep the quoted historical name as CodeWhale so the sentence still explains how to interpret the RFC's old branding.
| ACP surfaces, or the `workflow` tool. The RFC's use of "Codewhale" as the | |
| ACP surfaces, or the `workflow` tool. The RFC's use of "CodeWhale" as the |
| 1. Seed pickers from the **on-disk cache** if present (even if stale). | ||
| 2. If the cache is missing or older than **24 hours**, **background-fetch** | ||
| Models.dev (15 s timeout, explicit CodeWhale user-agent, **no credentials**). | ||
| Models.dev (15 s timeout, explicit Codewhale user-agent, **no credentials**). |
There was a problem hiding this comment.
Keep the user-agent reference aligned with the intentionally untouched CodeWhale user-agent string.
| Models.dev (15 s timeout, explicit Codewhale user-agent, **no credentials**). | |
| Models.dev (15 s timeout, explicit CodeWhale user-agent, **no credentials**). |
…sistent_service ordering fix)
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_53ea1d93-979c-4b15-a029-82368dffba81) |
|
Claude finished @Hmbown's task in 2m 6s —— View job Review: chore/public-name-codewhale-20260830Todo list
SummaryRe-walked 1. Correctness — clean. Every user-facing
2. Provider/model/route safety — N/A. No routing, prefix-inference, or model-selection code touched. 3. Reuse/simplification — N/A. No logic changes to assess; nothing duplicated or dead introduced. 4. Tests — no gaps. 1:1 assertion updates for every renamed literal; locale JSON structural validity already covered by the PR's stated 5. Security — N/A. No secret handling, exec policy, or input validation touched. Still-open from prior review rounds (verified present at current HEAD
|
There was a problem hiding this comment.
Codewhale review
PR #5742 replaces the public product name 'CodeWhale' with 'Codewhale' in user-facing prose across docs, 15 TUI locale packs, Rust string literals, the bundled plan skill, and their test assertions. Compatibility identifiers, URLs, install paths, env vars, and changelog entries remain unchanged.
Assessment
Low-risk, copy-only branding alignment. The change is consistent, test assertions are updated in the same PR, and no logic, API, auth, or identifier behavior is affected. No issues found.
Advisory review by Codewhale (codewhale review --pr 5742 --post, head 2296572e041633ce7d831cb08278f241c0840c48). Line-specific findings are also posted as inline review comments; mechanical fixes arrive as committable suggestions you can apply from the Files tab. CODEOWNERS approval still governs merge.
…sistent_service staging deadline)
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_377c8c78-c793-46a2-953d-2f8e8b8800c1) |
|
Claude finished @Hmbown's task in 1m 14s —— View job Review: chore/public-name-codewhale-20260830Todo list
SummaryRe-verified 1. Correctness — clean. Walked every Rust hunk ( 2. Provider/model/route safety — N/A. No routing, prefix-inference, or model-selection code touched. 3. Reuse/simplification — N/A. No logic changes. 4. Tests — no gaps. 1:1 assertion updates; no new behavior needing coverage. 5. Security — N/A. Four items from earlier bot rounds are still present at this head (confirmed by direct grep against files on disk, not just prior review text)These invert the PR's own rule — preserve compatibility identifiers and historical/wire text verbatim — in doc-only spots:
None of these affect compilation, tests, or runtime behavior — all four are doc-prose nits, non-blocking, but each is a straightforward one-word revert back to |
There was a problem hiding this comment.
Codewhale review
The PR systematically renames user-facing CodeWhale to Codewhale across docs, TUI locale packs, Rust string literals, and skill prose while preserving compatibility identifiers such as paths, env vars, and enum variants. The sweep is mostly consistent and test assertions were updated. Two documentation edits are problematic: one describes a 'Codewhale user-agent' although the actual user-agent string remains CodeWhale, and another renames the quoted legacy spelling inside an explanatory note, destroying its meaning.
Findings
- [WARNING] Doc claims Codewhale user-agent but actual string remains CodeWhale (
docs/CATALOG_REFRESH.md:64)
docs/CATALOG_REFRESH.md states the runtime uses an 'explicit Codewhale user-agent'. However, the PR description explicitly lists user-agent strings as deliberately untouched identifiers, so the actual HTTP user-agent sent to Models.dev still contains the old spelling 'CodeWhale'. This documentation change now contradicts the implemented behavior. - [WARNING] RFC note loses semantic contrast after renaming quoted legacy spelling (
docs/rfcs/1364-hooks-lifecycle.md:11)
The note originally explained that the RFC's use of 'CodeWhale' as the actor should be read as 'the Codewhale TUI'. Renaming the quoted 'CodeWhale' to 'Codewhale' makes the sentence tautological ('use of Codewhale should be read as Codewhale') and defeats the purpose of the note, which was to clarify legacy terminology.
Suggestions
-
docs/CATALOG_REFRESH.md:64— Revert this line to keep the documented user-agent name consistent with the actual identifier, which is intentionally unchanged.Models.dev (15 s timeout, explicit CodeWhale user-agent, **no credentials**). -
docs/rfcs/1364-hooks-lifecycle.md:11— Restore the quoted legacy spelling 'CodeWhale' in this explanatory sentence so the note remains a meaningful mapping from old terminology to the current TUI name.
Assessment
Copy-only branding sweep with no behavioral impact. Tests and assertions were correctly updated. The two documentation inaccuracies should be corrected before merge to avoid misleading readers about an unchanged identifier and to preserve the clarity of an explanatory note.
Advisory review by Codewhale (codewhale review --pr 5742 --post, head 660622a64ee4ae85ebc2cb59609e7c54ec1fd9cc). Line-specific findings are also posted as inline review comments; mechanical fixes arrive as committable suggestions you can apply from the Files tab. CODEOWNERS approval still governs merge.
| @@ -62,7 +62,7 @@ When the TUI/runtime starts (and is not disabled): | |||
|
|
|||
| 1. Seed pickers from the **on-disk cache** if present (even if stale). | |||
| 2. If the cache is missing or older than **24 hours**, **background-fetch** | |||
There was a problem hiding this comment.
[WARNING] Doc claims Codewhale user-agent but actual string remains CodeWhale
docs/CATALOG_REFRESH.md states the runtime uses an 'explicit Codewhale user-agent'. However, the PR description explicitly lists user-agent strings as deliberately untouched identifiers, so the actual HTTP user-agent sent to Models.dev still contains the old spelling 'CodeWhale'. This documentation change now contradicts the implemented behavior.
| @@ -9,7 +9,7 @@ is correct and this document is history. | |||
|
|
|||
| **Scope:** everything below landed as a **TUI runtime** feature. No hook in | |||
| this RFC fires from `codewhale exec`, the CLI subcommands, the app-server / | |||
There was a problem hiding this comment.
[WARNING] RFC note loses semantic contrast after renaming quoted legacy spelling
The note originally explained that the RFC's use of 'CodeWhale' as the actor should be read as 'the Codewhale TUI'. Renaming the quoted 'CodeWhale' to 'Codewhale' makes the sentence tautological ('use of Codewhale should be read as Codewhale') and defeats the purpose of the note, which was to clarify legacy terminology.
| @@ -62,7 +62,7 @@ When the TUI/runtime starts (and is not disabled): | |||
|
|
|||
| 1. Seed pickers from the **on-disk cache** if present (even if stale). | |||
| 2. If the cache is missing or older than **24 hours**, **background-fetch** | |||
There was a problem hiding this comment.
Revert this line to keep the documented user-agent name consistent with the actual identifier, which is intentionally unchanged.
| 2. If the cache is missing or older than **24 hours**, **background-fetch** | |
| Models.dev (15 s timeout, explicit CodeWhale user-agent, **no credentials**). |
| @@ -9,7 +9,7 @@ is correct and this document is history. | |||
|
|
|||
| **Scope:** everything below landed as a **TUI runtime** feature. No hook in | |||
| this RFC fires from `codewhale exec`, the CLI subcommands, the app-server / | |||
There was a problem hiding this comment.
Restore the quoted legacy spelling 'CodeWhale' in this explanatory sentence so the note remains a meaningful mapping from old terminology to the current TUI name.


What
The ratified public name is Codewhale (AGENTS.md, PRD). This sweep converges public prose on it: docs/** (~100 lines), all 15 TUI locale packs (60 hits → 0), 37 user-facing Rust string literals (updater messages, tool descriptions, status/approval copy) with their assertions, and the bundled
planskill prose.Deliberately untouched (compatibility identifiers): the
Hmbown/CodeWhaleslug and every URL/path containing it, winget idHmbown.CodeWhaleand Windows install paths, user-agent strings,X-CodeWhale-Webhook-Secret, MCP OAuthclient_name, the git-exclude marker line, gherkin step names bound to.featurefiles, test fixtures, doc comments, CHANGELOG history, VS CodedisplayName, npm/packaging/scripts.1,355 word hits enumerated and classified; every hunk reviewed by diff (59 files, 200 insertions / 200 deletions + 1 skill file).
Evidence
npm test→Test Files 40 passed / Tests 341 passed;eslintandtscclean;check:docsPASS;check-locales.mjsPASSscripts/check-tui-locale-parity.py→ PASS (15 packs);check-tui-product-vocabulary.shexit 0; README translation + locale-link checks PASS; all 15 locale JSONs parsecargo test -p codewhale-tui locale→test result: ok. 64 passed; 0 failedupdate keybinding skills::mutation tools::file::tests tui::ui::tests::{apply,approval,auto_denied} tools::tui_help denied coordination_handover cached_denial read_file_denies updater ctrl_shift_u) withRUST_MIN_STACK=16777216(the same discipline.cnb.ymluses; the default stack overflows this test binary — pre-existing, see feat(tui): checkpoint live provider catalogs and routed usage #5726 notes) → passing result lines belowc8bf2d8c3Unproven:
cargo doc(no doc comments touched); the GT network locale check.No-Issue: ratified public-name convergence (AGENTS.md "Public name is Codewhale"; founder decision 2026-08-30)
🤖 Generated with Claude Code
https://claude.ai/code/session_014aDEyM2a4pPZ9qqMDrP5YX
Note
Low Risk
Copy-only branding sweep with no behavioral or security logic changes; main risk is missing a user-facing string or over-editing a stable identifier (the PR explicitly excludes those).
Overview
Aligns the ratified public product name Codewhale across user-visible copy while leaving compatibility identifiers (repo slug, URLs, winget id, env vars, crate/type names) unchanged.
TUI: All 15 locale packs rename CodeWhale → Codewhale in strings for
/update, update keyboard hints, post-update notices, and session auto-deny approval messaging. Matching Rust literals and tests in the updater command, skills mutation errors,read_file/tui_helptool text, coordination toasts, and update notices follow the same spelling.Docs & skills: English and zh_hans documentation, maintainer skill prose, and the bundled
planskill now say Codewhale in narrative text; GitHub paths,Hmbown.CodeWhale, and historical changelog entries are not rewritten.Reviewed by Cursor Bugbot for commit 660622a. Bugbot is set up for automated code reviews on this repo. Configure here.