Converge default_delete_branch_after_merge, which is on for one repo and off for the rest #807

Open
opened 2026-08-12 23:39:06 +00:00 by coilyco-ops · 0 comments
Member

Observed

coilyco-flight-deck/agentic-os        delete_branch_after_merge = True
coilyco-bridge/deploy                 delete_branch_after_merge = False
coilyco-flight-deck/infrastructure    delete_branch_after_merge = False
coilyco-gaming/sirens-echo            delete_branch_after_merge = False

Why it matters

Where it is off, a merged branch survives. Pushing more commits to that branch
afterwards succeeds silently, fast-forwards the branch, and lands the work
nowhere: no PR points at it and nothing reports the orphan. The commits look
pushed and are not going anywhere.

Where it is on, the branch is gone after merge, so the same mistake reports
* [new branch] in push output instead of a fast-forward. That is not a hard
failure, but it is a visible difference at the moment the mistake is made, and
it costs nothing.

Scope

scripts/forgejo-branch-protection.py already walks every active repo across
the owned orgs and converges branch protection with a diff-and-apply shape.
It does not touch repo-level settings: grep -c "delete_branch" returns 0.

The forgejo-admin skill describes its remit as "branch protection and repo
PR/merge settings
", so repo settings are in the intended scope and simply
have no implementation yet. Extending that script is the natural home rather
than a second tool.

Note

This is the cheap floor, not the real guard. Failing loud on a push to a
merged branch needs a pre-push hook, tracked separately in
coilyco-flight-deck/agentic-os#1034.

## Observed ``` coilyco-flight-deck/agentic-os delete_branch_after_merge = True coilyco-bridge/deploy delete_branch_after_merge = False coilyco-flight-deck/infrastructure delete_branch_after_merge = False coilyco-gaming/sirens-echo delete_branch_after_merge = False ``` ## Why it matters Where it is off, a merged branch survives. Pushing more commits to that branch afterwards succeeds silently, fast-forwards the branch, and lands the work nowhere: no PR points at it and nothing reports the orphan. The commits look pushed and are not going anywhere. Where it is on, the branch is gone after merge, so the same mistake reports `* [new branch]` in push output instead of a fast-forward. That is not a hard failure, but it is a visible difference at the moment the mistake is made, and it costs nothing. ## Scope `scripts/forgejo-branch-protection.py` already walks every active repo across the owned orgs and converges branch protection with a diff-and-apply shape. It does not touch repo-level settings: `grep -c "delete_branch"` returns 0. The `forgejo-admin` skill describes its remit as "branch protection **and repo PR/merge settings**", so repo settings are in the intended scope and simply have no implementation yet. Extending that script is the natural home rather than a second tool. ## Note This is the cheap floor, not the real guard. Failing loud on a push to a merged branch needs a pre-push hook, tracked separately in https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os/issues/1034.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/infrastructure#807
No description provided.