Skip to content

chore: consolidate commit message guidance into COMMITS.md - #2089

Merged
ralphbean merged 1 commit into
mainfrom
rbean/commit-message-guidance
Jun 10, 2026
Merged

ralphbean merged 1 commit into
mainfrom
rbean/commit-message-guidance

Conversation

@ralphbean

Copy link
Copy Markdown
Member

Summary

  • Adds COMMITS.md as the single source of truth for commit message rules, including new guidance that feat is reserved for user-facing features (not internal refactors, dep bumps, or prompt tuning)
  • Replaces duplicated commit message specs in CLAUDE.md, AGENTS.md, and CONTRIBUTING.md with pointers to COMMITS.md
  • Goal: future release notes should only list things under "Features" that an end user would recognize as new capability

Refs #2088

Test plan

  • Verify make lint passes
  • Review COMMITS.md for completeness and tone
  • Confirm CLAUDE.md, AGENTS.md, and CONTRIBUTING.md all point to COMMITS.md consistently

Agents were over-using the `feat` prefix for internal changes (refactors,
dep bumps, prompt tuning) that aren't user-facing, bloating the Features
section of release notes. COMMITS.md is now the single source of truth
for commit message rules, with explicit guidance on when `feat` is
appropriate vs `refactor` or `chore`.

CLAUDE.md, AGENTS.md, and CONTRIBUTING.md now point to COMMITS.md
instead of duplicating the specification inline.

Refs: #2088

Signed-off-by: Ralph Bean <rbean@redhat.com>
Assisted-by: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Ralph Bean <rbean@redhat.com>
@ralphbean

Copy link
Copy Markdown
Member Author

Filed #2088 while working on this — the duplication between CLAUDE.md and AGENTS.md should be addressed separately.

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

Site preview

Preview: https://b53235a5-site.fullsend-ai.workers.dev

Commit: 10fa239eca02111054ce985719060080011c31fe

@fullsend-ai-review

fullsend-ai-review Bot commented Jun 9, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 7:07 PM UTC · Completed 7:18 PM UTC
Commit: 27b1874 · View workflow run →

@fullsend-ai-review

Copy link
Copy Markdown

Review

Findings

Medium

  • [stale-reference] .gitlint:9 — The comment reads "Matches the types documented in CONTRIBUTING.md and parsed by", but after this PR, CONTRIBUTING.md no longer documents the types — it delegates to COMMITS.md. The comment should reference COMMITS.md instead.
    Remediation: Change the comment on line 9 of .gitlint from CONTRIBUTING.md to COMMITS.md.

Low

  • [stale-doc] internal/scaffold/fullsend-repo/AGENTS.md:38 — The scaffold AGENTS.md still embeds the Conventional Commits specification inline (lines 38–47). However, this is a generic template for any enrolled repo and intentionally references "CONTRIBUTING.md or CLAUDE.md" as repo-specific pointers. The inline types list remains accurate. This is a minor consistency nit, not a correctness issue.

  • [heading-hierarchy] COMMITS.md:33 — Section heading ## \feat` is for end users` includes backtick-wrapped code. Existing documentation files in this repository use plain text for section headings without inline code formatting.

Info

  • [emphasis-pattern] COMMITS.md:3 — The "You must consult this file" phrasing uses imperative second-person, which differs from some existing patterns (e.g., "Always run make lint"). The pattern is used consistently across all three updated files in this PR, so it reads as an intentional voice choice.

  • [cross-reference-pattern] AGENTS.md:7 — The new cross-reference pattern "You must read and follow [COMMITS.md]" differs from the established "See [X] for Y" pattern (18+ instances in the repo). The stronger language signals a hard requirement rather than optional reading.

  • [architectural-alignment] COMMITS.md — Placed at root rather than under docs/normative/ (per ADR-0015). Root placement is consistent with peer files (CLAUDE.md, AGENTS.md, CONTRIBUTING.md).

  • [scope-authorization] COMMITS.md — PR creates COMMITS.md as a single source of truth for commit message rules, directly implementing issue De-duplicate CLAUDE.md and AGENTS.md into a single source of truth #2088.

  • [consistency] CLAUDE.md:14 — Both CLAUDE.md and AGENTS.md now use identical language for the commit message pointer.

@ralphbean
ralphbean added this pull request to the merge queue Jun 10, 2026
Merged via the queue into main with commit 4a1ea86 Jun 10, 2026
10 checks passed
@ralphbean
ralphbean deleted the rbean/commit-message-guidance branch June 10, 2026 14:56
@fullsend-ai-retro

fullsend-ai-retro Bot commented Jun 10, 2026

Copy link
Copy Markdown

🤖 Finished Retro · ✅ Success · Started 2:58 PM UTC · Completed 3:03 PM UTC
Commit: 4ed6da4 · View workflow run →

@fullsend-ai-retro

Copy link
Copy Markdown

Retro: PR #2089 — Consolidate commit message guidance into COMMITS.md

Timeline: Human-authored PR by ralphbean (2026-06-09). Review agent ran in ~12 minutes and found a legitimate medium-severity stale reference: .gitlint:9 still references CONTRIBUTING.md after the PR moved commit message rules to COMMITS.md. Human reviewer approved without addressing the finding. PR merged 2026-06-10 with the stale reference unfixed.

Review quality: Good. The agent caught a real issue the PR author missed. The medium finding about .gitlint is confirmed — the file still says "Matches the types documented in CONTRIBUTING.md" when it should say COMMITS.md.

Systemic pattern (already tracked): Medium-severity findings being merged without resolution is a known pattern covered by existing open issues: #1956 (auto-file tracking issues for unresolved medium+ findings), #2099 (alert when human approves with unresolved findings), and #870 (medium findings should trigger fix agent or block merge). No new proposal needed for this pattern.

One concrete follow-up proposed: Fix the stale .gitlint comment that the review agent identified.

Proposals filed

ggallen pushed a commit to ggallen/fullsend that referenced this pull request Jun 11, 2026
Update the comment on line 9 of .gitlint from referencing
CONTRIBUTING.md to COMMITS.md. PR fullsend-ai#2089 moved commit type
documentation to COMMITS.md but missed this config comment.

Note: pre-commit could not run in sandbox due to gitleaks
hook installation failure (permission denied on go module
cache). The post-script runs pre-commit authoritatively.

Closes fullsend-ai#2125
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

requires-manual-review Review requires human judgment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants