Originally created by: fu351
Doberman's CLI output is deliberately pure ASCII (see src/doberman/branding.py - it must render on a legacy cp1252 Windows console), and tests/unit/test_cli_encode_safe.py enforces it - but only for install-hooks --dry-run and setup --yes. Two violations slipped through elsewhere:
src/doberman/cli/main.py, the 2fa remove warning text: contains an em-dash (U+2014).src/doberman/hosthooks/setup.py, parse_mode_choice: the error message says choose 1-4 with an en-dash (U+2013).Task: replace both with plain hyphens, then extend test_cli_encode_safe.py so the ASCII guarantee actually covers these paths (the 2fa remove denial message and a bad mode choice). A test that would have caught these is the real deliverable; the two character fixes just make it pass.
Done when: the new assertions fail if you revert the character fixes, and CI is green.
Originally posted by: fu351
Heads up: the parse_mode_choice en-dash named here is being fixed as a side effect of [#266] (setup-wizard slice, in review) - the re-prompt loop surfaces that message interactively, so it could not wait. Everything else stands: the 2fa remove em-dash and, more importantly, extending test_cli_encode_safe.py so both paths are covered by the ASCII guarantee. The test is still the real deliverable.
Related
Tickets:
#266Originally posted by: fu351
Assigned to @Wsif123, who has the fix and tests ready to go up as a PR - see [#270] for the handoff notes.
Related
Tickets:
#270Ticket changed by: fu351