diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-10 17:26:17 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-10 17:26:17 +0200 |
| commit | a6ead5cb8904cd46d3f3c6f6e4c4b3bc9bc2bb0b (patch) | |
| tree | dab9115f1c4ee9113690094a459c4e4d668276ad /docs/specs | |
| parent | fa9d51612259c484448815162bba7a199bca60c7 (diff) | |
| download | abusectl-a6ead5cb8904cd46d3f3c6f6e4c4b3bc9bc2bb0b.tar.gz abusectl-a6ead5cb8904cd46d3f3c6f6e4c4b3bc9bc2bb0b.zip | |
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/specs')
0 files changed, 0 insertions, 0 deletions
