aboutsummaryrefslogtreecommitdiffstats
path: root/docs/plans/2026-09-09-contacts.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-10 17:26:17 +0200
committerDanilo M. <danix@danix.xyz>2026-09-10 17:26:17 +0200
commita6ead5cb8904cd46d3f3c6f6e4c4b3bc9bc2bb0b (patch)
treedab9115f1c4ee9113690094a459c4e4d668276ad /docs/plans/2026-09-09-contacts.md
parentfa9d51612259c484448815162bba7a199bca60c7 (diff)
downloadabusectl-master.tar.gz
abusectl-master.zip
fix: ask before keeping a destination the user skippedHEADmaster
Skipping a destination at init left the previous one in the file. Sections a run does not render are preserved verbatim, which is what stops an init setting only the relays from discarding a key set earlier, but a skip is a deliberate "do not use this" and the two rules collided. Declining MISP re-enabled the instance from an earlier run, and MISP is the gate for everything irreversible, so report would have submitted to an instance the user had just said no to. Both vendors behaved the same way. Found by hand-testing the prompts, which is why they are hand-tested: no unit test covers a sequence of runs, and the suite was green throughout. write() gains `drop`, the sections the user was ASKED about and skipped, which join the set _preserved_sections already drops. An unasked section is still preserved, so the non-interactive path and the existing carry-across tests are unchanged. The prompt only fires when a section BOTH exists and was skipped, and Enter keeps it: removal is the destructive answer and has to be typed. DESTINATION_ANSWER_KEYS is derived from _DESTINATION_FIELDS rather than written out again, so a destination added later cannot be forgotten here. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0176FYdVfpzUq8S9jecqQqL6
Diffstat (limited to 'docs/plans/2026-09-09-contacts.md')
0 files changed, 0 insertions, 0 deletions