Repository navigation
Fail the Semantic Diff check for commits without a description - #9097
Conversation
Commits with only a subject, like #9075's, leave their Semantic Diff cards empty. The records format already requires a description; `commitRecords.js --check` now enforces it after the comment is drawn, and CONTRIBUTING.md, the PR template and AGENTS.md say so. Diagnostic added (commit without a description): After (text): A commit has no description: a1bc9e1 Add missing JSX DOM event bindings Below its subject, a commit message says why the commit is made, as a line or two of prose or a `Why:` section (see "Commit messages" in CONTRIBUTING.md). Add one with `git rebase -i`, marking these commits `reword`, or squash them into a commit that has one, and force-push. Review: What counts as a description? A paragraph of prose, or a `Why:` section with content. Object blocks, code and trailers alone don't count. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kbf3gJ4f9jQinqHFuszdea Signed-off-by: Christoph Knittel <ck@cca.io>
Changelog🏠 Internal
Semantic Diff3 commits · Full page Fail the Semantic Diff check for commits without a description2218c1c · cknitt + Claude · Oct 28, 2026, 13:40 UTC Commits with only a subject, like #9075's, leave their Semantic Diff cards empty. The records format already requires a description; Diagnostic added (commit without a description)
Review
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #9097 +/- ##
==========================================
+ Coverage 81.43% 81.46% +0.03%
==========================================
Files 459 460 +1
Lines 64546 64675 +129
==========================================
+ Hits 52560 52689 +129
Misses 11986 11986 🚀 New features to boost your workflow:
|
The skill already requires a description, and the failing check explains itself, so naming the script there adds nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kbf3gJ4f9jQinqHFuszdea Signed-off-by: Christoph Knittel <ck@cca.io>
The checklist now follows the order of a commit message: the description comes before the Signed-off-by trailer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kbf3gJ4f9jQinqHFuszdea Signed-off-by: Christoph Knittel <ck@cca.io>
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Another round soon, please! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
rescript
@rescript/belt
@rescript/darwin-arm64
@rescript/linux-arm64
@rescript/linux-x64
@rescript/runtime
@rescript/win32-x64
commit: |
|
Developer playground preview: https://rescript-lang.github.io/rescript/dev-playground/?version=pr-9097 |
PRs like #9075 have commits with only a subject and a sign-off, so their Semantic Diff cards are empty. The records format already requires a description, but nothing checked it. Human contributors couldn't know about it, and agents tend to skip it on small follow-up commits. In the last 80 PRs, #9075, #9090, #9031, #9049 and #9043 have such commits.
scripts/commitRecords.js --check <range>fails when a commit has no description, naming the commits and how to fix them. A description is a paragraph of prose, or aWhy:section with content; object blocks, code or trailers alone don't count.--checkworks without--out.semantic_diff.ymlruns the check as the last step, after the page and comment are posted, so the comment still shows the records. Fork PRs run the default branch's script, as for rendering.New test:
--check names the commits without a description and failscovers prose, aWhy:block and aWhy:line passing, and subject-only, trailers-only, blocks-only and empty-Why:commits failing.To make the check block merging, add the Semantic Diff job to the required checks.
🤖 Generated with Claude Code
https://claude.ai/code/session_01Kbf3gJ4f9jQinqHFuszdea