Repository navigation
Conversation
## Summary Refs #3160. - Adds `GOVERNANCE.md` "Documentation Style Conventions" > "Incidental Counts". Text refers to an enumeration ("the following checks", "each case", "the rows below") rather than stating its size. The rule says outright that it holds in every fleet repository, for docs, code and workflow comments, and docstrings. A count stays only where the number is what the reader needs, such as a limit, a threshold, or a measured result, and it then names its source. A wrong incidental count is removed rather than corrected. - `comment-and-doc-style` carries the subsection whole as a generated include under "Quantitative claims", and its description gains a trigger for text that states how many items a list holds. - `fleet-code-review` gains one line: a finding that a stated count is wrong suggests removing it where it is incidental. - Sweeps the incidental counts out of `AGENTS.md`, `GOVERNANCE.md`, `CODESTYLE.md`, `WORKFLOW.md`, the skill sources, and the hub-only `scripts/README.md` and `scripts/handoff.py` docstring, which repeated one of the same sentences. Deliberately left as they are: - Counts that are the contribution: caps, timeouts, limits. - Pairs fixed by construction, such as the workflow models and the `.editorconfig` and `.gitattributes` pair. - Counts an ordinal structure later in the paragraph relies on ("the first two ... the third"). - Counts inside section titles other text links to, which need a heading rename. The rest of the sweep and those renames go to a follow-up issue. `CODESTYLE.md` "General" and `pr-review-conduct` are unchanged, since the `GOVERNANCE.md` section already governs code comments and the rule itself states how a wrong count is fixed. ## Verification - `scripts/build_dist.py --check`, `scripts/prose_lint.py --diff`, `scripts/repo_gate.py --check eol`, `spec/validate.py`: clean. - markdownlint, cspell, and editorconfig-checker through `scripts/docker_lint.py`: clean. - `python3 -m unittest discover -s tests`: 2887 tests OK, 7 skipped. - The opt-in `sentence-length` check reports only sentences that were over the cap before this branch and sit on a touched one-line paragraph. None of them is new wording. - `local-strict-review` ran three recorded passes. The first raised 14 findings and the second raised 1, almost all antecedents left dangling by a removed count. All were fixed, and the final pass raised none. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
## Summary A later revision of Copilot's second overview format opens each section summary on its count and names findings issues. `pr_review.py` stopped on each of these shapes with exit 43. It now reads them: - `2 previously missed issues` is the previously-missed section, whose findings open no thread. It is vetted, matched by `PREVIOUSLY_MISSED`, and counted from its leading count, so `previously_missed=N` names each finding. - `1 open issue` and `N open issues` are the open-findings section under a new noun. They map to the same role, so the section states the round's total and each entry is checked against the threads. - `**No open issues**` followed by an emoji is the bare stated zero, which printed `?` before. `heading_count` is now the one reader of a section heading's count, `(N)` or leading, used by `finding_count`, `section_entries`, and `sibling_heading`. `marker_blocks` accepts a non-heading line only on a `(N)` and only where the line does not open on a count. The comment stating the vetted list sizes is removed with the one test that kept its count in sync, since the count went stale on every new spelling. Refs #3167 Refs #3170 ## Verification - `tests/test_pr_review.py`: 850 tests pass. Every new test fails against the base script, and each later fix's test fails with that fix reverted. - ruff format and check, mypy, `prose_lint.py --diff` (default rules and `--check sentence-length`), and `repo_gate.py --check eol` are clean. - The shapes were confirmed against the real review bodies before writing the fixtures. Every title, path, and sentence in the fixtures is constructed. ## Open Local-Review Findings The five findings the first push listed here were fixed in 9722c34, e1d9f26, and b994110, which also answer the three Copilot threads. The fix push's own final pass raised these, after its edit budget was spent, each to get an outcome in this pull request's review loop. 1. `introduced`: `unrecognized_in` compares the count of vetted previously-missed summaries with the count of blocks, while `marker_blocks` returns at most one block per region. Two previously-missed sections nested in one `Review details` wrapper then report an unread shape, exit 43, where `develop` reads one block holding both. The reverse can mask a miss. Not an observed shape. Outcome: filed as #3174, by the maintainer's choice. 2. `introduced`: `HEADING_OPENER` reads past a finding entry's severity badge and may now be followed by a count, so an entry titled `2 previously missed guards are re-added` inside another section reads as a previously-missed section. An entry with no badge titled with a number now bounds its section in `sibling_heading`. This is the class #3173 tracks, widened. Not an observed shape. Outcome: added to #3173, by the maintainer's choice. 3. `introduced`, design: `heading_count` is a third composition of the badge and emphasis reduction `normal` and `unwrap` also perform, and `LEADING_COUNT` is a second definition of a leading count beside `normal`'s. They differ on a form feed after the count. A shared reduction would close the class. Outcome: filed as #3174, by the maintainer's choice. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
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.
🟡 Changes recommended
Three unresolved moderate parser findings must be addressed; one additional nit remains.
3 open issues
What changed in this PR
This PR promotes the incidental-count documentation rule and extends pr_review.py for count-first Copilot overview summaries, with synchronized tests and skill copies.
Changes:
- Removes stale incidental counts from documentation and skills.
- Adds parsing for previously missed issues, open issues, and stated zero findings.
- Refreshes generated skill copies and source digests.
Review findings:
- [P2, nit, 1 vote]
.agents/skills/backlog-burndown/SKILL.md:333uses an incorrect singular noun. - [P1, moderate, 2 votes]
scripts/pr_review.py:3707can mismatch nested previously-missed sections and blocks. - [P1, moderate, 2 votes]
scripts/pr_review.py:2421does not share heading normalization with count extraction. - [P1, moderate, 2 votes]
scripts/pr_review.py:456can treat finding entries as previously-missed markers.
| File | Description |
|---|---|
WORKFLOW.md |
Removes incidental counts. |
tests/test_pr_review.py |
Adds parser regression tests. |
scripts/README.md |
Removes command-count claims. |
scripts/pr_review.py |
Extends overview parsing and count handling. |
scripts/handoff.py |
Removes incidental count wording. |
CODESTYLE.md |
Removes incidental counts. |
AGENTS.md |
Removes incidental counts. |
.github/skills/workflow-ci-contract/SKILL.md |
Updates workflow guidance. |
.github/skills/workflow-ci-contract/references/test-methodology.md |
Updates methodology text. |
.github/skills/unattended-handoff/SKILL.md |
Removes incidental counts. |
.github/skills/session-handoff/SKILL.md |
Removes incidental counts. |
.github/skills/repo-worktree/SKILL.md |
Removes incidental counts. |
.github/skills/python-codestyle/references/code-style.md |
Removes incidental counts. |
.github/skills/merge-and-release/SKILL.md |
Removes incidental counts. |
.github/skills/local-strict-review/SKILL.md |
Removes incidental counts. |
.github/skills/git-commit-conventions/references/history-rewrite.md |
Removes incidental counts. |
.github/skills/fleet-code-review/SKILL.md |
Adds review guidance. |
.github/skills/dotnet-codestyle/SKILL.md |
Removes incidental counts. |
.github/skills/comment-and-doc-style/SKILL.md |
Adds the incidental-count rule. |
.github/skills/comment-and-doc-style/references/carried-doc-references.md |
Removes incidental counts. |
.github/skills/carried-instruction-file-guard/SKILL.md |
Removes incidental counts. |
.github/skills/branching-and-release-model/references/release-publish-mechanics.md |
Removes incidental counts. |
.github/skills/branching-and-release-model/references/branch-protection-and-promotion.md |
Removes incidental counts. |
.github/skills/backlog-burndown/SKILL.md |
Removes incidental counts. |
.github/skills/audit-a-repo/SKILL.md |
Removes incidental counts. |
.github/skills/agent-conduct/SKILL.md |
Removes incidental counts. |
.claude-plugin/fleet-skills/skills/workflow-ci-contract/SKILL.md |
Regenerates workflow guidance. |
.claude-plugin/fleet-skills/skills/workflow-ci-contract/references/test-methodology.md |
Regenerates methodology text. |
.claude-plugin/fleet-skills/skills/unattended-handoff/SKILL.md |
Regenerates handoff guidance. |
.claude-plugin/fleet-skills/skills/session-handoff/SKILL.md |
Regenerates handoff guidance. |
.claude-plugin/fleet-skills/skills/repo-worktree/SKILL.md |
Regenerates worktree guidance. |
.claude-plugin/fleet-skills/skills/python-codestyle/references/code-style.md |
Regenerates Python guidance. |
.claude-plugin/fleet-skills/skills/merge-and-release/SKILL.md |
Regenerates release guidance. |
.claude-plugin/fleet-skills/skills/local-strict-review/SKILL.md |
Regenerates review guidance. |
.claude-plugin/fleet-skills/skills/git-commit-conventions/references/history-rewrite.md |
Regenerates Git guidance. |
.claude-plugin/fleet-skills/skills/fleet-code-review/SKILL.md |
Regenerates review guidance. |
.claude-plugin/fleet-skills/skills/dotnet-codestyle/SKILL.md |
Regenerates .NET guidance. |
.claude-plugin/fleet-skills/skills/comment-and-doc-style/SKILL.md |
Regenerates documentation guidance. |
.claude-plugin/fleet-skills/skills/comment-and-doc-style/references/carried-doc-references.md |
Regenerates reference guidance. |
.claude-plugin/fleet-skills/skills/carried-instruction-file-guard/SKILL.md |
Regenerates guard guidance. |
.claude-plugin/fleet-skills/skills/branching-and-release-model/references/release-publish-mechanics.md |
Regenerates release guidance. |
.claude-plugin/fleet-skills/skills/branching-and-release-model/references/branch-protection-and-promotion.md |
Regenerates promotion guidance. |
.claude-plugin/fleet-skills/skills/backlog-burndown/SKILL.md |
Regenerates backlog guidance. |
.claude-plugin/fleet-skills/skills/audit-a-repo/SKILL.md |
Regenerates audit guidance. |
.claude-plugin/fleet-skills/skills/agent-conduct/SKILL.md |
Regenerates conduct guidance. |
.claude-plugin/fleet-skills/.source-digests/workflow-ci-contract |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/unattended-handoff |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/session-handoff |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/repo-worktree |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/python-codestyle |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/merge-and-release |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/local-strict-review |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/git-commit-conventions |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/fleet-code-review |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/dotnet-codestyle |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/comment-and-doc-style |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/carried-instruction-file-guard |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/branching-and-release-model |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/backlog-burndown |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/audit-a-repo |
Updates source digest. |
.claude-plugin/fleet-skills/.source-digests/agent-conduct |
Updates source digest. |
.agents/skills/workflow-ci-contract/SKILL.md |
Updates workflow guidance. |
.agents/skills/workflow-ci-contract/references/test-methodology.md |
Updates methodology text. |
.agents/skills/unattended-handoff/SKILL.md |
Updates handoff guidance. |
.agents/skills/session-handoff/SKILL.md |
Updates handoff guidance. |
.agents/skills/repo-worktree/SKILL.md |
Updates worktree guidance. |
.agents/skills/python-codestyle/references/code-style.md |
Updates Python guidance. |
.agents/skills/merge-and-release/SKILL.md |
Updates release guidance. |
.agents/skills/local-strict-review/SKILL.md |
Updates review guidance. |
.agents/skills/git-commit-conventions/references/history-rewrite.md |
Updates Git guidance. |
.agents/skills/fleet-code-review/SKILL.md |
Updates review guidance. |
.agents/skills/dotnet-codestyle/SKILL.md |
Updates .NET guidance. |
.agents/skills/comment-and-doc-style/SKILL.md |
Adds the incidental-count rule. |
.agents/skills/comment-and-doc-style/references/carried-doc-references.md |
Updates reference guidance. |
.agents/skills/carried-instruction-file-guard/SKILL.md |
Updates guard guidance. |
.agents/skills/branching-and-release-model/references/release-publish-mechanics.md |
Updates release guidance. |
.agents/skills/branching-and-release-model/references/branch-protection-and-promotion.md |
Updates promotion guidance. |
.agents/skills/backlog-burndown/SKILL.md |
Updates backlog guidance. |
.agents/skills/audit-a-repo/SKILL.md |
Updates audit guidance. |
.agents/skills/agent-conduct/SKILL.md |
Updates conduct guidance. |
Review effort: Lite
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3175 +/- ##
==========================================
+ Coverage 63.97% 64.08% +0.11%
==========================================
Files 17 17
Lines 9151 9183 +32
==========================================
+ Hits 5854 5885 +31
- Misses 3297 3298 +1
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:
|
…3177) ## Summary Removing the incidental count in #3168 left "These kinds of group are never tiered below `frontier`" in `backlog-burndown`, which Copilot flagged on the promotion #3175 as an incorrect singular noun. It now reads "Groups of these kinds are never tiered below `frontier`", which still introduces the bullets that each open on "One touching" or "One whose". The generated distributions are regenerated. ## Verification - `scripts/build_dist.py --check` reports the distributions current. - `prose_lint.py --diff` (default rules and `--check sentence-length`) and markdownlint are clean. - Local strict review: 0 findings. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
|
Answering the 8198ee0 round's headline, "Three unresolved moderate findings require correction before approval": the round states no open issue and lists the same three findings under "3 resolved since last review". Each was answered on its thread as real and deferred by the maintainer's choice on #3172, rather than fixed in a fifth round: "Exclude finding entries from count-first markers" is tracked in #3173, and "Share heading normalization for count extraction" and "Match previously missed sections by identity" in #3174. The fourth finding the previous round listed, the singular noun in backlog-burndown, was fixed by #3177, which this head carries. |

GOVERNANCE.md"Documentation Style Conventions" > "Incidental Counts", carried whole intocomment-and-doc-style, and removes the incidental counts from the carried canonicals, the skill sources,scripts/README.md, and thescripts/handoff.pydocstring. The rest of the sweep is Finish the Incidental Count Sweep, Including Counted Section Titles #3169.pr_review.pyCopilot's count-first overview summaries,N previously missed issues,N open issue(s), and the**No open issues**stated zero, which each stopped the loop with exit 43. It reads a section heading's count in one place and reports a vetted previously-missed summary no reader finds. Its deferred local-review findings are Read a Finding Entry Titled With the Suppressed Marker as No Section in pr_review.py #3173 and Read a Section Heading Through One Reduction in pr_review.py #3174.backlog-burndownin the plural, the noun Copilot flagged on this promotion's first round.After this merges,
comment-and-doc-stylechanges, so this machine's installed Skills are refreshed at release.Closes #3160
Closes #3167
Closes #3170
🤖 Generated with Claude Code