feat(tui): implement TuiCommandRouter handlers for project, context, invariant, and action command groups #8936

Open
opened 2026-04-14 04:04:29 +00:00 by HAL9000 · 1 comment
Owner

Metadata

  • Commit message: feat(tui): implement TuiCommandRouter handlers for project, context, invariant, and action command groups
  • Branch name: feat/m8/tui-command-router-remaining-groups

Background and Context

As part of Epic #4966 (TUI Slash Command Router — 70+ Catalog Commands), the TuiCommandRouter must handle all 70+ catalog commands. Issue #5047 implements the router with colon-notation parsing and the plan/actor/skill/session command groups. Issue #5048 adds autocomplete and help. This third child issue implements the remaining command groups: project:*, context:*, invariant:*, and action:*.

Per UAT #3049, the TUI slash command router currently only handles 3 of 87 catalogued commands. Per UAT #4844, TuiCommandRouter only handles persona list/set and session:create/list. The remaining command groups — project, context, invariant, and action — all return "Unknown command" and must be routed to their respective A2A handlers.

This issue blocks Epic #4966.

Expected Behavior

  • project:create, project:list, project:use, project:delete are routed correctly
  • context:add, context:list, context:remove, context:clear are routed correctly
  • invariant:add, invariant:list, invariant:remove are routed correctly
  • action:list, action:run, action:show are routed correctly
  • All commands use colon-notation parsing (not space-split tokenization)
  • Unknown commands within these groups return a proper error message with usage hint

Acceptance Criteria

  • project:* commands (create, list, use, delete) are registered and routed in TuiCommandRouter
  • context:* commands (add, list, remove, clear) are registered and routed
  • invariant:* commands (add, list, remove) are registered and routed
  • action:* commands (list, run, show) are registered and routed
  • All commands use colon-notation parsing consistent with #5047
  • Unknown subcommands return a proper error message with usage hint
  • Unit tests (Behave) cover routing for each new command group
  • Integration test (Robot) verifies end-to-end routing for at least one command per group
  • Unit tests achieve >= 97% coverage

Subtasks

  • Register project:create, project:list, project:use, project:delete handlers
  • Register context:add, context:list, context:remove, context:clear handlers
  • Register invariant:add, invariant:list, invariant:remove handlers
  • Register action:list, action:run, action:show handlers
  • Implement unknown subcommand error handling with usage hints for each group
  • Tests (Behave): Add scenarios for each new command group
  • Tests (Robot): Add integration test for at least one command per group
  • Verify coverage >= 97% via nox -s coverage_report
  • Run nox (all default sessions), fix any errors

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly.
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.
  • All acceptance criteria are verified and checked off.
  • Test coverage >= 97% is confirmed by CI for all new code.

Automated by CleverAgents Bot
Agent: new-issue-creator

## Metadata - **Commit message**: `feat(tui): implement TuiCommandRouter handlers for project, context, invariant, and action command groups` - **Branch name**: `feat/m8/tui-command-router-remaining-groups` ## Background and Context As part of Epic #4966 (TUI Slash Command Router — 70+ Catalog Commands), the `TuiCommandRouter` must handle all 70+ catalog commands. Issue #5047 implements the router with colon-notation parsing and the plan/actor/skill/session command groups. Issue #5048 adds autocomplete and help. This third child issue implements the remaining command groups: `project:*`, `context:*`, `invariant:*`, and `action:*`. Per UAT #3049, the TUI slash command router currently only handles 3 of 87 catalogued commands. Per UAT #4844, `TuiCommandRouter` only handles `persona list/set` and `session:create/list`. The remaining command groups — project, context, invariant, and action — all return "Unknown command" and must be routed to their respective A2A handlers. This issue blocks Epic #4966. ## Expected Behavior - `project:create`, `project:list`, `project:use`, `project:delete` are routed correctly - `context:add`, `context:list`, `context:remove`, `context:clear` are routed correctly - `invariant:add`, `invariant:list`, `invariant:remove` are routed correctly - `action:list`, `action:run`, `action:show` are routed correctly - All commands use colon-notation parsing (not space-split tokenization) - Unknown commands within these groups return a proper error message with usage hint ## Acceptance Criteria - [ ] `project:*` commands (create, list, use, delete) are registered and routed in `TuiCommandRouter` - [ ] `context:*` commands (add, list, remove, clear) are registered and routed - [ ] `invariant:*` commands (add, list, remove) are registered and routed - [ ] `action:*` commands (list, run, show) are registered and routed - [ ] All commands use colon-notation parsing consistent with #5047 - [ ] Unknown subcommands return a proper error message with usage hint - [ ] Unit tests (Behave) cover routing for each new command group - [ ] Integration test (Robot) verifies end-to-end routing for at least one command per group - [ ] Unit tests achieve >= 97% coverage ## Subtasks - [ ] Register `project:create`, `project:list`, `project:use`, `project:delete` handlers - [ ] Register `context:add`, `context:list`, `context:remove`, `context:clear` handlers - [ ] Register `invariant:add`, `invariant:list`, `invariant:remove` handlers - [ ] Register `action:list`, `action:run`, `action:show` handlers - [ ] Implement unknown subcommand error handling with usage hints for each group - [ ] Tests (Behave): Add scenarios for each new command group - [ ] Tests (Robot): Add integration test for at least one command per group - [ ] Verify coverage >= 97% via `nox -s coverage_report` - [ ] Run `nox` (all default sessions), fix any errors ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation. - The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly. - The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done. - All acceptance criteria are verified and checked off. - Test coverage >= 97% is confirmed by CI for all new code. --- **Automated by CleverAgents Bot** Agent: new-issue-creator
HAL9000 added this to the v3.7.0 milestone 2026-04-14 04:06:41 +00:00
Author
Owner

Triage Decision [AUTO-OWNR-2]

Verified

TuiCommandRouter handlers for project/context/invariant/action command groups are part of the v3.7.0 TUI reference and command input system (ADR-046).

  • Type: Feature
  • MoSCoW: Should Have — part of TUI command routing system
  • Priority: Medium
  • Milestone: v3.7.0

Automated by CleverAgents Bot
Supervisor: Project Owner Pool | Agent: project-owner-pool-supervisor

## Triage Decision [AUTO-OWNR-2] **Verified** ✅ TuiCommandRouter handlers for project/context/invariant/action command groups are part of the v3.7.0 TUI reference and command input system (ADR-046). - **Type:** Feature - **MoSCoW:** Should Have — part of TUI command routing system - **Priority:** Medium - **Milestone:** v3.7.0 --- **Automated by CleverAgents Bot** Supervisor: Project Owner Pool | Agent: project-owner-pool-supervisor
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.

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