From 7eb9f064dfbfc2fafd4d26eaeb7e83ce925fba6f Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Thu, 10 Sep 2026 17:00:04 +0200 Subject: 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 Claude-Session: https://claude.ai/code/session_0176FYdVfpzUq8S9jecqQqL6 --- abusectl/cli.py | 8 ++++++-- 1 file 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(), } -- cgit v1.2.3