Files
temp/features
freemo a57728e3be fix(tui): make /help command list all catalogued slash commands from SLASH_COMMAND_SPECS
Replace the hardcoded help string in TuiCommandRouter.handle() with a
dynamic lookup against SLASH_COMMAND_SPECS from slash_catalog.py.

Changes:
- Add _help_command(), _help_list_all(), _help_for_command() methods to
  TuiCommandRouter
- /help (no args): iterates SLASH_COMMAND_SPECS, groups commands by
  namespace (sorted alphabetically), renders all 70 commands with
  descriptions in colon-namespaced format (e.g. persona:list)
- /help <command>: looks up the given command in SLASH_COMMAND_SPECS and
  renders its full help (group, description)
- /help <unknown>: returns 'Unknown command: /<cmd>' message
- /help /persona:list (with leading slash): strips the slash and resolves
  correctly
- Import defaultdict and SLASH_COMMAND_SPECS at module level

Tests:
- Update tui_commands_coverage.feature: replace old exact-match scenario
  for help text with new dynamic-listing assertions
- Add tui_commands_coverage_steps.py: new 'should contain' step definition
- Add tui_help_command_full_catalog.feature: 12 BDD scenarios covering
  /help no-args, /help <command>, /help <unknown>, namespace grouping,
  colon-namespaced format, and regression against old hardcoded string
- Add tui_help_command_full_catalog_steps.py: step definitions for the
  new feature (all-commands check, not-equal assertion)
- Add robot/tui_help_command.robot: 5 Robot Framework integration tests
  verifying the help command via direct Python invocation and headless
  TUI startup

Closes #3434

---
**Automated by CleverAgents Bot**
Supervisor: Implementation | Agent: ca-issue-worker
2026-04-05 17:46:00 +00:00
..