When wizard prompt functions (prompt_text, prompt_number, select_option,
select_with_default) were used with command substitution, ANSI-colored
prompts were captured along with user responses, corrupting .ralphrc
values like: PROJECT_NAME="[0;36mProject name[0m [value]: value"
Fix:
- Redirect all display output (colored prompts, validation messages) to
stderr using >&2, matching the pattern already used by select_multiple()
- Keep only the actual response/result on stdout for command substitution
Changes:
- lib/wizard_utils.sh: Add >&2 to prompt_text (lines 84-87),
prompt_number (lines 118-121, 131-151), confirm (lines 44, 60),
select_option (lines 190-215), select_with_default (lines 330-364)
- tests/unit/test_wizard_utils.bats: Add 20 new tests for stdout/stderr
separation and clean command substitution results
- CLAUDE.md: Update test count to 420
Test count: 420 (up from 396)
Co-authored-by: Test User <test@example.com>