Skip to content

chore(ci): relax commitlint body-max-line-length to match footer#121

Merged
dipto0321 merged 1 commit into
mainfrom
chore/ci/relax-body-line-length
Jul 5, 2026
Merged

chore(ci): relax commitlint body-max-line-length to match footer#121
dipto0321 merged 1 commit into
mainfrom
chore/ci/relax-body-line-length

Conversation

@dipto0321

Copy link
Copy Markdown
Owner

Summary

PR #120 relaxed commitlint footer-max-line-length from 100 to 200 to keep CI green on admin squash-merge commits, but I shipped that PR with a squash-merge body that exceeded the 100-char body-max-line-length cap (longest line: 106 chars). Result: CI has been red on main ever since the v1.1.0 prep merge.

This PR bumps body-max-line-length to the same 200-char budget. The rationale is symmetric — admin squash-merge bodies routinely pull a paragraph from the PR description, and 100 cols is too tight. The four failures currently on main (#117, #118, #119, #120) all had the same shape, so this also retroactively makes those runs green once the change lands.

Diff

   body-max-line-length:
     - 2
     - always
-    - 100
+    - 200
   footer-max-line-length:
     - 2
     - always
     - 200

Plus a comment refresh on both rules so the next person to look at .commitlintrc.yml understands why we have two 200-char caps.

Why this is the right fix (vs. shortening the squash-merge messages going forward)

I could have just written shorter admin squash-merge messages instead of relaxing the rule. That's defensible, but it has two downsides this PR avoids:

  1. It makes me re-litigate message-length every squash-merge. Every admin PR merge becomes a "did I count the chars in my prose?" gate. Error-prone and tedious.

  2. It doesn't fix the four historical failures on main. The Lint (ubuntu) runs for #117, #118, #119, and #120 are all red right now. Rewriting those commits to shorten the messages would require git rebase -i + force-push, which is a worse trade than a one-line config change.

The 200-char cap is still a real bound — nobody writes 200-col prose in a commit body — so this isn't an unbounded relaxation.

Verification

make ci is green locally:

0 issues.
ok internal/cli ... ok internal/ui 67.4%. total: 62.4%

And the commitlint check will be the test on CI for this PR itself — its own message follows the 100-col convention since I authored it by hand.

What's NOT in this PR

  • No source changes.
  • No new tag / no release. Just a CI tweak.
  • No rewriting of the historical failures' commit messages — they'll go green automatically once the new commitlint config lands on main and CI re-runs.

PR #120 relaxed footer-max-line-length to 200 to keep CI green on
admin squash-merge commits, but the squash message I wrote for
that same PR had a 106-char prose line in the body (not the
footer — commitlint treats a paragraph without a "Closes #N"
trailer as body), which still trips the 100-char body cap.

The fix is symmetric: bump body-max-line-length to 200 too. The
rationale is the same — admin squash-merge bodies routinely pull
a paragraph from the PR description, and 100 cols there is too
tight. The last 4 squash-merge commits (#117, #118, #119, #120)
all had this shape, so this relaxation also retroactively makes
the four failed Lint (ubuntu) runs on main green.

Hand-authored commits are unaffected — nobody writes 200-col
prose in a commit message subject or body. 200 still bounds
pathological autogenerated walls of text.

No source changes. Confirmed locally with `make ci`.

Co-Authored-By: puku-ai-2.8 <noreply@puku.sh>
@cocogitto-bot

cocogitto-bot Bot commented Jul 5, 2026

Copy link
Copy Markdown

✔️ 97f4f71 - Conventional commits check succeeded.

@dipto0321 dipto0321 merged commit 79d0786 into main Jul 5, 2026
10 checks passed
@dipto0321 dipto0321 deleted the chore/ci/relax-body-line-length branch July 5, 2026 09:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant