UAT: TUI TuiCommandRouter handles only 3 slash command groups (persona, session, help) — 10+ groups from spec are unimplemented #4517

Closed
opened 2026-04-08 14:16:09 +00:00 by HAL9000 · 1 comment
Owner

Bug Report

Feature Area: TUI — Reference and Command System (Slash Commands)

Severity: Medium


What Was Tested

Code-level analysis of src/cleveragents/tui/commands.py TuiCommandRouter.handle() against the spec's complete slash command reference.

Expected Behavior (from spec)

Per docs/specification.md §29397 (Complete Command Reference), the TUI slash command system must handle the following command groups:

Group Commands
Session session:create, session:list, session:show, session:switch, session:close, session:delete, session:rename, session:export, session:import
Persona persona:list, persona:set, persona:create, persona:edit, persona:delete, persona:export, persona:import
Scope scope:add, scope:remove, scope:clear, scope:show
Plan plan:use, plan:list, plan:status, plan:tree, plan:execute, plan:apply, plan:cancel, plan:diff, plan:correct, plan:resume, plan:revert, plan:rollback, plan:explain, plan:errors, plan:artifacts, plan:inspect
Project project:list, project:create, project:show, project:delete, project:inspect, project:context:show
Actor actor:list, actor:show, actor:set-default
Resource resource:list, resource:show, resource:tree, resource:inspect
Config config:list, config:get, config:set
Tool tool:list, tool:show
Skill skill:list, skill:show
Invariant invariant:list, invariant:add, invariant:remove
Profile profile:list, profile:show
Context context:inspect, context:set, context:simulate
Utility clear, theme, settings, help, about, debug

Actual Behavior

The TuiCommandRouter.handle() method in src/cleveragents/tui/commands.py (lines 48-58) only dispatches to 3 command groups:

def handle(self, raw: str, *, session_id: str) -> str:
    tokens = raw.strip().split()
    if not tokens:
        return "Empty command"
    if tokens[0] == "persona":
        return self._persona_command(tokens[1:], session_id=session_id)
    if tokens[0] == "session":
        return self._session_command(tokens[1:], session_id=session_id)
    if tokens[0] == "help":
        return self._help_command(tokens[1:])
    return f"Unknown command: /{raw}"  # ← All other commands fall through

Missing command groups (11 of 14 groups unimplemented):

  • scope:* — all 4 scope commands
  • plan:* — all 16 plan commands
  • project:* — all 6 project commands
  • actor:* — all 3 actor commands
  • resource:* — all 4 resource commands
  • config:* — all 3 config commands
  • tool:* — all 2 tool commands
  • skill:* — all 2 skill commands
  • invariant:* — all 3 invariant commands
  • profile:* — all 2 profile commands
  • context:* — all 3 context commands
  • Utility: clear, theme, settings, about, debug

Additionally, within the persona group, only list and set are implemented — create, edit, delete, export, import all return "Unknown persona command".

Within the session group, only show, export, and import are implemented — create, list, switch, close, delete, rename all return "Unknown session command".

Code Location

src/cleveragents/tui/commands.py, lines 48-58 (handle method), lines 95-104 (_persona_command), lines 106-113 (_session_command)

Spec References

  • docs/specification.md §29397 (Complete Command Reference)
  • docs/specification.md §29413 (Persona Commands)
  • docs/specification.md §29425 (Scope Commands)
  • docs/specification.md §29434 (Plan Commands)
  • docs/specification.md §29455 (Project Commands)

Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: uat-tester

## Bug Report **Feature Area:** TUI — Reference and Command System (Slash Commands) **Severity:** Medium --- ## What Was Tested Code-level analysis of `src/cleveragents/tui/commands.py` `TuiCommandRouter.handle()` against the spec's complete slash command reference. ## Expected Behavior (from spec) Per `docs/specification.md` §29397 (Complete Command Reference), the TUI slash command system must handle the following command groups: | Group | Commands | |-------|----------| | Session | `session:create`, `session:list`, `session:show`, `session:switch`, `session:close`, `session:delete`, `session:rename`, `session:export`, `session:import` | | Persona | `persona:list`, `persona:set`, `persona:create`, `persona:edit`, `persona:delete`, `persona:export`, `persona:import` | | Scope | `scope:add`, `scope:remove`, `scope:clear`, `scope:show` | | Plan | `plan:use`, `plan:list`, `plan:status`, `plan:tree`, `plan:execute`, `plan:apply`, `plan:cancel`, `plan:diff`, `plan:correct`, `plan:resume`, `plan:revert`, `plan:rollback`, `plan:explain`, `plan:errors`, `plan:artifacts`, `plan:inspect` | | Project | `project:list`, `project:create`, `project:show`, `project:delete`, `project:inspect`, `project:context:show` | | Actor | `actor:list`, `actor:show`, `actor:set-default` | | Resource | `resource:list`, `resource:show`, `resource:tree`, `resource:inspect` | | Config | `config:list`, `config:get`, `config:set` | | Tool | `tool:list`, `tool:show` | | Skill | `skill:list`, `skill:show` | | Invariant | `invariant:list`, `invariant:add`, `invariant:remove` | | Profile | `profile:list`, `profile:show` | | Context | `context:inspect`, `context:set`, `context:simulate` | | Utility | `clear`, `theme`, `settings`, `help`, `about`, `debug` | ## Actual Behavior The `TuiCommandRouter.handle()` method in `src/cleveragents/tui/commands.py` (lines 48-58) only dispatches to 3 command groups: ```python def handle(self, raw: str, *, session_id: str) -> str: tokens = raw.strip().split() if not tokens: return "Empty command" if tokens[0] == "persona": return self._persona_command(tokens[1:], session_id=session_id) if tokens[0] == "session": return self._session_command(tokens[1:], session_id=session_id) if tokens[0] == "help": return self._help_command(tokens[1:]) return f"Unknown command: /{raw}" # ← All other commands fall through ``` **Missing command groups** (11 of 14 groups unimplemented): - `scope:*` — all 4 scope commands - `plan:*` — all 16 plan commands - `project:*` — all 6 project commands - `actor:*` — all 3 actor commands - `resource:*` — all 4 resource commands - `config:*` — all 3 config commands - `tool:*` — all 2 tool commands - `skill:*` — all 2 skill commands - `invariant:*` — all 3 invariant commands - `profile:*` — all 2 profile commands - `context:*` — all 3 context commands - Utility: `clear`, `theme`, `settings`, `about`, `debug` Additionally, within the `persona` group, only `list` and `set` are implemented — `create`, `edit`, `delete`, `export`, `import` all return "Unknown persona command". Within the `session` group, only `show`, `export`, and `import` are implemented — `create`, `list`, `switch`, `close`, `delete`, `rename` all return "Unknown session command". ## Code Location `src/cleveragents/tui/commands.py`, lines 48-58 (`handle` method), lines 95-104 (`_persona_command`), lines 106-113 (`_session_command`) ## Spec References - `docs/specification.md` §29397 (Complete Command Reference) - `docs/specification.md` §29413 (Persona Commands) - `docs/specification.md` §29425 (Scope Commands) - `docs/specification.md` §29434 (Plan Commands) - `docs/specification.md` §29455 (Project Commands) --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
Author
Owner

Closing as duplicate of #4399. Both issues describe the same bug: TUI TuiCommandRouter only handles 3 slash command groups (persona/session/help) instead of all spec-required groups. Issue #4399 is older and covers the same root cause.


Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: backlog-groomer

Closing as duplicate of #4399. Both issues describe the same bug: TUI TuiCommandRouter only handles 3 slash command groups (persona/session/help) instead of all spec-required groups. Issue #4399 is older and covers the same root cause. --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: backlog-groomer
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core#4517
No description provided.