Skip to content

fix(settings): set squash-merge default message to blank - #519

Merged
ss-o merged 1 commit into
mainfrom
feature-518
Aug 16, 2026
Merged

fix(settings): set squash-merge default message to blank#519
ss-o merged 1 commit into
mainfrom
feature-518

Conversation

@ss-o

@ss-o ss-o commented Aug 16, 2026

Copy link
Copy Markdown
Member

Summary

Documents and applies the actual fix for the Co-authored-by trailer that reappeared on both #516 and #517 (same day, the latter being the PR that added CI enforcement against it — which structurally can't catch this, since GitHub synthesizes the trailer into a commit that doesn't exist until merge time).

Root cause

squash_merge_commit_message: COMMIT_MESSAGES (GitHub's default) aggregates every squashed commit's full message — trailers included — into the merge commit whenever a squash merge runs without an explicit --body.

Fix (already applied to this repo via API, this PR documents it)

gh api -X PATCH repos/z-shell/.github --field squash_merge_commit_title=PR_TITLE --field squash_merge_commit_message=BLANK

Squash merges now default to the PR title only, no body — nothing left to synthesize a trailer from.

Change

Adds a row + rationale to decisions/0013-repository-settings-baseline.md's settings baseline table, required uniformly across all classes (it's a plain repo API setting, not a ruleset, so it isn't class-scaled).

Scope

z-shell/.github only. Org-wide audit/rollout tracked in #518.

Refs #518

…github

squash_merge_commit_message=COMMIT_MESSAGES (GitHub's default)
aggregates every squashed commit's message, trailers included, into
the merge commit whenever --body is omitted -- the actual mechanism
behind the Co-authored-by trailer that reappeared on both #516 and
#517 in one day. A pre-merge commit-lint check cannot catch this: the
trailer is synthesized into a commit that does not exist until merge
time.

Sets squash_merge_commit_title=PR_TITLE and
squash_merge_commit_message=BLANK via the repos API so there is
nothing to synthesize a trailer from, regardless of --body. Adds the
setting and its rationale to decisions/0013-repository-settings-baseline.md.

Org-wide audit/rollout tracked in #518.
@ss-o
ss-o requested a review from a team as a code owner August 16, 2026 20:04
@ss-o ss-o added type:maintenance Non-feature maintenance, cleanup, or org work. area:meta Organization-wide policy, templates, or meta-repo work. labels Aug 16, 2026
@ss-o
ss-o merged commit 85bf234 into main Aug 16, 2026
7 checks passed
@ss-o
ss-o deleted the feature-518 branch August 16, 2026 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:meta Organization-wide policy, templates, or meta-repo work. type:maintenance Non-feature maintenance, cleanup, or org work.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant