Skip to content

docs: record the CC003 morphology change, and correct what CC003 claims - #13

Merged
shenxianpeng merged 3 commits into
mainfrom
claude/refresh-sample-output-602anc
Aug 8, 2026
Merged

docs: record the CC003 morphology change, and correct what CC003 claims#13
shenxianpeng merged 3 commits into
mainfrom
claude/refresh-sample-output-602anc

Conversation

@shenxianpeng

@shenxianpeng shenxianpeng commented Aug 8, 2026

Copy link
Copy Markdown
Member

Follows commit-check#540, which closed commit-check#526.

rules.md — CC003 said something that is no longer true

The section ended with:

The list of recognised non-imperative verb forms lives in imperatives.py.

That line was pointing readers at the thing that no longer decides anything, and inviting them to treat a rejection as a missing entry — which was the whole complaint in #526. It is replaced with a What it does not do block covering the two behaviours a user will actually run into:

  • the rule does not need to recognise your verb, and a noun-led subject (fix: parser improvements) passes because a noun phrase has no mood to get wrong;
  • it cannot separate a gerund-noun from a gerund, so fix: spelling in the docs is still reported. Stated plainly rather than left to be discovered.

The What it does paragraph needed no change — it already described the new behaviour ("fix, not fixed, fixes, or fixing"). The docs had been right about this all along; the implementation was what didn't match.

changelog.md — a v2.14.0 entry

Filed under Changed, with the measurement (45.5% → 0.97% of git.git's 59,140 subjects), the two classes of subject that newly pass, and the point most worth carrying to users: IMPERATIVES no longer needs additions, so nobody should send a patch adding the verb they just used. Plus a row in the Highlights table.

Two things to decide before merging

The version is (unreleased). pyproject.toml uses dynamic = ["version"] with setuptools_scm, so the number comes from the git tag — there is no file to bump. The date needs filling in when the tag is cut. 2.14.0 rather than 2.13.5 because behaviour changed, and not 3.0.0 because it only loosens: every subject that passed before still passes, so no one's build breaks on upgrade.

The changelog has a gap this PR does not fill. v2.13.2, v2.13.3 and v2.13.4 are released but undocumented here — including commit-check#537, which made a skipped check report as skipped instead of as passed. That one changes what CI shows people, so it probably belongs on this page. I left it out because backfilling three releases is a bigger judgement call than the entry you asked for; happy to write them if you want.

Verification

SOCIAL_CARDS=false mkdocs build --strict is clean — strict mode fails on broken internal links, so the new #v2140 anchor and the rules.md#cc003 cross-link are both resolved. (The social-cards plugin is off only because it fetches Google Fonts, which this sandbox's proxy blocks; netlify.toml already disables it for previews.)

🤖 Generated with Claude Code

https://claude.ai/code/session_01U9zFxq8V4qxG4aMzJhGBFn


Generated by Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated the CC003 guidance to explain imperative validation based on grammatical form rather than a fixed vocabulary list.
    • Documented support for previously unknown verbs and noun-led subjects.
    • Added clarification about potential false positives involving gerund-like nouns.
    • Added an unreleased v2.14.0 changelog entry summarizing improved validation behavior and broader acceptance.

The rules page told readers that CC003's decision lives in imperatives.py.
That stopped being true in commit-check#540: the rule reads the first
word's form, and the word list is now only a stem oracle for the -s case.
Replace that line with what the rule does and does not do, including the
gerund-noun limit it cannot see past.

The changelog entry is filed as unreleased because the version comes from
the git tag; it wants v2.14.0, since nothing that passed before fails now.
@netlify

netlify Bot commented Aug 8, 2026

Copy link
Copy Markdown

Deploy Preview for commit-check ready!

Name Link
🔨 Latest commit 6beb328
🔍 Latest deploy log https://app.netlify.com/projects/commit-check/deploys/6a777e137ff15f0008947951
😎 Deploy Preview https://deploy-preview-13--commit-check.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@shenxianpeng, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 51 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 3b3dc967-de7b-4528-9373-79f2ce0668b2

📥 Commits

Reviewing files that changed from the base of the PR and between c4076dc and 6beb328.

📒 Files selected for processing (2)
  • docs/configuration.md
  • docs/rules.md
📝 Walkthrough

Walkthrough

The documentation adds the unreleased v2.14.0 changelog entry and updates CC003 guidance to describe morphology-based validation, accepted forms, and known false positives.

Changes

CC003 documentation

Layer / File(s) Summary
Document CC003 behavior
docs/changelog.md, docs/rules.md
The changelog records CC003’s morphology-based validation and related acceptance changes. The rule documentation removes the recognized-verb-list reference and describes unknown verbs, noun-led subjects, and gerund-like noun false positives.

Estimated code review effort: 1 (Trivial) | ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the documentation updates for the CC003 morphology change and corrected behavior claims.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/refresh-sample-output-602anc

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/rules.md`:
- Around line 224-226: Update the explanatory sentence in the CC003
documentation to distinguish grammatical classification from actual part of
speech: replace the claim that “spelling” is a gerund in either usage with
wording that says it is classified as a gerund in both uses.
- Around line 216-222: Update the remaining configuration reference in
docs/configuration.md by removing the link or direction to imperatives.py and
replacing it with a description of the rule’s morphology-based behavior: it
evaluates the first word’s form, accepting anything that is not past tense, a
gerund, or third-person singular, including unknown verbs and noun-led subjects.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 2a3f92ab-3de2-47c9-a77e-bf5f0370521b

📥 Commits

Reviewing files that changed from the base of the PR and between c2a42b4 and c4076dc.

📒 Files selected for processing (2)
  • docs/changelog.md
  • docs/rules.md

Comment thread docs/rules.md
Comment thread docs/rules.md Outdated
configuration.md sent readers to imperatives.py from the option table, the
same defect I fixed on the rules page and missed here. Nothing on the site
points at that file now.

Also: 'spelling' in 'spelling in the docs' is a noun, not a gerund. The
rule cannot tell because it reads the ending. Say that instead of
miscalling the part of speech.

Copy link
Copy Markdown
Member Author

docs-sync is red here, and it is not this PR: five pages pin rev: v2.13.1 while the released version is 2.13.4. I reproduced the same five failures against a clean origin/main worktree, and this branch touches only changelog.md, rules.md and configuration.md — none of which contains a rev: pin.

#14 fixes it and is green there, including docs-sync. Merge that first and this goes green once it picks up main; I have deliberately not folded the pin bump in here, since a release-hygiene chore and a rule's documentation are separate changes.

Everything else on this PR is passing, and both CodeRabbit findings are addressed in dbd798c.


Generated by Claude Code

@shenxianpeng
shenxianpeng merged commit 9a3f758 into main Aug 8, 2026
8 checks passed
@shenxianpeng
shenxianpeng deleted the claude/refresh-sample-output-602anc branch August 8, 2026 19:08
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