Skip to content

v0.8.62: Finish Paulo Aboim Pinto's command, tool, compaction, and TUI architecture stream without losing design intent #3101

@Hmbown

Description

@Hmbown

Problem

Paulo Aboim Pinto's work has repeatedly landed as high-quality architecture work, but some of the largest streams were split, harvested, or partially superseded across many PRs and issues. That creates a release risk in both directions:

  • blindly merging the huge proof branch could destabilize v0.8.59;
  • cherry-picking only the obvious pieces can lose the design intent and leave half-finished architecture behind.

For v0.8.59, treat Paulo's architecture stream as a first-class release lane. The task is not to re-litigate whether the work is good. The task is to verify what already landed, identify what was not landed, and finish the remaining work through deliberate, reviewable layers.

Evidence

Paulo is an approved contributor and is already credited in the project:

  • .github/AUTHOR_MAP maps Paulo Aboim Pinto and aboimpinto to @aboimpinto.
  • .github/APPROVED_CONTRIBUTORS includes all:aboimpinto.
  • README and changelog entries credit Paulo for command polish, Windows alt-screen work, command-boundary cleanup, shell/tool registry layers, and composer/TUI work.

Major Paulo streams:

Proposed direction

Do proper surgery on the whole Paulo stream:

  1. Build a manifest of all Paulo PRs/issues and classify each as landed, harvested, open proof branch, stale tracker, or still-needed follow-up.
  2. For Refactor TUI command groups into focused implementations #2851, do a diff audit against current main after Layer 1: clean command support boundaries #2871/Layer 2: add command parity harness #2878/Add Gherkin acceptance E2E harness example #2887/refactor(commands): extract registry and parser helpers #2888. Identify the remaining semantic changes, not just files changed.
  3. Land the remaining Refactor TUI command groups into focused implementations #2851 design in smaller PRs, following EPIC: staged command-boundary refactor for #2791 #2870's layered plan: group-owned command files first, then user_commands separately if still needed.
  4. Treat Refactor TUI command groups into focused implementations #2851 as the source of truth for intent unless current main has a clearer implementation. If not taking a piece, document why.
  5. Verify the merged tool architecture stack (feat(shell_dispatcher): isolate shell dispatcher layer #2290/feat(tui): add ExternalTool abstraction layer #2294/feat(tui): add pluggable tool registry #2420) against open trackers ([Tracking] Pluggable Tool Registry — user-replaceable tool implementations #1802/ExternalTool abstraction layer: stop hardcoding subprocess calls everywhere #1794/Define RuntimeTool trait for code-execution backends (Python, Node, dotnet, go, rustc) #1822/Pluggable Tool Registry -- runtime registration, config.toml overrides, and plugin tools #1847) and close/update those trackers only after confirming the acceptance criteria are actually represented in current code/docs.
  6. Compare Phase 3: pausable command lifecycle (pause / resume / cancel) #2732 against current pause/cancel/hook behavior and Proposal: universal PreToolUse/PostToolUse hook layer for Cancel/Pause/Resume across all action types #1917. Extract any missing lifecycle semantics that still matter for v0.8.59 reliability.
  7. Compare feat: configurable auto-compact threshold with Ctrl+L keybinding #1722/feat: configurable auto-compact threshold with Ctrl+L keybinding #1723 against current v0.8.59: Add a unified context-budget service for windows, output caps, compaction, and UI pressure #3086 context-budget work. If the feature has landed, verify and close/update; if gaps remain, include them in v0.8.59: Add a unified context-budget service for windows, output caps, compaction, and UI pressure #3086.
  8. Compare QoL: taskbar progress, animated title spinner, and configurable completion sound #1871/feat: QoL — taskbar progress, animated title spinner, and configurable completion sound (#1871) #1872 against current TUI notification/state behavior. Verify whether the issue should close or needs CodeWhale-rename polish.
  9. Keep contributor credit explicit in PR bodies, issue comments, and release notes.

Acceptance criteria

Verification

Suggested commands for implementation agents:

  • gh pr view 2851 --json files,commits,body,labels,milestone
  • gh pr diff 2851 --name-only
  • gh pr diff 2851
  • git log --grep='2871\|2878\|2887\|2888\|2851\|2791' --oneline --all
  • cargo test -p codewhale-tui commands::
  • cargo test -p codewhale-tui command_palette
  • cargo test -p codewhale-tui slash_completion
  • cargo test -p codewhale-tui tools::registry tools::plugin external_tool
  • focused TUI manual checks for /config, /model, /share, custom slash commands, pause/cancel/resume, Ctrl+L compaction, and Windows terminal behavior where possible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    cleanupCode cleanup, refactor, or maintenance workdocumentationImprovements or additions to documentationenhancementNew feature or requestreliabilityReliability, flaky behavior, retries, fallbacks, and robustnesstoolsTool execution, tool schemas, tool UX, and built-in tool behaviortuiTerminal UI behavior, rendering, or interactionv0.8.62Targeting v0.8.62

    Projects

    Status
    Backlog

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions