Visitar URL original
Say What Closing Keywords Do on Promotion and Where the Title Limit Ends by ptr727 · Pull Request #4183 · ptr727/ProjectTemplate · GitHub
Skip to content

Say What Closing Keywords Do on Promotion and Where the Title Limit Ends - #4183

Merged
ptr727 merged 7 commits into
developfrom
burndown/commit-title-closing-keywords
Nov 13, 2026
Merged

ptr727 merged 7 commits into
developfrom
burndown/commit-title-closing-keywords

Conversation

@ptr727

@ptr727 ptr727 commented Nov 13, 2026 •

Copy link
Copy Markdown
Owner

Summary

Title limit and bind words. The 72-character limit measures the authored title or subject, and the (#N) suffix GitHub appends at a squash merge sits outside it. The lowercase title-case bind-word list is marked exhaustive and gains with, as, via, into, over, and per. GOVERNANCE.md "Pull Request Title and Commit Message Conventions", comment-and-doc-style, and .github/copilot-instructions.md now agree.

Two headings capitalized a listed word, so they are lowercased, along with the README table-of-contents entry for one of them. Anchors are lowercase already, so no link moves. STANDUP.md "Hand Over What Only the Maintainer Can Supply" is left as it is. "Over" there is a phrasal-verb particle, not a bind word.

Closing keywords under the squash setting. The hub's squash_merge_commit_message reads PR_BODY (read live). So a feature pull request's body becomes its squash commit on develop. A closing keyword there closes its issue once the promotion brings that commit to main, whatever the promotion body says. branching-and-release-model and backlog-burndown both said such a keyword closes nothing, which is corrected here. The rules now state:

  • what a keyword does in a feature body, and that a direct-push commit message behaves the same way;
  • that the settled convention stands: a feature body or direct-push commit carries only the inert Closes on promotion: line, and the promotion body owns the closing keywords;
  • that a keyword fires inside a sentence that negates it, with the safe rewording;
  • a mechanical closing-set check after each promotion body write, again when the promotion is reported ready, and before it merges. It compares closingIssuesReferences with the intended set and greps the promoted range's commit messages for closing keywords.

GOVERNANCE.md "Branching Model" gains a short summary. drive-pr step 5 points to the check, and merge-and-release step 2 runs it before the merge. The generated skill trees are regenerated by scripts/build_dist.py.

Local Review Findings Left Standing

  • introduced, fixed in the second push: merge-and-release step 2's closing-set check read a local git log, which for a downstream target is the hub checkout's range. It now reads the target's range through gh api --paginate .../compare/main...<sha>, run on its own so a failed read stops the merge rather than reading as a clean range.
  • introduced, fixed in the second push: the same check read as applying only to the no-ready-report case. It is now its own unconditional sentence.
  • pre-existing/declined: a reviewer may read STANDUP.md "Hand Over" as breaking the exhaustive list, since "over" is on it. It is a phrasal-verb particle rather than a bind word, so it stays capitalized by the coordinator's ruling. A particle exception would be a new rule neither issue asks for.

Closes on promotion: #1154, #1471

🤖 Generated with Claude Code

ptr727 and others added 4 commits November 13, 2026 13:40
The 72-character limit measures the authored title, and the squash suffix
sits outside it. The lowercase bind-word list is exhaustive and gains with,
as, via, into, over, and per.

Under a PR_BODY squash setting a feature body becomes the develop commit
message, so a keyword there closes its issue at promotion. A negated
sentence still closes. The promotion body owns the closing keywords, and a
mechanical closing-set check follows each promotion body write.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings November 13, 2026 21:47
@ptr727

ptr727 commented Nov 13, 2026

Copy link
Copy Markdown
Owner Author

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

@coderabbitai

coderabbitai Bot commented Nov 13, 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 49 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

Commits

Reviewing files that changed from the base of the PR and between cb15c14 and fb3f650.

Files ignored due to path filters: 15

  • .claude-plugin/fleet-skills/.source-digests/backlog-burndown is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/.source-digests/branching-and-release-model is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/.source-digests/comment-and-doc-style is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/.source-digests/drive-pr is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/.source-digests/merge-and-release is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/skills/backlog-burndown/SKILL.md is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/skills/branching-and-release-model/SKILL.md is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/skills/comment-and-doc-style/SKILL.md is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/skills/drive-pr/SKILL.md is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/skills/merge-and-release/SKILL.md is excluded by !.claude-plugin/fleet-skills/**
  • .github/skills/backlog-burndown/SKILL.md is excluded by !.github/skills/**
  • .github/skills/branching-and-release-model/SKILL.md is excluded by !.github/skills/**
  • .github/skills/comment-and-doc-style/SKILL.md is excluded by !.github/skills/**
  • .github/skills/drive-pr/SKILL.md is excluded by !.github/skills/**
  • .github/skills/merge-and-release/SKILL.md is excluded by !.github/skills/**
Files selected for processing: 9

  • .agents/skills/backlog-burndown/SKILL.md
  • .agents/skills/branching-and-release-model/SKILL.md
  • .agents/skills/comment-and-doc-style/SKILL.md
  • .agents/skills/drive-pr/SKILL.md
  • .agents/skills/merge-and-release/SKILL.md
  • .github/copilot-instructions.md
  • GOVERNANCE.md
  • README.md
  • docs/content-import.md
  • 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

ptr727 and others added 2 commits November 13, 2026 13:47
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ptr727

ptr727 commented Nov 13, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head 0dc6268d2529130cdcaae2603d6e008d3dc60458, 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.

🟡 Changes recommended

Two moderate active issues remain in the release procedure: the closing-keyword scan can inspect the wrong repository and may be skipped on ready-report merge paths.

2 open issues
What changed in this PR

This documentation-only PR aligns fleet guidance with GitHub squash-merge title handling and issue-closing behavior, updates canonical skills, and regenerates distributed skill copies.

Changes:

  • Clarifies the authored 72-character title limit and expands the exhaustive bind-word list.
  • Documents closing-keyword behavior across feature bodies, direct commits, promotion bodies, and negated sentences.
  • Adds promotion closing-set verification guidance and regenerates the Claude Code skill distributions.
File Description
README.md Updates the table of contents and heading capitalization.
GOVERNANCE.md Summarizes title limits, bind words, and issue-closing behavior during promotion.
docs/​content-import.md Updates heading capitalization for the expanded bind-word guidance.
.github/​skills/​merge-and-release/​SKILL.md Adds closing-set verification guidance before promotion merges.
.github/​skills/​drive-pr/​SKILL.md Updates promotion workflow guidance for issue-closing keywords.
.github/​skills/​comment-and-doc-style/​SKILL.md Documents title limits, closing keywords, and the exhaustive bind-word list.
.github/​skills/​branching-and-release-model/​SKILL.md Defines closing-keyword semantics and promotion verification guidance.
.github/​skills/​backlog-burndown/​SKILL.md Updates backlog promotion-body assembly and closing-set verification guidance.
.github/​copilot-instructions.md Aligns Copilot title guidance with the canonical conventions.
.claude-plugin/​fleet-skills/​skills/​merge-and-release/​SKILL.md Regenerates the distributed merge-and-release skill.
.claude-plugin/​fleet-skills/​skills/​drive-pr/​SKILL.md Regenerates the distributed drive-pr skill.
.claude-plugin/​fleet-skills/​skills/​comment-and-doc-style/​SKILL.md Regenerates the distributed documentation-style skill.
.claude-plugin/​fleet-skills/​skills/​branching-and-release-model/​SKILL.md Regenerates the distributed branching-and-release skill.
.claude-plugin/​fleet-skills/​skills/​backlog-burndown/​SKILL.md Regenerates the distributed backlog-burndown skill.
.claude-plugin/​fleet-skills/​.source-digests/​merge-and-release Updates the generated source digest for the merge-and-release skill.
.claude-plugin/​fleet-skills/​.source-digests/​drive-pr Updates the generated source digest for the drive-pr skill.
.claude-plugin/​fleet-skills/​.source-digests/​comment-and-doc-style Updates the generated source digest for the documentation-style skill.
.claude-plugin/​fleet-skills/​.source-digests/​branching-and-release-model Updates the generated source digest for the branching-and-release skill.
.claude-plugin/​fleet-skills/​.source-digests/​backlog-burndown Updates the generated source digest for the backlog-burndown skill.
.agents/​skills/​merge-and-release/​SKILL.md Updates the canonical merge-and-release procedure with closing-set checks.
.agents/​skills/​drive-pr/​SKILL.md Updates the canonical promotion workflow for closing-keyword handling.
.agents/​skills/​comment-and-doc-style/​SKILL.md Updates canonical title, prose, bind-word, and closing-keyword rules.
.agents/​skills/​branching-and-release-model/​SKILL.md Updates canonical branching and promotion closure rules.
.agents/​skills/​backlog-burndown/​SKILL.md Updates canonical backlog promotion guidance and verification steps.

Review effort: Lite

@codecov

codecov Bot commented Nov 13, 2026 •

Copy link
Copy Markdown

Codecov Report

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

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #4183      +/-   ##
===========================================
- Coverage    81.60%   76.77%   -4.83%     
===========================================
  Files           26       41      +15     
  Lines         9070    14354    +5284     
===========================================
+ Hits          7402    11021    +3619     
- Misses        1668     3333    +1665     
Flag Coverage Δ
python-3.13 76.77% <ø> (-4.83%) ⬇️

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.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ptr727

ptr727 commented Nov 13, 2026

Copy link
Copy Markdown
Owner Author

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

@ptr727

ptr727 commented Nov 13, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@ptr727

ptr727 commented Nov 13, 2026

Copy link
Copy Markdown
Owner Author

/review

@coderabbitai

coderabbitai Bot commented Nov 13, 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.

@ptr727
ptr727 merged commit a1d2476 into develop Nov 13, 2026
13 checks passed
@ptr727
ptr727 deleted the burndown/commit-title-closing-keywords branch November 13, 2026 22:45
ptr727 added a commit that referenced this pull request Nov 13, 2026
… Rules (#4189)

## Summary

Promotes the backlog-burndown rounds and changes from other hub sessions
from `develop` to `main`.

- Hooks and the prose gate: #4132, #4134, #4136, #4145, #4152, #4184.
The Husky hook reads its path list once and diffs a merge against
`MERGE_HEAD`. Interrupts re-raise their signal, a Markdown code span
reads as quoted data, and the gate picks a commit's diff base and
recognizes a conflicted promotion's branch cut from `main`.
- Procedures and carried rules: #4133, #4139, #4141, #4149, #4166,
#4177, #4179, #4183, #4185. Resync, audit and check-this-repo procedure
gaps, code style and shell interrupt rules, review-loop gaps across four
skills, the context and delegation section of `AGENTS.md`, question
rules in governance, the promotion line in pull request bodies,
closing-keyword behavior on promotion, and the history-rewrite premise.
- Review and cleanup tooling: #4138, #4148, #4154, #4156, #4157, #4163,
#4164, #4168, #4174, #4180. Cleanliness reads, parked handoffs, the
backlog report's JSON output, exact inline script pins, trusted inputs,
env-file includes, the bounded review wait, side-reviewer matching, and
a Copilot billing-failure notice read as a refusal.
- Workflow and runbook contract: #4153, #4155, #4169, #4171, #4178,
#4182. The runtime-secrets check, a registry entry and spec references,
the Copilot runbook pointers, credential-free checkout steps, and the
deploy-key and runner wording.
- From other hub sessions: #4159 (a repository's own .NET line under a
fleet default), #4161 (the 1Password CLI as an optional host tool),
#4162 (Codex's Windows installer and one managed opencode copy). These
carry no promotion line.

#4182 carries no promotion line by design, and #4175 holds the split-out
part of #4057's scope. Both #1448 and #4175 stay open.

Fixes #1071
Fixes #1154
Fixes #1391
Fixes #1471
Fixes #1594
Fixes #1620
Fixes #1627
Fixes #1650
Fixes #1801
Fixes #2853
Fixes #3620
Fixes #3668
Fixes #3697
Fixes #3766
Fixes #3787
Fixes #3837
Fixes #3840
Fixes #3842
Fixes #3844
Fixes #3865
Fixes #3882
Fixes #3890
Fixes #3894
Fixes #3912
Fixes #3916
Fixes #3954
Fixes #4014
Fixes #4015
Fixes #4016
Fixes #4043
Fixes #4050
Fixes #4057
Fixes #4058
Fixes #4062
Fixes #4084
Fixes #4097
Fixes #4098
Fixes #4099
Fixes #4104
Fixes #4108
Fixes #4114
Fixes #4115
Fixes #4117
Fixes #4118
Fixes #4119
Fixes #4121
Fixes #4122
Fixes #4123
Fixes #4131
Fixes #4135
Fixes #4140
Fixes #4142
Fixes #4143
Fixes #4144
Fixes #4151

🤖 Generated with [Claude Code](https://claude.com/claude-code)
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