Repository navigation
Conversation
Renames the carried hook helper `catalog/snippets/hub-fetch-run.py` to `hub_fetch_run.py`, applying the snake_case Python file-name standard from #3140. ## Changes - Renames the snippet and updates every reference to it: the Husky.Net and pre-commit hook snippets, both VS Code task snippets, the catalog and snippet READMEs, `GOVERNANCE.md`, `STANDUP.md`, `AUDIT.md`, `scripts/README.md`, `docs/pre-commit-hooks-rollout.md`, `spec/project-types.json`, and the tests. - Keeps accepting the former name in the python-directories action's `CARRIED_HELPERS`, the audit's `CARRIED_PYTHON_HELPERS`, and the `parity.hooks` statements. A repository that copied the helper before this change still holds `hub-fetch-run.py`, and without this the action would warn that its helper is uncovered Python and the audit would classify the repository as Python. A new test asserts the two sets match. - Keeps the provenance label the helper writes, `(hub-fetch-run main)` and `(hub-fetch-run, commit unresolved)`, so carriers using either file name produce the same scope line. ## Does a resync leave both files? Without a new instruction, it would. `spec/files.json` has no entry for the helper, and `STANDUP.md` makes the hook files repository-owned and copied by hand, so no resync step moves or deletes the helper. A carrier that copied the new snippet would end up with both names. `RESYNC.md` step 6 now says to rename the helper in place and update its calls in the same commit. #3141's file-naming check will report any carrier that still holds the hyphenated name, and the exemption sets above cover only Python-type discovery, so they do not hide it from that check. ## Verification - `python3 -m unittest discover -s tests`: 2973 tests OK. `spec/audit.py --selftest` passes, `spec/validate.py` passes, `scripts/build_dist.py --check` reports the generated distributions current, ruff, mypy, markdownlint, and the eol checks are clean. - Mutation checks: removing the former name from the audit set fails the new selftest case, and removing it from the action's set fails both the uncovered test and the parity test. - `local-strict-review` ran three passes. The first two found a stale `parity.hooks` statement, the provenance label, a duplicated set with no test, and two long sentences, all fixed in the later commits. The third pass found nothing. The opt-in `--check sentence-length` still flags 23 long sentences on lines this change touched, but each one only had a path swapped for one of the same word count, so they were already there. Closes on promotion: #3143 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Maintenance** * Standardized the hook helper’s filename to use underscores across setup instructions, editor tasks, and hook configurations. * Updated repository checks to recognize both the current and former filename, preventing either from being reported as an uncovered Python file. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…3221) ## Summary Implements the maintainer's decision on #2567, "print it, do not gate". A clean-verdict Copilot round can state no open finding, open no thread, and collapse no suppressed or previously-missed block while its headline sentence still names a remaining nit. `pr_review.py` read every such round as a clean pass and printed nothing. - `uncounted_verdict` takes the verdict set as a parameter, so the flagging reading behind exit `50` and the new clean reading share one guard. - The digest prints a clean round's headline under `CLEAN VERDICT HEADLINE`. The line is advisory and changes no exit code. It does not try to tell a new nit from one already answered, per the decision. - The usage text, `scripts/README.md`, and `pr-review-conduct` describe the advisory line, with the skill distributions regenerated. ## Tests - A clean verdict whose headline names findings prints the headline, and `status` and `wait` each exit `0`. Each command's output is read on its own. - A clean headline naming an answered thread prints and still exits `0`. - A clean verdict with no headline prose prints no advisory. - A flagging verdict prints no advisory and still exits `50`. Run against the base `pr_review.py`, the two positive tests fail and the two negative tests pass. The full `tests.test_pr_review` suite passes, as do ruff, mypy, prose_lint (including `--check sentence-length`), the eol gate, `spec/validate.py`, `build_dist.py --check`, markdownlint, cspell, and editorconfig-checker. ## Local strict review There were three recorded passes. Round 1 found an overstated exit-code claim on three surfaces, a docstring summary made false by the new parameter, a test docstring with a false causal claim, a merged output buffer, and two long sentences. Round 2 found a pronoun that bound to the wrong noun. Each was fixed. Round 3 found nothing, so no `introduced` finding remains open. Refs #2567 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- 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. ⚙️ Run configuration
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. Comment |
There was a problem hiding this comment.
🔵 Needs a closer look
The broad cross-cutting changes require final human review.
No open issues 🎉
What changed in this PR
Promotes clean-verdict headline advisories and renames the hook helper to hub_fetch_run.py while preserving legacy compatibility.
Changes:
- Adds advisory output without changing exit codes.
- Updates helper references, discovery, and audit compatibility.
- Refreshes tests, documentation, configurations, and distributed skills.
| File | Description |
|---|---|
tests/test_python_directories.py |
Tests helper-name compatibility. |
tests/test_pr_review.py |
Tests advisory behavior. |
tests/test_hub_fetch_run.py |
Updates renamed helper coverage. |
tests/test_cli_usage.py |
Updates discovery tests. |
STANDUP.md |
Updates setup guidance. |
spec/project-types.json |
Updates discovery and hook specifications. |
spec/audit.py |
Supports both helper names. |
scripts/README.md |
Documents the advisory and rename. |
scripts/pr_review.py |
Implements clean headline advisory output. |
RESYNC.md |
Documents helper migration. |
GOVERNANCE.md |
Updates hook guidance. |
docs/pre-commit-hooks-rollout.md |
Updates helper references. |
catalog/snippets/pre-commit/README.md |
Updates pre-commit guidance. |
catalog/snippets/pre-commit/.pre-commit-config.yaml |
Uses the renamed helper. |
catalog/snippets/husky/README.md |
Updates Husky guidance. |
catalog/snippets/husky/pre-commit |
Uses the renamed helper. |
catalog/snippets/hub_fetch_run.py |
Provides the renamed helper. |
catalog/snippets/configs/vscode-tasks.json |
Updates task paths. |
catalog/snippets/configs/vscode-tasks-python.json |
Updates Python task paths. |
catalog/README.md |
Updates catalog references. |
AUDIT.md |
Documents helper-name compatibility. |
.github/skills/pr-review-conduct/SKILL.md |
Updates review guidance. |
.claude-plugin/fleet-skills/skills/pr-review-conduct/SKILL.md |
Updates distributed guidance. |
.claude-plugin/fleet-skills/.source-digests/pr-review-conduct |
Updates the skill digest. |
.agents/skills/pr-review-conduct/SKILL.md |
Updates authored review guidance. |
.github/actions/python-directories/python_directories.py |
Preserves legacy helper discovery exemptions. |
Review effort: Lite
|
Answering the round's headline, "The broad cross-cutting changes require final human review." This is a caution about the change, not a finding. The round states no open issue and opens no thread, and its file table names all 26 changed files. Each constituent pull request was reviewed on its own head: #3221 at |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3222 +/- ##
==========================================
- Coverage 65.52% 65.52% -0.01%
==========================================
Files 17 17
Lines 9767 9771 +4
==========================================
+ Hits 6400 6402 +2
- Misses 3367 3369 +2
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:
|
…ons-deps group across 1 directory (#3223) Bumps the actions-deps group with 1 update in the / directory: [streetsidesoftware/cspell-action](https://github.com/streetsidesoftware/cspell-action). Updates `streetsidesoftware/cspell-action` from 9.1.0 to 9.2.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/streetsidesoftware/cspell-action/releases">streetsidesoftware/cspell-action's releases</a>.</em></p> <blockquote> <h2>v9.2.0</h2> <h2><a href="https://github.com/streetsidesoftware/cspell-action/compare/v9.1.0...v9.2.0">9.2.0</a> (2026-10-14)</h2> <h3>Features</h3> <ul> <li>Update CSpell version (10.4.0) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2765">#2765</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/7c68ec4c710270edb5685f42edffcd0a5448a1bd">7c68ec4</a>)</li> </ul> <h3>Updates and Bug Fixes</h3> <ul> <li>Workflow Bot -- Update ALL Dependencies (main) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2760">#2760</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/21cf57f25ec63723e256a5c7ade321214be71558">21cf57f</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/streetsidesoftware/cspell-action/blob/main/CHANGELOG.md">streetsidesoftware/cspell-action's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <p>All notable changes to this project will be documented in this file. See <a href="https://github.com/conventional-changelog/standard-version">standard-version</a> for commit guidelines.</p> <h2><a href="https://github.com/streetsidesoftware/cspell-action/compare/v9.1.0...v9.2.0">9.2.0</a> (2026-10-14)</h2> <h3>Features</h3> <ul> <li>Update CSpell version (10.4.0) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2765">#2765</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/7c68ec4c710270edb5685f42edffcd0a5448a1bd">7c68ec4</a>)</li> </ul> <h3>Updates and Bug Fixes</h3> <ul> <li>Workflow Bot -- Update ALL Dependencies (main) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2760">#2760</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/21cf57f25ec63723e256a5c7ade321214be71558">21cf57f</a>)</li> </ul> <h2><a href="https://github.com/streetsidesoftware/cspell-action/compare/v9.0.1...v9.1.0">9.1.0</a> (2026-09-04)</h2> <h3>Features</h3> <ul> <li>Update CSpell version (10.1.0) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2746">#2746</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/16fdd45f618b08e6e497fc74990ba33bd9e4edbd">16fdd45</a>)</li> <li>Update CSpell version (10.2.0) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2755">#2755</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/61bcff295209ec5c244d49dce35d9ff9c474c113">61bcff2</a>)</li> </ul> <h3>Updates and Bug Fixes</h3> <ul> <li>Update CSpell version (10.1.1) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2748">#2748</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/705b9d52721577e2d52605a9a49edab7fe99f25d">705b9d5</a>)</li> <li>Update CSpell version (10.2.1) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2756">#2756</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/ff193e1f0fdf2a5b3393c02b514c1017785cd857">ff193e1</a>)</li> <li>Update CSpell version (10.2.2) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2758">#2758</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/86da7af2624e76aba6ec5aa3918d0fda114c2736">86da7af</a>)</li> <li>Update Dictionaries and Dependencies (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2743">#2743</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/13f222eac06bee3a9b1dd3b082279e7443c6d717">13f222e</a>)</li> <li>Update Dictionaries and Dependencies (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2753">#2753</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/2f47bea1da38cdf1c52eacfd8c697663e411e713">2f47bea</a>)</li> <li>Workflow Bot -- Update ALL Dependencies (main) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2747">#2747</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/388fa3e76a267621a4429f1f9fde48065a3582b2">388fa3e</a>)</li> <li>Workflow Bot -- Update ALL Dependencies (main) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2752">#2752</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/c0b97ad0173f0b318a0255b4276e9c3e413f4c55">c0b97ad</a>)</li> </ul> <h2><a href="https://github.com/streetsidesoftware/cspell-action/compare/v9.0.0...v9.0.1">9.0.1</a> (2026-08-15)</h2> <h3>Updates and Bug Fixes</h3> <ul> <li>make sure the dictionaries are up to date. (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2733">#2733</a>) (<a href="https://github.com/streetsidesoftware/cspell-action/commit/ed61a9ef501ef10e1857a1a852506743cc79913c">ed61a9e</a>)</li> </ul> <h2><a href="https://github.com/streetsidesoftware/cspell-action/compare/v8.4.0...v9.0.0">9.0.0</a> (2026-08-15)</h2> <h3>⚠ BREAKING CHANGES</h3> <ul> <li>Update CSpell version (10.0.0) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2675">#2675</a>)</li> </ul> <h3>Features</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/streetsidesoftware/cspell-action/commit/ce1816e4ce36532956ac6e983737392774b6e169"><code>ce1816e</code></a> chore(main): release 9.2.0 (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2763">#2763</a>)</li> <li><a href="https://github.com/streetsidesoftware/cspell-action/commit/16ee53303ab81e4a095f34e37115a78a97f63a2b"><code>16ee533</code></a> chore: Update PNPM (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2742">#2742</a>)</li> <li><a href="https://github.com/streetsidesoftware/cspell-action/commit/06c3500b626a233d03aef05a9c72282e19f857eb"><code>06c3500</code></a> ci: Workflow Bot -- Update ALL Dependencies (main) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2764">#2764</a>)</li> <li><a href="https://github.com/streetsidesoftware/cspell-action/commit/347d092adf80e9a4824ab3a8ba001dfe056be8fb"><code>347d092</code></a> chore(deps): bump codecov/codecov-action from 7.0.0 to 7.1.1 (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2772">#2772</a>)</li> <li><a href="https://github.com/streetsidesoftware/cspell-action/commit/7c68ec4c710270edb5685f42edffcd0a5448a1bd"><code>7c68ec4</code></a> feat: Update CSpell version (10.4.0) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2765">#2765</a>)</li> <li><a href="https://github.com/streetsidesoftware/cspell-action/commit/21cf57f25ec63723e256a5c7ade321214be71558"><code>21cf57f</code></a> fix: Workflow Bot -- Update ALL Dependencies (main) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2760">#2760</a>)</li> <li><a href="https://github.com/streetsidesoftware/cspell-action/commit/4a0b06300b73346040a7750c366c909b82ca59fa"><code>4a0b063</code></a> chore(deps-dev): bump tsdown from 0.22.14 to 0.23.0 (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2761">#2761</a>)</li> <li><a href="https://github.com/streetsidesoftware/cspell-action/commit/d77473532369d3257f0e5f67743643abab3ab45f"><code>d774735</code></a> chore: Workflow Bot -- Update ALL Dependencies (main) (<a href="https://redirect.github.com/streetsidesoftware/cspell-action/issues/2759">#2759</a>)</li> <li>See full diff in <a href="https://github.com/streetsidesoftware/cspell-action/compare/6f3c77c1406bc930f944ba97e9801a22e42caf58...ce1816e4ce36532956ac6e983737392774b6e169">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
Answering the round on |
pr_review.pyprint a clean-verdict Copilot round's headline underCLEAN VERDICT HEADLINEwhen the round counts no finding, opens no thread, and collapses no block. The line is advisory and changes no exit code. It shares one guard with the flagging reading behind exit50, through a verdict-set parameter onuncounted_verdict. This implements the maintainer's "print it, do not gate" decision on pr_review.py Passes a Clean-Verdict Copilot Round Whose Headline Sentence Names a Finding #2567.streetsidesoftware/cspell-actionfrom v9.1.0 to v9.2.0, landed on develop after the first go-ahead. It had no Copilot round of its own, and the maintainer accepted its coverage before the merge.catalog/snippets/hub-fetch-run.pytohub_fetch_run.py. It updates every reference and keeps accepting the former name wherever a carrier that copied it earlier would otherwise misclassify.#3221 edits
pr-review-conduct, so this machine's installed Skills change at release.Closes #2567
Closes #3143
🤖 Generated with Claude Code