feat(guard)!: #665 refuse every default-branch commit, with no override #776

Merged
hexajon merged 1 commit from issue-665-commit-no-override into main 2026-10-15 21:07:13 +00:00
Owner

Summary

madt_commit and madtea commit now refuse a commit on the default branch with no
override: the allow_default_branch MCP parameter and the --allow-default-branch
CLI flag are removed with no alias, and the merge/revert/cherry-pick in-progress
exemption is gone (ADR 0006, ADR 0046). Only the first commit in an empty repo
stays exempt, keyed on git state, not config. The refusal names the
feature-branch next step. Two own-repo completion tests that committed on main
move to a feature branch - a direct consequence of removing the in-progress
exemption.

Refs #665

## Summary madt_commit and madtea commit now refuse a commit on the default branch with no override: the allow_default_branch MCP parameter and the --allow-default-branch CLI flag are removed with no alias, and the merge/revert/cherry-pick in-progress exemption is gone (ADR 0006, ADR 0046). Only the first commit in an empty repo stays exempt, keyed on git state, not config. The refusal names the feature-branch next step. Two own-repo completion tests that committed on main move to a feature branch - a direct consequence of removing the in-progress exemption. Refs #665
feat(guard): #665 remove the default-branch commit override
Some checks failed
drift / surface-diff (pull_request) Successful in 2m46s
ci / mcp-conformance (push) Successful in -30s
drift / govulncheck (push) Has been skipped
drift / surface-diff (push) Successful in -37s
drift / forgejo-smoke (push) Has been skipped
ci / gate (pull_request) Failing after 10m34s
drift / govulncheck (pull_request) Has been skipped
ci / gate (push) Successful in 10m55s
ci / mcp-conformance (pull_request) Successful in 1m11s
drift / forgejo-smoke (pull_request) Has been skipped
b94853006b
madt_commit and madtea commit no longer take a per-call override for the
default-branch guard. The MCP allow_default_branch parameter and the CLI
--allow-default-branch flag are removed, with no alias and no replacement.
The guard now names only the feature-branch next step (ADR 0046).

A commit that completes an in-progress merge, revert, or cherry-pick on the
default branch is refused too: every change after the first push lands on a
branch (ADR 0006). Only the empty-repo first commit stays exempt, keyed on
git state. The own-repo completion flow runs on a feature branch.

Breaking: the default-branch override is gone.
Sign in to join this conversation.
No reviewers
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
sixfold-space/madtea!776
No description provided.