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:
Refactor TUI command groups into focused implementations #2851 — open proof/reference PR for command group restructuring. It is large and dirty, but it is the reference design for Refactor command dispatch from monolithic match to modular strategy pattern #2791 /EPIC: staged command-boundary refactor for #2791 #2870 .
Layer 1: clean command support boundaries #2871 — merged command support boundary cleanup.
Layer 2: add command parity harness #2878 — merged command parity harness.
Add Gherkin acceptance E2E harness example #2887 — merged Gherkin acceptance E2E harness example.
refactor(commands): extract registry and parser helpers #2888 — merged registry/parser helper extraction.
EPIC: staged command-boundary refactor for #2791 #2870 — staged command-boundary refactor epic; still open and still tracks remaining group-owned command files/user-command refactor work.
Enhancement: add Gherkin acceptance E2E coverage for tool lifecycle #2886 — Gherkin acceptance E2E tool lifecycle coverage; still open and should be verified against the merged Add Gherkin acceptance E2E harness example #2887 slice.
Phase 3: pausable command lifecycle (pause / resume / cancel) #2732 — closed unmerged pausable command lifecycle proof; changelog says an MVP was harvested, but the full pause/resume/cancel design should be compared against current Proposal: universal PreToolUse/PostToolUse hook layer for Cancel/Pause/Resume across all action types #1917 work.
feat(shell_dispatcher): isolate shell dispatcher layer #2290 , feat(tui): add ExternalTool abstraction layer #2294 , feat(tui): add pluggable tool registry #2420 — merged shell dispatcher, ExternalTool, and pluggable tool registry stack.
[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 — tool registry/runtime/external-tool tracking issues remain open even though several bodies say delivered; they need verification/closure or follow-up extraction, not neglect.
feat: configurable auto-compact threshold with Ctrl+L keybinding #1722 /feat: configurable auto-compact threshold with Ctrl+L keybinding #1723 — configurable auto-compact threshold and Ctrl+L proof; current code appears to include much of it, but the issue remains open and should be verified as part of v0.8.59: Add a unified context-budget service for windows, output caps, compaction, and UI pressure #3086 .
QoL: taskbar progress, animated title spinner, and configurable completion sound #1871 /feat: QoL — taskbar progress, animated title spinner, and configurable completion sound (#1871) #1872 — taskbar progress/title spinner/completion sound proof; PR merged, issue still open and needs verification/closure or follow-up.
TUI-freeze-Windows-crossterm-poll #1812 — Windows TUI freeze/crossterm poll report from Paulo; should be checked against the current v0.8.59 TUI reliability work.
Proposed direction
Do proper surgery on the whole Paulo stream:
Build a manifest of all Paulo PRs/issues and classify each as landed, harvested, open proof branch, stale tracker, or still-needed follow-up.
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.
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.
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.
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.
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.
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 .
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.
Keep contributor credit explicit in PR bodies, issue comments, and release notes.
Acceptance criteria
A Paulo stream manifest exists as a comment on this issue or v0.8.59: Review and integrate remaining consistent-contributor PRs through a safe release lane #3100 listing every relevant PR/issue and its disposition.
Refactor TUI command groups into focused implementations #2851 is diff-audited against main; remaining behavior/design deltas are listed before any extraction PR begins.
Remaining command-boundary work is landed in small PRs with EPIC: staged command-boundary refactor for #2791 #2870 /Refactor command dispatch from monolithic match to modular strategy pattern #2791 references, not as an opaque giant merge.
EPIC: staged command-boundary refactor for #2791 #2870 is updated to reflect that refactor(commands): extract registry and parser helpers #2888 already landed Layer 3 and to define the remaining layers precisely.
Enhancement: add Gherkin acceptance E2E coverage for tool lifecycle #2886 is either closed with evidence from Add Gherkin acceptance E2E harness example #2887 or expanded with the next acceptance-harness layer.
[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 are verified against current code/docs and either closed, retitled as follow-ups, or linked to concrete v0.8.59 work.
Phase 3: pausable command lifecycle (pause / resume / cancel) #2732 's pause/resume/cancel design is compared against current Proposal: universal PreToolUse/PostToolUse hook layer for Cancel/Pause/Resume across all action types #1917 and sub-agent cancellation work; missing semantics become acceptance criteria, not forgotten history.
feat: configurable auto-compact threshold with Ctrl+L keybinding #1722 /feat: configurable auto-compact threshold with Ctrl+L keybinding #1723 compaction behavior is verified against current settings, Ctrl+L behavior, docs, and v0.8.59: Add a unified context-budget service for windows, output caps, compaction, and UI pressure #3086 .
QoL: taskbar progress, animated title spinner, and configurable completion sound #1871 /feat: QoL — taskbar progress, animated title spinner, and configurable completion sound (#1871) #1872 notification/title/progress behavior is verified and CodeWhale-branded where needed.
TUI-freeze-Windows-crossterm-poll #1812 is checked against current Windows/TUI freeze fixes and either folded into active v0.8.59 reliability work or closed as resolved/duplicate with evidence.
Release notes credit Paulo for the complete stream, including work that was harvested rather than directly merged.
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.
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:
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_MAPmapsPaulo Aboim Pintoandaboimpintoto@aboimpinto..github/APPROVED_CONTRIBUTORSincludesall:aboimpinto.Major Paulo streams:
Proposed direction
Do proper surgery on the whole Paulo stream:
mainafter 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.user_commandsseparately if still needed.mainhas a clearer implementation. If not taking a piece, document why.Acceptance criteria
main; remaining behavior/design deltas are listed before any extraction PR begins.Verification
Suggested commands for implementation agents:
gh pr view 2851 --json files,commits,body,labels,milestonegh pr diff 2851 --name-onlygh pr diff 2851git log --grep='2871\|2878\|2887\|2888\|2851\|2791' --oneline --allcargo test -p codewhale-tui commands::cargo test -p codewhale-tui command_palettecargo test -p codewhale-tui slash_completioncargo test -p codewhale-tui tools::registry tools::plugin external_tool/config,/model,/share, custom slash commands, pause/cancel/resume, Ctrl+L compaction, and Windows terminal behavior where possible.