Skip to content

fix(tui): transcript copy polish batch (#4142 #4143 #4144 #4145)#4192

Merged
Hmbown merged 1 commit into
mainfrom
codex/v0868-fix-copy-batch
Jul 8, 2026
Merged

fix(tui): transcript copy polish batch (#4142 #4143 #4144 #4145)#4192
Hmbown merged 1 commit into
mainfrom
codex/v0868-fix-copy-batch

Conversation

@Hmbown

@Hmbown Hmbown commented Jul 8, 2026

Copy link
Copy Markdown
Owner

Summary

Copy and dedup polish for the v0.8.68 "transcript copy polish" lane. Low-risk wording/dedup only — no user-facing rendering-logic changes.

Fixed

  • v0.8.68 5.2: trim redundant mode picker body copy #4143 — trim redundant mode picker body copy. ModePickerPrompt ("Choose how CodeWhale should operate:") is no longer rendered by the picker view — the Mode title carries the intent — so it was dead, duplicated copy across all seven locales plus a parity test. Removed the orphaned MessageId, its ALL_MESSAGE_IDS entry, the translation-test row, and the string from every locale pack.
  • v0.8.68 5.4: consolidate repeated setup hints #4144 — consolidate repeated setup hints. The six "Enter records this X snapshot" review hints now share one uniform pattern (stem first, then the step-specific action) so they read as one voice instead of six. Reworded the Hotbar, Remote, and Runtime-posture hints in en.json and updated the two detail-line tests that asserted the old order.
  • v0.8.68 5.7: fix read done Searching verb mismatch #4145 — fix "read done / Searching" verb mismatch. A grep grouped under the Workspace exploration card rendered as read done · Searching for …. The card now picks the find verb when its entries are all searches, so the completed action agrees with the label (find done · Searching for …); read/list or mixed cards keep the neutral read verb. Added regression tests.

Skipped

  • Refs v0.8.68 5.1: disclose context percent once #4142 — skipped. Making a normal screen show context percent "once" requires coordinated sidebar context-bar rendering logic (hide the sidebar bar when the header already discloses percent), i.e. non-trivial cross-component rendering rather than a string/dedup change. That overlaps the sidebar/transcript rendering workstream, so this issue is left untouched (label retained) to avoid rendering conflicts. The header already shows context percent by default.

Fixes #4143
Fixes #4144
Fixes #4145

Verification

  • cargo fmt --all --check — clean
  • cargo clippy --workspace --all-features --locked -- -D warnings -A clippy::uninlined_format_args -A clippy::too_many_arguments -A clippy::unnecessary_map_or -A clippy::collapsible_if -A clippy::assertions_on_constants — clean
  • cargo test --workspace --locked5982 passed, 2 pre-existing environment-specific failures unrelated to this change and reproducible in isolation on an unmodified tree: git_repo_root_reports_attempted_paths_when_no_repo_found (the checkout is nested inside a real git repo, so the "no repo" assumption fails) and skill_hotbar_action_activates_skill_through_dollar_alias (depends on the machine's startup skill cache). Neither touches any file in this PR.
  • cargo build --release -p codewhale-tui — clean

🤖 Generated with Claude Code

https://claude.ai/code/session_0172k8wqL9he1teotxTS5gbu

Low-risk transcript/setup copy and dedup polish for v0.8.68.

#4143 — trim redundant mode picker body copy. The `ModePickerPrompt`
("Choose how CodeWhale should operate:") body line is no longer rendered
by the mode picker view (the " Mode " title carries the intent), leaving
the message as dead, duplicated copy across every locale plus a parity
test. Remove the orphaned MessageId, its ALL_MESSAGE_IDS entry, its
translation test row, and the string from all seven locale packs.

#4144 — consolidate repeated setup hints. The six "Enter records this X
snapshot" review hints now share one uniform pattern (stem first, then the
step-specific action) so they read as one voice instead of six. Reword the
Hotbar, Remote, and Runtime-posture hints in en.json and update the two
detail-line tests that asserted the old order.

#4145 — fix "read done / Searching" verb mismatch. A grep grouped under the
Workspace exploration card rendered as `read done · Searching for …`. The
card now picks the `find` verb when its entries are all searches, so the
completed action agrees with the label; read/list or mixed cards keep the
neutral `read` verb. Adds regression tests.

#4142 skipped: making a normal screen show context percent "once" requires
coordinated sidebar context-bar rendering logic (hide when the header
already discloses percent), which overlaps the sidebar/transcript rendering
workstream. Left untouched to avoid rendering conflicts.

Assisted by an AI agent; authored and verified by the committer.
Copilot AI review requested due to automatic review settings July 8, 2026 03:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@claude

claude Bot commented Jul 8, 2026

Copy link
Copy Markdown

Claude finished @Hmbown's task in 1m 37s —— View job


Review complete

  • Gather context (PR body, diff, changed files)
  • Read full diff against origin/main
  • Review correctness (history.rs verb-inference logic, tests)
  • Review provider/model/route safety implications (N/A — no model/provider code touched)
  • Review reuse/simplification and dead-code removal correctness (localization.rs, locale JSON)
  • Review test coverage
  • Post final review summary

Summary

This is a clean, low-risk copy/dedup batch as described. Verified each fix:

#4143ModePickerPrompt removal: Confirmed MessageId::ModePickerPrompt has zero remaining references anywhere in crates/tui/src/** after the removal, and the string is dropped consistently from all 7 locale files (en, es-419, ja, pt-BR, vi, zh-Hans, zh-Hant) plus ALL_MESSAGE_IDS and the mode_picker_strings_are_translated_in_non_english_locales parity test. No dangling references, no orphaned translations left behind.

#4144 — setup hint consolidation: The three en.json hint strings now share the "Enter records this X snapshot. Press Y to …" pattern. The corresponding setup/mod.rs unit tests (hotbar, remote) were updated in lockstep with the new wording. Good — no test/string drift.

#4145 — verb mismatch fix (crates/tui/src/tui/history.rs:838-844,1718-1733): The new exploring_card_family helper checks whether every ExploringEntry.label starts with "Searching" to pick ToolFamily::Find vs ToolFamily::Read. Note this label is the fixed English string produced by exploring_label() in tool_routing.rs (not a localized MessageId), so the string match is stable across all locales — this isn't a locale-fragility bug.

The change correctly reuses the existing render_tool_header_with_family_and_summary (already used by GenericToolCell) instead of introducing new rendering logic — good reuse, no duplication.

Minor test-coverage gap: the two new tests (exploring_card_search_reads_as_find_not_read, exploring_card_read_keeps_read_verb) cover the pure-search and pure-read cases, but not the mixed case (a search entry alongside a read/list entry in the same card) — which is the scenario the doc comment and PR description explicitly call out as staying on the read verb ("read/list or mixed cards keep the neutral read verb"). Worth a follow-up test asserting a mixed-entry ExploringCell still renders read done, since that's the one branch of exploring_card_family's all_search logic that isn't currently exercised.

No correctness bugs, no provider/model routing concerns (no such code touched), no security issues, no dead code left over from the removals.

Verification note: I was not able to run cargo test/cargo build in this environment (Bash tool execution required approval that wasn't available), so I relied on manual diff/reference-tracing review instead of re-running the test suite the PR description already reports as passing (5982 passed, 2 pre-existing unrelated failures).

@Hmbown Hmbown merged commit f0b46da into main Jul 8, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

v0.8.68 5.7: fix read done Searching verb mismatch v0.8.68 5.4: consolidate repeated setup hints v0.8.68 5.2: trim redundant mode picker body copy

2 participants