Skip to content

Make sentence-length a Default Prose Gate Check - #3618

Merged
ptr727 merged 2 commits into
developfrom
feature/3531-sentence-length-default
Oct 29, 2026
Merged

ptr727 merged 2 commits into
developfrom
feature/3531-sentence-length-default

Conversation

@ptr727

@ptr727 ptr727 commented Oct 29, 2026

Copy link
Copy Markdown
Owner

Summary

Make the prose gate's sentence-length rule a default check. The whole hub tree now reads zero over-cap sentences on develop, which was the precondition the opt-in existed for.

  • prose-gate.json sets the rule's default to true. DEFAULT_RULES is computed from that flag, so a bare prose_lint.py run, the husky and pre-commit hooks, and the CI prose-gate action all pick it up with no list to edit.
  • The comment-and-doc-style skill 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-split stays opt-in.
  • The local-strict-review brief drops its second --check sentence-length run, since the first run now covers it.
  • GOVERNANCE.md "Sentence Structure", OPERATIONS.md, docs/fleet-map.md, and scripts/README.md stop describing the rule as opt-in. The local verification block names it, so that block still covers every default rule except comment-added.
  • The test asserting the rule is opt-in is replaced by one asserting a bare run reports an over-cap sentence.
  • The regenerated skill copies under .github/skills/ and .claude-plugin/ come with it.

Fleet effect

A carrier's CI runs the hub's prose-gate action, 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 the Lint: Prose editor 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-length hit 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

ptr727 and others added 2 commits October 29, 2026 10:15
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>
Copilot AI lite review requested due to automatic review settings October 29, 2026 17:19
@coderabbitai

coderabbitai Bot commented Oct 29, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@ptr727

ptr727 commented Oct 29, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head 8015552c438a7461ca3dcc1607cdbe33bf5479f4, the content this pull request carries at that commit against develop, and it recorded 0 findings.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 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-length by default in prose-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

codecov Bot commented Oct 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.60%. Comparing base (b38e084) to head (8015552).
⚠️ Report is 10 commits behind head on develop.

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           
Flag Coverage Δ
python-3.13 81.60% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ptr727
ptr727 merged commit 8111800 into develop Oct 29, 2026
14 checks passed
ptr727 added a commit that referenced this pull request Oct 29, 2026
…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)
@ptr727
ptr727 deleted the feature/3531-sentence-length-default branch October 29, 2026 18:58
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