Skip to content

Promote the Script File-Naming Standard and the Suppressed Unread Check to Main - #3203

Merged
ptr727 merged 2 commits into
mainfrom
develop
Oct 18, 2026
Merged

ptr727 merged 2 commits into
mainfrom
develop

Conversation

@ptr727

@ptr727 ptr727 commented Oct 18, 2026

Copy link
Copy Markdown
Owner

Closes #3140
Closes #3193

🤖 Generated with Claude Code

ptr727 and others added 2 commits October 18, 2026 08:57
## Summary

- Adds a General subsection "Script and Utility File Names" to
`CODESTYLE.md` carrying the standard agreed in the issue: the per-type
table, the installed-commands, wrapper, externally-fixed, and
directories clauses, and the stated departures from the Google Shell
Style Guide and Microsoft's approved verbs.
- Adds a "Repo-Scoped Secrets" bullet to `GOVERNANCE.md` stating that a
secret file's stem is lowercase snake_case, pointing at the new section.
- Points the `python-codestyle` Skill's module naming at the new
section, so the rule has one home, and regenerates the Skill
distributions.

Wording departs from the issue's text only where a gate or a carried
reader needs it: long sentences are split for the sentence-length check,
and the shell departure no longer says hyphens match "the existing
scripts", since `CODESTYLE.md` is carried to repositories whose scripts
do not yet follow it.

## Local-review findings

The precedence question this section listed was answered on #3199: any
executable or launcher on `PATH` or in a system slot takes the command
name, and the wrapper exemption covers only a launcher run by its path.
That landed in e1685da and the two commits before it.

The one `introduced` finding the next pass raised, the "Wrapper
exemption" restating the installed names incompletely (no
`fetch-report.ps1`), is **Fixed in b59b663**: the bullet now gives one
example and leaves the naming to "Installed commands". The pass over
b59b663 recorded no findings, so no local-review finding is open.

## Verification

- `prose_lint.py --diff` and `--check sentence-length`, `build_dist.py
--check`, `spec/validate.py`, `repo_gate.py --check eol`: clean.
- `docker_lint.py` markdownlint, cspell, editorconfig-checker: clean.
- Full `tests/` unittest suite: OK.

Closes on promotion: #3140

🤖 Generated with [Claude Code](https://claude.com/claude-code)



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Clarified file-naming conventions for scripts and utilities, including
casing by file type, command names, and applicable exceptions.
* Added examples and guidance for naming secret files with lowercase
`snake_case` stems.
* Updated related references and aligned the Python style guidance with
the repository’s filename rules.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…3202)

## Summary

`unrecognized_in` compared vetted summaries against what a block reader
actually read only for the previously-missed section. The vetted
suppressed spellings, `Suppressed comments (N)` and `Comments suppressed
due to low confidence (N)`, got no such check against
`suppressed_blocks`. A layout that reader misses therefore reported
`shapes=ok` while `suppressed=` came out short.

- The suppressed spellings move into a `SUPPRESSED_SUMMARIES` set, and
the one existing comparison runs over both readers, rather than a copy
being added beside it.
- The comparison now counts only the summary opening each block. Counted
over every summary a block holds, a block that ran on into the next
section stood in for that section, so the over-run form of the defect
stayed silent too. The local strict review found this.

## Tests

- `test_a_vetted_suppressed_summary_its_reader_misses_is_reported` stubs
`suppressed_blocks` to drop its last block over three constructed
bodies. It fails on the base in all three cases.
- `test_a_block_running_into_the_next_section_does_not_stand_in_for_it`
patches `sibling_heading` to never bound. It fails with the first-line
counting reverted.
- Full suite: 2968 tests OK, 7 skipped. Ruff, mypy, prose gate, eol,
`spec/validate.py`, and `build_dist.py --check` are clean.

## Local review

Three recorded passes at the `frontier` tier. The first two raised
findings that were fixed in this branch, and the third raised none. One
finding outside this diff, which predates the branch, is filed as #3201.

Refs #3193

🤖 Generated with [Claude Code](https://claude.com/claude-code)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Improved detection of unread sections in pull request reviews,
including suppressed sections and sections whose boundaries are unclear.
* Review results now identify vetted section headings that were missed,
helping make review coverage more accurate.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Copilot AI lite review requested due to automatic review settings October 18, 2026 17:08
@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

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

Next included review available in 23 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: ptr727/ProjectTemplate/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 65139b54-a25e-4d31-b3d4-f1c48a1a9bb2
📥 Commits

Reviewing files that changed from the base of the PR and between 569af22 and 3b1fe04.

⛔ Files ignored due to path filters: 3
  • .claude-plugin/fleet-skills/.source-digests/python-codestyle is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/skills/python-codestyle/references/code-style.md is excluded by !.claude-plugin/fleet-skills/**
  • .github/skills/python-codestyle/references/code-style.md is excluded by !.github/skills/**
📒 Files selected for processing: 5
  • .agents/skills/python-codestyle/references/code-style.md
  • CODESTYLE.md
  • GOVERNANCE.md
  • scripts/pr_review.py
  • tests/test_pr_review.py
  • 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.

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 blocking issues were identified.

1 open issue
What changed in this PR

Promotes fleet-wide file-naming guidance and improves detection of unread suppressed review sections.

Changes:

  • Adds naming standards to documentation and Python guidance.
  • Extends pr_review.py validation for suppressed summaries.
  • Adds regression tests and refreshes generated skill files.
File Description
tests/​test_pr_review.py Adds suppressed-summary regression tests.
scripts/​pr_review.py Validates suppressed summaries and block boundaries.
GOVERNANCE.md Links secret-file naming guidance.
CODESTYLE.md Defines file-naming conventions.
.github/​skills/​python-codestyle/​references/​code-style.md Updates generated Python guidance.
.claude-plugin/​fleet-skills/​skills/​python-codestyle/​references/​code-style.md Updates generated Claude guidance.
.claude-plugin/​fleet-skills/​.source-digests/​python-codestyle Refreshes the source digest.
.agents/​skills/​python-codestyle/​references/​code-style.md Updates canonical Python guidance.

Review effort: Lite

Comment thread tests/test_pr_review.py
@codecov

codecov Bot commented Oct 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 65.48%. Comparing base (c41e5c0) to head (3b1fe04).
⚠️ Report is 395 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3203      +/-   ##
==========================================
+ Coverage   65.44%   65.48%   +0.03%     
==========================================
  Files          17       17              
  Lines        9751     9754       +3     
==========================================
+ Hits         6382     6387       +5     
+ Misses       3369     3367       -2     
Flag Coverage Δ
python-3.13 65.48% <100.00%> (+0.03%) ⬆️

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 commented Oct 18, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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.

Check Suppressed Summaries for a Vetted-but-Unread Section in pr_review.py State the Fleet Standard for Script and Utility File Names

2 participants