Skip to content

Phase 3 command consolidation: 64 → 42 visible slash commands (#73)#80

Closed
BunsDev wants to merge 8 commits into
mainfrom
worktree-issue-73-phase3-commands
Closed

Phase 3 command consolidation: 64 → 42 visible slash commands (#73)#80
BunsDev wants to merge 8 commits into
mainfrom
worktree-issue-73-phase3-commands

Conversation

@BunsDev

@BunsDev BunsDev commented Jun 11, 2026

Copy link
Copy Markdown
Member

Implements the maintainer-approved disposition matrix from #73 in seven focused commits (one per cluster, easing upstream Claurst merges per COVEN.md). The visible surface (PROMPT_SLASH_COMMANDS minus typeahead-only aliases) lands at exactly 42 commands, within the signed-off 41–42 tolerance.

Housekeeping

  • Expired Phase 2 aliases removed/color, /vim, /voice, /statusline, /terminal-setup, /cost, /context, /undo, /revert no longer resolve. Their impls remain as delegation targets of /config, /usage, and /rewind (UndoCommand deleted outright — /rewind dispatches undo directly to RevertCommand). The TUI intercept arms for the legacy names are gone too.

Folds (each old name stays callable as a hidden one-release alias)

Old New
/upgrade already an alias of /update; autocomplete entry dropped
/stats /usage stats (TUI still opens the live stats dialog)
/agents, /managed-agents /agent (list/create/edit/delete/reset, managed; bare /agent opens the TUI browser, /agent reset jumps to reset-confirm)
/fork, /branch, /tag, /add-dir /session <sub> (and /session <args> now reaches the command layer instead of always opening the browser)
/copy, /share /export copy [n], /export share (/export copy reuses the live clipboard intercept)
/switch /login switch (no profile id → lists accounts)
/refresh /providers refresh (per sign-off — it's a providers operation)
/think-back /thinking back [play]
/keybindings, /theme, /output-style, /import-config, /advisor /config <sub> (theme picker, keybindings editor, live style cycle, and import picker all stay reachable from the TUI)
/reload-plugins /plugin reload
/pr-comments /review comments (routed past the diff-viewer intercept)
/doctor /status doctor
/goal /coven goal (documented in /coven help)

/fast stays standalone per sign-off. Named CLI commands (coven-code <name>, incl. the coven-code upgrade fast-path) are untouched.

Mechanics

  • NamedCommandAdapter gains a slash_hidden flag so adapter-backed commands (agents/branch/tag/add-dir/pr-comments) can hide like struct commands.
  • The prompt_slash_commands_covers_registry test enforces surface↔registry consistency at every commit; stats left the allow-list, and the Phase 2 grace-period test now asserts full removal.
  • TUI routing: /usage stats, /agent, /export copy, /config theme|keybindings|output-style|import, and /review comments map to the same live overlays/intercepts the standalone commands used.

Docs

docs/commands.md retitled every folded section to its new form with "formerly /old" compatibility notes and states the 42-command surface; docs/AUDIT-2026-06.md §4 records Phase 3 as landed.

Testing

cargo test --workspace: 1596 passed, 0 failed at the final commit (and the commands+tui suites pass at every intermediate commit). No new clippy warnings; fmt clean.

Closes #73

🤖 Generated with Claude Code

BunsDev and others added 7 commits June 10, 2026 23:55
The one-release grace period for the Phase 2 fold aliases ends with the
next release. /color, /vim, /voice, /statusline, /terminal-setup,
/cost, /context, /undo, and /revert are no longer registered; their
impls remain as delegation targets of /config, /usage, and /rewind
(UndoCommand is deleted outright — /rewind dispatches "undo" directly
to RevertCommand). The TUI intercept arms for the legacy names go with
them.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ts, /managed-agents (#73)

- /upgrade was already an alias of /update; drop its separate
  autocomplete entry.
- /stats folds into /usage stats. The TUI routes /usage stats to the
  same live statistics dialog; /stats stays callable as a hidden
  one-release alias.
- /agents and /managed-agents fold into a single /agent umbrella:
  /agent list|create|edit|delete|reset manage sub-agent definitions,
  /agent managed configures the manager-executor system, bare /agent
  opens the TUI agents browser (and /agent reset jumps to the reset
  confirm, mirroring the old /agents reset). Both old names remain as
  hidden one-release aliases; NamedCommandAdapter gains a slash_hidden
  flag to support hiding adapter-backed commands.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
/fork, /branch, /tag, and /add-dir become /session subcommands —
they're all operations on the active session, not standalone concepts.
/session rename keeps its existing fold. In the TUI, /session with
arguments now reaches the command layer instead of unconditionally
opening the session browser (bare /session still opens it). Old names
remain hidden one-release compatibility aliases.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- /copy → /export copy [n] and /share → /export share: both are
  variants of exporting the conversation, not standalone concepts. In
  the TUI, /export copy reuses the live clipboard intercept; bare
  /export keeps opening the export dialog.
- /switch → /login switch (with no profile id it lists stored
  accounts, preserving the /accounts fold).
- /refresh → /providers refresh: it clears provider caches, so it's
  semantically a providers operation (per maintainer sign-off).

Old names remain hidden one-release compatibility aliases.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
/theme, /keybindings, /output-style, /import-config, and /advisor
become /config subcommands. In the TUI, /config theme still opens the
theme picker, /config keybindings opens keybindings.json, /config
output-style cycles the live style, and /config import opens the
import picker; argument forms (/config theme dark, /config advisor
<model>, …) render via the command layer. Old names remain hidden
one-release compatibility aliases.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- /think-back → /thinking back (with `play` as a sub-argument,
  preserving the Phase 1 /think-back play fold)
- /reload-plugins → /plugin reload (the subcommand already existed;
  the standalone now hides)
- /pr-comments → /review comments; the TUI routes it to the command
  layer instead of the diff viewer
- /doctor → /status doctor
- /goal → /coven goal (durable goals are Coven-substrate workflow
  state); /coven help documents the new subcommand

Old names remain hidden one-release compatibility aliases. /fast stays
standalone per maintainer sign-off (high-frequency mid-session toggle).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
docs/commands.md now documents the consolidated forms (/usage stats,
/agent, /session fork|branch|tag|add-dir, /export copy|share,
/login switch, /providers refresh, /thinking back, /config
theme|keybindings|output-style|import|advisor, /plugin reload,
/review comments, /status doctor, /coven goal) with one-line
"formerly /<old>" compatibility notes, and states the 42-command
visible surface. AUDIT-2026-06.md §4 records Phase 3 as landed.

The TUI help-overlay category map drops the folded names, and a
clippy trim_split_whitespace nit from the /review routing is fixed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 11, 2026 05:13
@vercel

vercel Bot commented Jun 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Jun 11, 2026 5:13am

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR completes “Phase 3” of the slash-command surface consolidation (per #73), reducing the visible TUI command list to 42 commands by folding legacy standalone commands into subcommands (while keeping old names callable as hidden compatibility aliases for one release), and updating TUI routing + docs accordingly.

Changes:

  • Consolidates multiple legacy slash commands under umbrella commands (e.g., /usage stats, /agent …, /session …, /export …, /login switch, /providers refresh, /thinking back, /status doctor, /coven goal).
  • Adds a slash_hidden flag to NamedCommandAdapter so adapter-backed slash commands can be hidden like struct-backed commands.
  • Updates TUI intercept routing, tests, and documentation to reflect the new 42-command visible surface and folds.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src-rust/crates/tui/src/lib.rs Updates a TUI test expectation from /agents to /agent.
src-rust/crates/tui/src/app.rs Updates PROMPT_SLASH_COMMANDS, help categorization, and slash-command intercept routing for the new consolidated commands.
src-rust/crates/commands/src/lib.rs Implements consolidation in the command layer, introduces NamedCommandAdapter.slash_hidden, updates help/dispatch for folded commands, and adjusts tests to enforce registry↔surface consistency.
docs/commands.md Retitles/restructures command docs to the consolidated forms, adds Phase 3 surface statement (42 commands), and updates examples/compatibility notes.
docs/AUDIT-2026-06.md Records Phase 3 consolidation as landed and enumerates the new folded command surface.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src-rust/crates/commands/src/lib.rs Outdated
slash_hidden: true,
target_name: "add-dir",
slash_aliases: &[],
slash_description: "Add a directory to Coven Code's allowed workspace paths",
slash_hidden: true,
target_name: "agents",
slash_aliases: &[],
slash_description: "Manage and configure sub-agents",
slash_hidden: true,
target_name: "branch",
slash_aliases: &[],
slash_description: "Create a branch of the current conversation at this point",
slash_hidden: true,
target_name: "tag",
slash_aliases: &[],
slash_description: "Toggle a searchable tag on the current session",
@BunsDev

BunsDev commented Jun 11, 2026

Copy link
Copy Markdown
Member Author

Closing as superseded by merged PR #78, which closed #73 and is already included in main/release v0.0.26. This PR is now conflicting because main has the same Phase 3 command-consolidation work plus the release commit.

@BunsDev BunsDev closed this Jun 11, 2026
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@BunsDev BunsDev deleted the worktree-issue-73-phase3-commands branch June 11, 2026 05:31
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.

Phase 3 command consolidation: 64 → ~40 slash commands

2 participants