Skip to content

feat: drop cosmetic title-case + ending-period PR-title rules#7

Open
johnxie wants to merge 1 commit into
mainfrom
chore/drop-cosmetic-title-rules
Open

feat: drop cosmetic title-case + ending-period PR-title rules#7
johnxie wants to merge 1 commit into
mainfrom
chore/drop-cosmetic-title-rules

Conversation

@johnxie

@johnxie johnxie commented Jun 22, 2026

Copy link
Copy Markdown
Member

What & why

Removes two cosmetic rules from verifyPRTitle:

  • TITLE_NOT_CAPITALISEDpr/title-not-capitalised :a:
  • TITLE_HAS_ENDING_PERIODpr/title-has-ending-period :black_circle:

Both flag the conventional-commit subject (first-letter case / trailing period), which is purely cosmetic:

  • Zero release impact. Consuming repos (e.g. taskcade) build release notes via conventional-changelog parsing commit subjects; the parser routes on the lowercase type token only and copies the subject through verbatim — subject case and trailing period are never inspected.
  • Anti-conventional. Capitalising a conventional-commit subject is forbidden by @commitlint/config-conventional (subject-case errors on sentence-case).

Net effect today: ~20 open PRs in taskcade perpetually carry an advisory pr/title-not-capitalised label that gates nothing (the action is advisory-only — no status check) and never clears.

What's kept (untouched)

TYPE_MISSING, ISSUE_REFERENCE_MISSING, FEAT_FIX_NO_SCOPE — the type/scope token is load-bearing (changelog categorisation + version-bump), so those stay. verifyApprovals (ship_it / needs-more-reviewers) untouched.

Build note

The repo's pinned toolchain (ncc 0.28.6 + old tsc) no longer runs on Node 22 (webpack can't resolve node: scheme imports; pinned tsc can't parse newer @octokit .d.ts). lib/index.js is therefore hand-patched to mirror the src change exactly — the diff is symmetric (same enum members + the // Subject block removed from both), and the bundle parses (node --check lib/index.js ✓). Kept-label strings verified present, removed-label strings verified absent in both files. (Out of scope: runs.using: node16 is deprecated — separate modernization.)

Rollout

Pinned @main by consumers, so this propagates on merge. After merge, delete the now-orphaned pr/title-not-capitalised :a: label in each consuming repo (the action no longer self-heals it).

Refs taskade/taskcade#27047

Remove the TITLE_NOT_CAPITALISED and TITLE_HAS_ENDING_PERIOD checks from
verifyPRTitle. They flag the conventional-commit *subject* first-letter case
and a trailing period — both purely cosmetic:

- They have zero effect on releases. Consuming repos build release notes from
  conventional-changelog parsing commit *subjects*; subject case/trailing-period
  are copied through verbatim and never inspected by the parser.
- Capitalising a conventional-commit subject is in fact anti-conventional
  (commitlint config-conventional sets subject-case to error on sentence-case).

The result is ~20 PRs perpetually carrying an advisory 'pr/title-not-capitalised'
label that gates nothing and never clears. Kept rules: TYPE_MISSING,
ISSUE_REFERENCE_MISSING, FEAT_FIX_NO_SCOPE (the type/scope token IS load-bearing
for changelog categorisation + version bump) and the approvals logic — untouched.

lib/index.js is hand-patched to mirror the src change exactly (the repo's pinned
ncc 0.28.6 + tsc toolchain no longer runs on Node 22); diff is symmetric and the
bundle parses (node --check). Refs taskade/taskcade#27047.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes two cosmetic PR-title validation rules (subject first-letter capitalization and trailing period) from the verifyPRTitle logic, aligning PR-title checks more closely with conventional-commit expectations and reducing non-actionable advisory labeling for consuming repositories.

Changes:

  • Removes TITLE_NOT_CAPITALISED and TITLE_HAS_ENDING_PERIOD labels from the TitleLabel enum.
  • Deletes the PR-title “Subject” validation block that previously added/removed those labels.
  • Applies the equivalent change to the checked-in bundled output (lib/index.js).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
src/verifyPRTitle.ts Removes the two cosmetic title-subject label rules and their validation logic.
lib/index.js Mirrors the same removals in the bundled action output.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/verifyPRTitle.ts
Comment on lines 6 to 10
enum TitleLabel {
TYPE_MISSING = 'pr/type-missing :question:',
ISSUE_REFERENCE_MISSING = 'pr/issue-ref-missing :hash:',
TITLE_NOT_CAPITALISED = 'pr/title-not-capitalised :a:',
TITLE_HAS_ENDING_PERIOD = 'pr/title-has-ending-period :black_circle:',
FEAT_FIX_NO_SCOPE = 'pr/feat-fix-no-scope :infinity:',
}
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.

2 participants