Files
cleveragents-core/robot
HAL9000 b56c824909 fix(tui): repair shell-safety test scaffolding
Three independent test-scaffold defects blocked the unit_tests and
integration_tests gates on PR #6361's shell-safety wiring:

- features/steps/_tui_helpers.py: the mocked-shell helper patched
  cleveragents.tui.input.shell_exec.run_shell_command, but modes.py
  binds the symbol into its own namespace via `from ... import`. The
  patch was inert, and only the CLEVERAGENTS_ALLOW_DANGEROUS_SHELL=1
  gate kept the real `rm -rf /tmp` from running in the behave runner.
  Patch the use site (modes.run_shell_command) instead.

- src/cleveragents/tui/widgets/prompt.py: _FallbackPromptInput (used
  whenever Textual is mocked or unavailable) had no add_class /
  remove_class / has_class, so the new "prompt should be marked as
  dangerous" assertions raised AttributeError and the three new
  scenarios errored. The production path (_TextualPromptInput) already
  inherits these from textual.containers.Horizontal; the fallback now
  mirrors that contract via a small self._classes set.

- robot/tui_shell_safety.robot: Catenate's space-based argument
  separator collapses multi-space indentation, so the Python function
  bodies (warn_callback, deny) landed at column 0 and the helper
  scripts died with IndentationError before either assertion ran.
  Preserve the 4-space indent with ${SPACE * 4} markers.

ISSUES CLOSED: #6361
2026-06-17 00:21:34 -04:00
..