Repository navigation
fix(commitlint): align subject-case with conventional-commits standard - #187
Merged
Merged
Conversation
The bespoke subject-case rule forced all-lowercase subjects and rejected proper nouns (EverOS, HTTP), so a PR title like "... with EverOS HTTP backend" passed the PR-title check but failed commit-lint on the squash commit after merge. Switch to the standard config-conventional value, which forbids Title Case / ALL CAPS / Sentence case but allows lowercase subjects with mid-sentence proper nouns. Co-authored-by: Claude (claude-opus-4-8) <noreply@anthropic.com>
alwaysday1
approved these changes
Jul 22, 2026
0xKT
added a commit
that referenced
this pull request
Jul 22, 2026
## Summary Bump version from 0.1.7 to 0.1.8. Release commit only touches `pyproject.toml` and `uv.lock` (kept in sync via `uv lock`). Changes bundled into this release since v0.1.7: - feat(importer): cold-start import from other AI tools with EverOS HTTP backend (#170) - fix(build): pin locked dependency versions in installers (#185) - fix(cli): stop blank api key exiting deep_research prompt (#184) - fix: use redirect-free install.ps1 url on windows powershell 5.1 (#182) - fix(tui): brighten selection highlight for readability (#175) - fix(commitlint): align subject-case with conventional-commits standard (#187) ## Type - [x] Other ## Verification - [x] Relevant lint / type checks pass locally ``` python3 scripts/check_commit_messages.py origin/main..HEAD # exit 0 git diff --stat # pyproject.toml + uv.lock, 1 line each ``` ## Risk - [x] Backward compatibility considered Version bump only; no source changes. ## Related Issues N/A Co-authored-by: Claude (claude-opus-4-8) <noreply@anthropic.com>
7 of 10 tasks
0xKT
added a commit
that referenced
this pull request
Jul 23, 2026
## Change description Follow-up to #187 (which fixed the subject-case dimension). The length dimension had the same "passes the PR, fails after merge" flaw: `scripts/commit_lint.py` capped the subject at 72 (commits) / 90 (PR titles) while commitlint capped the whole header at 100, so a PR title with a 73-90 char subject passed the pre-merge PR-title check but failed commit-lint on the squash commit after merge. This makes commitlint `header-max-length` (100) the single length authority (the config-conventional standard) and removes the bespoke Python 72/90 caps. CI now validates the PR title as the prospective squash header `<title> (#NN)` (in the commit-messages job, which already has Node), so a title that passes cannot fail after merge; the `edited` trigger re-checks title edits. Deliberately NOT `extends @commitlint/config-conventional`, to avoid pulling in body/footer line-length rules. Verified locally: proper-noun titles pass, a 79-char subject (header 102) is now rejected at PR stage, header exactly 100 passes and 101 fails, Title Case still rejected, `tests/test_commit_lint.py` green. ## Type of change - [x] Bug fix - [ ] New feature - [ ] Document - [ ] Others ## Related issues (if there is) Closes #195 ## Checklists ### Development - [x] Lint rules pass locally - [x] Application changes have been tested thoroughly - [x] Automated tests covering modified code pass ### Security - [x] Security impact of change has been considered - [x] Code follows security best practices and guidelines ### Code review - [x] Pull request has a descriptive title and context useful to a reviewer. Screenshots or screencasts are attached as necessary Co-authored-by: Claude (claude-opus-4-8) <noreply@anthropic.com>
KevinHuSh
pushed a commit
to KevinHuSh/Raven
that referenced
this pull request
Sep 14, 2026
EverMind-AI#187) ## Change description The bespoke `subject-case: [2, "always", ["lower-case"]]` rule forced all-lowercase subjects and rejected proper nouns (EverOS, HTTP), so a PR title like "... with EverOS HTTP backend" passed the pre-merge PR-title check but failed commit-lint on the squash commit after merge. This switches `subject-case` to the standard `@commitlint/config-conventional` value (forbid Title Case / ALL CAPS / Sentence case; allow lowercase subjects with proper nouns), plus one matching example in AGENTS.md. It intentionally does NOT `extends` config-conventional, to avoid newly enforcing body/footer line-length rules on the squash body (= PR description). Verified locally: proper-noun titles pass, Title Case / Sentence case / ALL CAPS still rejected, `style:` still rejected (type-enum unchanged), long body lines unaffected. ## Type of change - [x] Bug fix - [ ] New feature - [ ] Document - [ ] Others ## Related issues (if there is) Closes EverMind-AI#186 ## Checklists ### Development - [x] Lint rules pass locally - [x] Application changes have been tested thoroughly - [ ] Automated tests covering modified code pass ### Security - [x] Security impact of change has been considered - [x] Code follows security best practices and guidelines ### Code review - [x] Pull request has a descriptive title and context useful to a reviewer. Screenshots or screencasts are attached as necessary Co-authored-by: Claude (claude-opus-4-8) <noreply@anthropic.com>
KevinHuSh
pushed a commit
to KevinHuSh/Raven
that referenced
this pull request
Sep 14, 2026
## Summary Bump version from 0.1.7 to 0.1.8. Release commit only touches `pyproject.toml` and `uv.lock` (kept in sync via `uv lock`). Changes bundled into this release since v0.1.7: - feat(importer): cold-start import from other AI tools with EverOS HTTP backend (EverMind-AI#170) - fix(build): pin locked dependency versions in installers (EverMind-AI#185) - fix(cli): stop blank api key exiting deep_research prompt (EverMind-AI#184) - fix: use redirect-free install.ps1 url on windows powershell 5.1 (EverMind-AI#182) - fix(tui): brighten selection highlight for readability (EverMind-AI#175) - fix(commitlint): align subject-case with conventional-commits standard (EverMind-AI#187) ## Type - [x] Other ## Verification - [x] Relevant lint / type checks pass locally ``` python3 scripts/check_commit_messages.py origin/main..HEAD # exit 0 git diff --stat # pyproject.toml + uv.lock, 1 line each ``` ## Risk - [x] Backward compatibility considered Version bump only; no source changes. ## Related Issues N/A Co-authored-by: Claude (claude-opus-4-8) <noreply@anthropic.com>
KevinHuSh
pushed a commit
to KevinHuSh/Raven
that referenced
this pull request
Sep 14, 2026
…d-AI#196) ## Change description Follow-up to EverMind-AI#187 (which fixed the subject-case dimension). The length dimension had the same "passes the PR, fails after merge" flaw: `scripts/commit_lint.py` capped the subject at 72 (commits) / 90 (PR titles) while commitlint capped the whole header at 100, so a PR title with a 73-90 char subject passed the pre-merge PR-title check but failed commit-lint on the squash commit after merge. This makes commitlint `header-max-length` (100) the single length authority (the config-conventional standard) and removes the bespoke Python 72/90 caps. CI now validates the PR title as the prospective squash header `<title> (#NN)` (in the commit-messages job, which already has Node), so a title that passes cannot fail after merge; the `edited` trigger re-checks title edits. Deliberately NOT `extends @commitlint/config-conventional`, to avoid pulling in body/footer line-length rules. Verified locally: proper-noun titles pass, a 79-char subject (header 102) is now rejected at PR stage, header exactly 100 passes and 101 fails, Title Case still rejected, `tests/test_commit_lint.py` green. ## Type of change - [x] Bug fix - [ ] New feature - [ ] Document - [ ] Others ## Related issues (if there is) Closes EverMind-AI#195 ## Checklists ### Development - [x] Lint rules pass locally - [x] Application changes have been tested thoroughly - [x] Automated tests covering modified code pass ### Security - [x] Security impact of change has been considered - [x] Code follows security best practices and guidelines ### Code review - [x] Pull request has a descriptive title and context useful to a reviewer. Screenshots or screencasts are attached as necessary Co-authored-by: Claude (claude-opus-4-8) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Change description
The bespoke
subject-case: [2, "always", ["lower-case"]]rule forcedall-lowercase subjects and rejected proper nouns (EverOS, HTTP), so a PR title
like "... with EverOS HTTP backend" passed the pre-merge PR-title check but
failed commit-lint on the squash commit after merge.
This switches
subject-caseto the standard@commitlint/config-conventionalvalue (forbid Title Case / ALL CAPS / Sentence case; allow lowercase subjects
with proper nouns), plus one matching example in AGENTS.md. It intentionally does
NOT
extendsconfig-conventional, to avoid newly enforcing body/footerline-length rules on the squash body (= PR description).
Verified locally: proper-noun titles pass, Title Case / Sentence case / ALL CAPS
still rejected,
style:still rejected (type-enum unchanged), long body linesunaffected.
Type of change
Related issues (if there is)
Closes #186
Checklists
Development
Security
Code review