Repository navigation
Make sentence-length a Default Prose Gate Check - #3618
Conversation
The whole tree reads zero over-cap sentences, which is the precondition the opt-in existed for. Flip the rule's default in prose-gate.json, so a bare run, the hooks, and the CI gate all check the cap. Update the docs and skills that called the check opt-in, add it to the local verification block, and replace the opt-in test with one asserting a bare run reports an over-cap sentence. Closes #3531 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A diff-scoped run checks each sentence a changed line belongs to, not only the changed lines. Also say the zero count is the hub's corpus and that the default reaches the fleet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
|
A recorded local strict-review pass covers head |
There was a problem hiding this comment.
🟢 Approval recommended
No actionable review findings remain, and the rule promotion is consistently reflected across configuration, tests, documentation, and generated skill distributions.
No open issues 🎉
What changed in this PR
This pull request promotes the sentence-length prose rule from opt-in to a default check across local runs, hooks, CI, documentation, review guidance, and generated skill distributions.
Changes:
- Enables
sentence-lengthby default inprose-gate.json. - Updates tests, governance, operations, and fleet documentation.
- Removes redundant opt-in review instructions and refreshes generated skill copies and digests.
- No actionable findings were identified.
| File | Description |
|---|---|
tests/test_prose_lint.py |
Verifies that bare runs enforce sentence-length. |
scripts/README.md |
Documents the rule as a default check. |
OPERATIONS.md |
Adds the rule to local verification guidance. |
GOVERNANCE.md |
Updates sentence-structure policy. |
docs/fleet-map.md |
Records the rule’s promotion to default enforcement. |
.github/skills/local-strict-review/SKILL.md |
Removes the redundant explicit sentence-length pass. |
.github/skills/comment-and-doc-style/SKILL.md |
Documents default sentence-length enforcement. |
.github/actions/prose-gate/prose-gate.json |
Enables sentence-length by default. |
.claude-plugin/fleet-skills/skills/local-strict-review/SKILL.md |
Regenerated local-review skill distribution. |
.claude-plugin/fleet-skills/skills/comment-and-doc-style/SKILL.md |
Regenerated documentation-style skill distribution. |
.claude-plugin/fleet-skills/.source-digests/local-strict-review |
Updates the generated skill digest. |
.claude-plugin/fleet-skills/.source-digests/comment-and-doc-style |
Updates the generated skill digest. |
.agents/skills/local-strict-review/SKILL.md |
Updates the canonical local-review skill source. |
.agents/skills/comment-and-doc-style/SKILL.md |
Updates the canonical documentation-style skill source. |
Review effort: Lite
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #3618 +/- ##
========================================
Coverage 81.60% 81.60%
========================================
Files 26 26
Lines 9070 9070
========================================
Hits 7402 7402
Misses 1668 1668
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…tence-length a Default Check (#3619) Promotes the #3531 comment sweep and its default flip from `develop` to `main`. - [#3603](#3603) Moves the dispatch-refresh note out of the Docker clause in branching-and-release-model. - [#3606](#3606) Splits over-length comment sentences in pr_review and host_gate. - [#3607](#3607) Splits over-length comment sentences in the local and canonical review engines. - [#3608](#3608) Splits over-length comment sentences in build_dist, carry, handoff, and skills_install. - [#3609](#3609) Splits over-length comment sentences in the prose and repo gates. - [#3611](#3611) Splits over-length comment sentences in the spec scripts and workflows. - [#3612](#3612) Splits over-length comment sentences in the host install scripts. - [#3613](#3613) Splits over-length comment sentences in the host menu, bootstrap, and setup scripts. - [#3615](#3615) Splits over-length comment sentences in the agent-safety kit, repo config, and snippets. - [#3618](#3618) Makes `sentence-length` a default prose gate check. Closes #3531 Closes #3588 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Summary
Make the prose gate's
sentence-lengthrule a default check. The whole hub tree now reads zero over-cap sentences ondevelop, which was the precondition the opt-in existed for.prose-gate.jsonsets the rule'sdefaultto true.DEFAULT_RULESis computed from that flag, so a bareprose_lint.pyrun, the husky and pre-commit hooks, and the CIprose-gateaction all pick it up with no list to edit.comment-and-doc-styleskill no longer calls the check opt-in. It states that the check runs by default, and that--diff <base>scopes it to the lines a change touches.sentence-splitstays opt-in.local-strict-reviewbrief drops its second--check sentence-lengthrun, since the first run now covers it.GOVERNANCE.md"Sentence Structure",OPERATIONS.md,docs/fleet-map.md, andscripts/README.mdstop describing the rule as opt-in. The local verification block names it, so that block still covers every default rule exceptcomment-added..github/skills/and.claude-plugin/come with it.Fleet effect
A carrier's CI runs the hub's
prose-gateaction, which passes no--check, so it now gates the word cap on each sentence a pull request touches. The diff scope means an existing over-cap sentence in a carrier fails no pull request until a change edits one of its lines. The fetched-fresh pre-commit hooks gate the same way, diff-scoped. A whole-tree run, such as theLint: Proseeditor task, reports a carrier's existing backlog.A carrier cannot turn the rule off through
.prose-gate.json. That override only adds exemptions and refuses any other key. The only repository-level escape is.github/prose-gate-excludes, which drops whole paths and is meant for vendored content.#3531 asked what a carrier's review pass does with a
sentence-lengthhit on hub-verbatim text. The hub's text now reads zero, and the gate now holds every changed line to the cap. So a resync carries no such hits to dispose of, and the brief's separate opt-in run is gone.Verification
prose_lint.py .over the whole tree with the new default: 0 violations.prose_lint.py --diff origin/develop: 0 violations.tests/test_prose_lint.py: 629 tests OK. The new test fails with the flag flipped back.tests/test_build_dist.py,tests/test_hub_fetch_run.py,tests/test_pre_commit_hook.py: OK.build_dist.py --check: current.Closes #3531
🤖 Generated with Claude Code