delete domain: converge madt_delete to the strict ADR - irreversible deletes point at the web UI #209
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sixfold-space/madtea#209
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #206; implements ADR 0029 (#207) for the gated destructive domain.
madt_delete currently offers irreversible deletion of repo, issue, release, tag, and wiki page behind madt_enable(domains=["destructive"]) plus an elicitation confirm. Both gates are soft: madt_enable is agent-callable, and the elicitation confirm is skipped entirely on a client that does not support elicitation ("zero regression" fallback in issuesDelete) - so on those clients an agent deletes irreversibly with zero user consent. That fail-open gap is the demonstration case for the ADR.
Converge per the #207 classification table:
Acceptance criteria:
Scope note from the ADR 0029 classification table (once #207 merges): the omit list covers BOTH surfaces per operation - not just madt_delete but also the CLI commands
repo delete,issue delete,release delete(release_assets.go's release deleteCmd),tagapi delete, andwiki delete. All five convert to refusals naming the forge web UI (wiki refusals may also name the wiki git history). Recoverable deletes (assets, comments, attachments, labels, milestones, webhooks, avatar) stay untouched.