Skip to content

Promote the Clean Headline Advisory and hub_fetch_run.py Rename to Main - #3222

Merged
ptr727 merged 3 commits into
mainfrom
develop
Oct 19, 2026
Merged

ptr727 merged 3 commits into
mainfrom
develop

Conversation

@ptr727

@ptr727 ptr727 commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

#3221 edits pr-review-conduct, so this machine's installed Skills change at release.

Closes #2567
Closes #3143

🤖 Generated with Claude Code

ptr727 and others added 2 commits October 18, 2026 20:58
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>
Copilot AI lite review requested due to automatic review settings October 19, 2026 08:10
@ptr727 ptr727 changed the title Promote the Clean Verdict Headline Advisory and hub_fetch_run.py Rename to Main Promote the Clean Headline Advisory and hub_fetch_run.py Rename to Main Oct 19, 2026
@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

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

⚙️ Run configuration
  • Configuration used: Repository: ptr727/ProjectTemplate/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 8845bac6-9c58-4a1a-8ef0-17559404384e
  • 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.

🔵 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

@ptr727

ptr727 commented Oct 19, 2026

Copy link
Copy Markdown
Owner Author

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 0cef514b and #3219 at bbd975ca. Each round was "Approval recommended" with 0 threads, and each pull request had a recorded local strict pass attested on it. The final human review it asks for is the maintainer's go-ahead to merge, which this promotion waits on anyway.

@codecov

codecov Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 65.52%. Comparing base (d557c3d) to head (83e291c).
⚠️ Report is 401 commits behind head on main.

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     
Flag Coverage Δ
python-3.13 65.52% <100.00%> (-0.01%) ⬇️

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.

…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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=streetsidesoftware/cspell-action&package-manager=github_actions&previous-version=9.1.0&new-version=9.2.0)](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>

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.

🔵 Needs a closer look

Broad cross-cutting changes and generated skill updates warrant final human validation.

No open issues 🎉

Review effort: Lite

@ptr727

ptr727 commented Oct 19, 2026

Copy link
Copy Markdown
Owner Author

Answering the round on 83e291c2 and its headline, "Broad cross-cutting changes and generated skill updates warrant final human validation." This is a caution, not a finding. The round states no open issue and opens no thread. The generated skill updates are build_dist.py output, and CI's --check holds them to their source. The one commit this head adds is #3223, Dependabot's SHA-pin bump of streetsidesoftware/cspell-action from v9.1.0 to v9.2.0 in .github/workflows/validate-task.yml. That pull request had no Copilot round of its own, so the maintainer decides its coverage before this promotion merges.

@ptr727
ptr727 merged commit 5f278f2 into main Oct 19, 2026
14 checks passed
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.

Rename the Carried hub-fetch-run.py Snippet to Snake Case pr_review.py Passes a Clean-Verdict Copilot Round Whose Headline Sentence Names a Finding

2 participants