diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-10 17:00:04 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-10 17:00:04 +0200 |
| commit | 7eb9f064dfbfc2fafd4d26eaeb7e83ce925fba6f (patch) | |
| tree | 1dc1ff8000522eef621514c2fe9f7a1cf682fa78 | |
| parent | fddfef7cd4ff8ec9cac3e3397ff0a07579abf2c9 (diff) | |
| download | abusectl-7eb9f064dfbfc2fafd4d26eaeb7e83ce925fba6f.tar.gz abusectl-7eb9f064dfbfc2fafd4d26eaeb7e83ce925fba6f.zip | |
fix: re-ask a quoted name or org instead of losing the run
init._quoted() refuses a double quote rather than escaping it, so a name
or organisation containing one raised out of build() after every other
question had been answered, and _cmd_init turned that into an exit code.
An org name is likelier to carry a quote than an API key is, which is the
path Task 8 had just guarded.
Validated at the prompt that asked for it, which is the rule AGENTS.md
records from the hand test that found four instances of the opposite.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0176FYdVfpzUq8S9jecqQqL6
| -rw-r--r-- | abusectl/cli.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/abusectl/cli.py b/abusectl/cli.py index 800ca1a..76ed096 100644 --- a/abusectl/cli.py +++ b/abusectl/cli.py @@ -239,8 +239,12 @@ def _ask_reporter() -> dict: print("is redacted. Leave any of these blank to skip it.") answers = { - "reporter_name": _ask("\nYour name (Enter to skip): "), - "reporter_org": _ask("Your organisation (Enter to skip): "), + # _ask_quotable, not _ask: both values reach init._quoted(), which + # refuses a double quote, and an org name is likelier to carry one + # than an API key is. Re-asked here rather than raised after the + # next question, which is the standing rule this file records. + "reporter_name": _ask_quotable("\nYour name (Enter to skip): "), + "reporter_org": _ask_quotable("Your organisation (Enter to skip): "), "reporter_email": _ask_reporter_email(), } |
