From 3d4cd80bba73ab905296cb4fa2f88c6ab25eeaaa Mon Sep 17 00:00:00 2001 From: fullsend-code <278716306+fullsend-ai-coder[bot]@users.noreply.github.com> Date: Thu, 29 Oct 2026 16:39:39 +0000 Subject: [PATCH 1/3] fix(#3069): reject placeholder JIRA keys in PR title checker Replace the prefix-based check in pr-title-checker-config.json with a regexp pattern that requires a valid non-zero JIRA issue number after the project prefix. This rejects placeholder keys like LCORE-0000, LCORE-0, and LCORE-abc while continuing to accept valid keys like LCORE-5106 and RSPEED-2849. The [release/ prefix is preserved via regex alternation. Also updates AGENTS.md to document the stricter validation rules and adds examples of rejected placeholder keys. Closes #3069 --- .github/pr-title-checker-config.json | 13 ++----------- AGENTS.md | 6 ++++-- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/.github/pr-title-checker-config.json b/.github/pr-title-checker-config.json index e0ff11136..6dfd914fe 100644 --- a/.github/pr-title-checker-config.json +++ b/.github/pr-title-checker-config.json @@ -4,20 +4,11 @@ "color": "EEEEEE" }, "CHECKS": { - "prefixes": [ - "LCORE-", - "RSPEED-", - "MGTM-", - "OLS-", - "RHIDP-", - "LEADS-", - "CWFHEALTH-", - "[release/" - ] + "regexp": "^(LCORE|RSPEED|MGTM|OLS|RHIDP|LEADS|CWFHEALTH)-[1-9]\\d*[: ]|^\\[release/" }, "MESSAGES": { "success": "All OK", - "failure": "Failing CI test", + "failure": "Failing CI test — PR title must start with a valid JIRA key (e.g. LCORE-1234) or [release/", "notice": "" } } diff --git a/AGENTS.md b/AGENTS.md index 28cd806ef..be45a293d 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -412,11 +412,13 @@ uv run make test-e2e # End-to-end tests ## Pull Request Requirements -**PR titles MUST start with a JIRA issue key prefix.** CI enforces this via `pr-title-checker` (config: `.github/pr-title-checker-config.json`). +**PR titles MUST start with a valid JIRA issue key (project prefix + non-zero issue number).** CI enforces this via `pr-title-checker` (config: `.github/pr-title-checker-config.json`). -Allowed prefixes: `LCORE-`, `RSPEED-`, `MGTM-`, `OLS-`, `RHIDP-`, `LEADS-`, `CWFHEALTH-`, `[release/` +Allowed project prefixes: `LCORE`, `RSPEED`, `MGTM`, `OLS`, `RHIDP`, `LEADS`, `CWFHEALTH`. The issue number after the prefix must be a positive integer (e.g. `LCORE-1234`). Placeholder keys like `LCORE-0000` or `LCORE-0` are rejected. Release branch PRs may use the `[release/` prefix instead. - ✅ `RSPEED-2849: add user_agent to ResponsesEventData` +- ✅ `[release/0.8] cherry-pick fix` +- ❌ `LCORE-0000: placeholder key` - ❌ `feat(observability): add user_agent to ResponsesEventData` ## Development Workflow From a7afa21f8baaa501f59d6c075305d1ab18439167 Mon Sep 17 00:00:00 2001 From: fullsend-fix <278716306+fullsend-ai-coder[bot]@users.noreply.github.com> Date: Thu, 29 Oct 2026 17:35:00 +0000 Subject: [PATCH 2/3] fix: update stale PR title docs to match new regexp validation (#3073) Update CONTRIBUTING.md, docs/devel_doc/contributing_guide.md, and docs/demos/lcore/contributing_guidelines.md to reflect the new regexp-based PR title validation that rejects placeholder keys. Also document leading-zero rejection (e.g. LCORE-0123) in AGENTS.md since the regexp [1-9]\d* inherently rejects those. Disagree: CLAUDE.md is a symlink to AGENTS.md, already updated. Disagree: [: ] in regexp is intentional, requiring a description after the JIRA key. Addresses #3073 --- AGENTS.md | 2 +- CONTRIBUTING.md | 14 +++++++++----- docs/demos/lcore/contributing_guidelines.md | 14 +++++++++----- docs/devel_doc/contributing_guide.md | 14 +++++++++----- 4 files changed, 28 insertions(+), 16 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index be45a293d..c0b4de402 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -414,7 +414,7 @@ uv run make test-e2e # End-to-end tests **PR titles MUST start with a valid JIRA issue key (project prefix + non-zero issue number).** CI enforces this via `pr-title-checker` (config: `.github/pr-title-checker-config.json`). -Allowed project prefixes: `LCORE`, `RSPEED`, `MGTM`, `OLS`, `RHIDP`, `LEADS`, `CWFHEALTH`. The issue number after the prefix must be a positive integer (e.g. `LCORE-1234`). Placeholder keys like `LCORE-0000` or `LCORE-0` are rejected. Release branch PRs may use the `[release/` prefix instead. +Allowed project prefixes: `LCORE`, `RSPEED`, `MGTM`, `OLS`, `RHIDP`, `LEADS`, `CWFHEALTH`. The issue number after the prefix must be a positive integer (e.g. `LCORE-1234`). Placeholder keys like `LCORE-0000` or `LCORE-0` are rejected, as are keys with leading zeros (e.g. `LCORE-0123`). Release branch PRs may use the `[release/` prefix instead. - ✅ `RSPEED-2849: add user_agent to ResponsesEventData` - ✅ `[release/0.8] cherry-pick fix` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6e9c49f63..b97932f13 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -111,11 +111,15 @@ Happy hacking! ## PR description -* PR titles must start with a JIRA issue key prefix or the target branch of a backport in brackets. CI enforces this via - `pr-title-checker` (config: `.github/pr-title-checker-config.json`). - Allowed prefixes: `LCORE-`, `RSPEED-`, `MGTM-`, `OLS-`, `RHIDP-`, `LEADS-`, - `CWFHEALTH-`, `[release/` - - for example: `LCORE-740: type hints for models unit tests` +* PR titles must start with a valid JIRA issue key (project prefix + non-zero issue number) or + the target branch of a backport in brackets. CI enforces this via `pr-title-checker` + (config: `.github/pr-title-checker-config.json`). + Allowed project prefixes: `LCORE`, `RSPEED`, `MGTM`, `OLS`, `RHIDP`, `LEADS`, + `CWFHEALTH`. The issue number must be a positive integer (e.g. `LCORE-1234`). + Placeholder keys like `LCORE-0000` or `LCORE-0` are rejected, as are keys with + leading zeros (e.g. `LCORE-0123`). Release branch PRs may use the `[release/` prefix instead. + - ✅ `LCORE-740: type hints for models unit tests` + - ❌ `LCORE-0000: placeholder key` * Fill-in all relevant information in the PR template - unused parts of PR template (like information about testing etc.) can be deleted * Please note that CodeRabbitAI will create a summary of your pull request diff --git a/docs/demos/lcore/contributing_guidelines.md b/docs/demos/lcore/contributing_guidelines.md index f9bb68650..a096216cb 100644 --- a/docs/demos/lcore/contributing_guidelines.md +++ b/docs/demos/lcore/contributing_guidelines.md @@ -74,11 +74,15 @@ ptisnovs@redhat.com ## PR description -* PR titles must start with a JIRA issue key prefix. CI enforces this via - `pr-title-checker` (config: `.github/pr-title-checker-config.json`). - Allowed prefixes: `LCORE-`, `RSPEED-`, `MGTM-`, `OLS-`, `RHIDP-`, `LEADS-`, - `CWFHEALTH-`, `[release/` - - for example: `LCORE-740: type hints for models unit tests` +* PR titles must start with a valid JIRA issue key (project prefix + non-zero issue number). + CI enforces this via `pr-title-checker` + (config: `.github/pr-title-checker-config.json`). + Allowed project prefixes: `LCORE`, `RSPEED`, `MGTM`, `OLS`, `RHIDP`, `LEADS`, + `CWFHEALTH`. The issue number must be a positive integer (e.g. `LCORE-1234`). + Placeholder keys like `LCORE-0000` or `LCORE-0` are rejected, as are keys with + leading zeros (e.g. `LCORE-0123`). Release branch PRs may use the `[release/` prefix instead. + - ✅ `LCORE-740: type hints for models unit tests` + - ❌ `LCORE-0000: placeholder key` * Fill-in all relevant information in the PR template - unused parts of PR template (like information about testing etc.) can be deleted * Use tags if you need/want to! diff --git a/docs/devel_doc/contributing_guide.md b/docs/devel_doc/contributing_guide.md index 3a75d336c..e4247d846 100644 --- a/docs/devel_doc/contributing_guide.md +++ b/docs/devel_doc/contributing_guide.md @@ -98,11 +98,15 @@ Happy hacking! ## PR description -* PR titles must start with a JIRA issue key prefix or the target branch of a backport. CI enforces this via - `pr-title-checker` (config: `.github/pr-title-checker-config.json`). - Allowed prefixes: `LCORE-`, `RSPEED-`, `MGTM-`, `OLS-`, `RHIDP-`, `LEADS-`, - `CWFHEALTH-`, `[release/` - - for example: `LCORE-740: type hints for models unit tests` +* PR titles must start with a valid JIRA issue key (project prefix + non-zero issue number) or + the target branch of a backport. CI enforces this via `pr-title-checker` + (config: `.github/pr-title-checker-config.json`). + Allowed project prefixes: `LCORE`, `RSPEED`, `MGTM`, `OLS`, `RHIDP`, `LEADS`, + `CWFHEALTH`. The issue number must be a positive integer (e.g. `LCORE-1234`). + Placeholder keys like `LCORE-0000` or `LCORE-0` are rejected, as are keys with + leading zeros (e.g. `LCORE-0123`). Release branch PRs may use the `[release/` prefix instead. + - ✅ `LCORE-740: type hints for models unit tests` + - ❌ `LCORE-0000: placeholder key` * Fill-in all relevant information in the PR template - unused parts of PR template (like information about testing etc.) can be deleted * Please note that CodeRabbitAI will create a summary of your pull request From c6311de144947816b21fd7ad87d784693d7f649d Mon Sep 17 00:00:00 2001 From: fullsend-fix <278716306+fullsend-ai-coder[bot]@users.noreply.github.com> Date: Thu, 29 Oct 2026 18:16:16 +0000 Subject: [PATCH 3/3] fix: document colon-or-space delimiter requirement in PR title docs (#3073) Document that the JIRA key must be followed by a colon or space after the issue number, matching the regex [: ] in pr-title-checker-config.json. AGENTS.md: refactored the run-on paragraph into a bullet list for readability and added an example of a rejected title missing the delimiter. CONTRIBUTING.md, contributing_guide.md, contributing_guidelines.md: added the delimiter note inline. Addresses #3073 --- AGENTS.md | 7 ++++++- CONTRIBUTING.md | 4 +++- docs/demos/lcore/contributing_guidelines.md | 4 +++- docs/devel_doc/contributing_guide.md | 4 +++- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index c0b4de402..64425c25c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -414,11 +414,16 @@ uv run make test-e2e # End-to-end tests **PR titles MUST start with a valid JIRA issue key (project prefix + non-zero issue number).** CI enforces this via `pr-title-checker` (config: `.github/pr-title-checker-config.json`). -Allowed project prefixes: `LCORE`, `RSPEED`, `MGTM`, `OLS`, `RHIDP`, `LEADS`, `CWFHEALTH`. The issue number after the prefix must be a positive integer (e.g. `LCORE-1234`). Placeholder keys like `LCORE-0000` or `LCORE-0` are rejected, as are keys with leading zeros (e.g. `LCORE-0123`). Release branch PRs may use the `[release/` prefix instead. +- Allowed project prefixes: `LCORE`, `RSPEED`, `MGTM`, `OLS`, `RHIDP`, `LEADS`, `CWFHEALTH` +- The issue number after the prefix must be a positive integer (e.g. `LCORE-1234`) +- Placeholder keys like `LCORE-0000` or `LCORE-0` are rejected, as are keys with leading zeros (e.g. `LCORE-0123`) +- The JIRA key must be followed by a colon or space (e.g. `LCORE-1234: description` or `LCORE-1234 description`) +- Release branch PRs may use the `[release/` prefix instead - ✅ `RSPEED-2849: add user_agent to ResponsesEventData` - ✅ `[release/0.8] cherry-pick fix` - ❌ `LCORE-0000: placeholder key` +- ❌ `LCORE-1234-fix-bug` (missing colon or space after the key) - ❌ `feat(observability): add user_agent to ResponsesEventData` ## Development Workflow diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b97932f13..2712f161b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -117,7 +117,9 @@ Happy hacking! Allowed project prefixes: `LCORE`, `RSPEED`, `MGTM`, `OLS`, `RHIDP`, `LEADS`, `CWFHEALTH`. The issue number must be a positive integer (e.g. `LCORE-1234`). Placeholder keys like `LCORE-0000` or `LCORE-0` are rejected, as are keys with - leading zeros (e.g. `LCORE-0123`). Release branch PRs may use the `[release/` prefix instead. + leading zeros (e.g. `LCORE-0123`). The JIRA key must be followed by a colon or + space (e.g. `LCORE-1234: description`). Release branch PRs may use the `[release/` + prefix instead. - ✅ `LCORE-740: type hints for models unit tests` - ❌ `LCORE-0000: placeholder key` * Fill-in all relevant information in the PR template diff --git a/docs/demos/lcore/contributing_guidelines.md b/docs/demos/lcore/contributing_guidelines.md index a096216cb..6e41c0e5c 100644 --- a/docs/demos/lcore/contributing_guidelines.md +++ b/docs/demos/lcore/contributing_guidelines.md @@ -80,7 +80,9 @@ ptisnovs@redhat.com Allowed project prefixes: `LCORE`, `RSPEED`, `MGTM`, `OLS`, `RHIDP`, `LEADS`, `CWFHEALTH`. The issue number must be a positive integer (e.g. `LCORE-1234`). Placeholder keys like `LCORE-0000` or `LCORE-0` are rejected, as are keys with - leading zeros (e.g. `LCORE-0123`). Release branch PRs may use the `[release/` prefix instead. + leading zeros (e.g. `LCORE-0123`). The JIRA key must be followed by a colon or + space (e.g. `LCORE-1234: description`). Release branch PRs may use the `[release/` + prefix instead. - ✅ `LCORE-740: type hints for models unit tests` - ❌ `LCORE-0000: placeholder key` * Fill-in all relevant information in the PR template diff --git a/docs/devel_doc/contributing_guide.md b/docs/devel_doc/contributing_guide.md index e4247d846..96244fd62 100644 --- a/docs/devel_doc/contributing_guide.md +++ b/docs/devel_doc/contributing_guide.md @@ -104,7 +104,9 @@ Happy hacking! Allowed project prefixes: `LCORE`, `RSPEED`, `MGTM`, `OLS`, `RHIDP`, `LEADS`, `CWFHEALTH`. The issue number must be a positive integer (e.g. `LCORE-1234`). Placeholder keys like `LCORE-0000` or `LCORE-0` are rejected, as are keys with - leading zeros (e.g. `LCORE-0123`). Release branch PRs may use the `[release/` prefix instead. + leading zeros (e.g. `LCORE-0123`). The JIRA key must be followed by a colon or + space (e.g. `LCORE-1234: description`). Release branch PRs may use the `[release/` + prefix instead. - ✅ `LCORE-740: type hints for models unit tests` - ❌ `LCORE-0000: placeholder key` * Fill-in all relevant information in the PR template