Repository navigation
fix(#3069): reject placeholder JIRA keys in PR title checker - #3073
fullsend-ai-coder[bot] wants to merge 3 commits into
Conversation
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
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
|
🤖 Finished Review · ✅ Success · Started 5:04 PM UTC · Completed 5:22 PM UTC Commit: Runtime: pi · Model: opus → claude-opus-4-6 · Effort: high · Cost: $4.72 |
|
<!-- fullsend:risk-assessment --> DetailsUnchanged from prior assessment. Tiny five-file config/docs change with clear issue alignment and trivial rollback. Protected path count (2) raises Tier 1 slightly, offset by minimal blast radius, small diff, bot author, and well-scoped issue. Previous run<!-- fullsend:risk-assessment --> DetailsTiny five-file config/docs change with clear issue alignment and trivial rollback. Protected path count (2) raises Tier 1 slightly, offset by minimal blast radius, small diff, bot author, and well-scoped issue. Previous run (2)<!-- fullsend:risk-assessment --> DetailsTiny two-file config/docs change with clear issue alignment and trivial rollback. Protected path count (2) raises Tier 1, offset by minimal blast radius, small diff, bot author, and well-scoped issue. |
ReviewFindingsMedium
Earlier findings
Previous run<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJtZWRpdW0iLCJjYXRlZ29yeSI6InBhdHRlcm4taW5jb25zaXN0ZW5jeSIsImZpbGUiOiIuZ2l0aHViL3ByLXRpdGxlLWNoZWNrZXItY29uZmlnLmpzb24iLCJpZCI6ImZfYWE5M2Y5OWRhNmE2Zjg2MCIsImxpbmUiOjcsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJsb3ciLCJjYXRlZ29yeSI6ImRvYy1zdHlsZSIsImZpbGUiOiJBR0VOVFMubWQiLCJpZCI6ImZfMmJkZjcyZGRkNDY5NGNkMiIsImxpbmUiOjQxOCwiYWN0aW9uYWJsZSI6ZmFsc2V9LHsic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJzdGFsZS1kb2MiLCJmaWxlIjoiQ0xBVURFLm1kIiwiaWQiOiJmXzA2YTE1MDAzNzQyZjQzNjYiLCJsaW5lIjo0MTUsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJzdGFsZS1kb2MiLCJmaWxlIjoiQ09OVFJJQlVUSU5HLm1kIiwiaWQiOiJmXzk0ZTA3OTcxZmU5NGQyNTEiLCJsaW5lIjoxMTQsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJtZWRpdW0iLCJjYXRlZ29yeSI6InN0YWxlLWRvYyIsImZpbGUiOiJkb2NzL2RldmVsX2RvYy9jb250cmlidXRpbmdfZ3VpZGUubWQiLCJpZCI6ImZfNzVmZDRmNGVmZjA4OTgyNiIsImxpbmUiOjEwMSwiYWN0aW9uYWJsZSI6dHJ1ZX0seyJzZXZlcml0eSI6Im1lZGl1bSIsImNhdGVnb3J5Ijoic3RhbGUtZG9jIiwiZmlsZSI6ImRvY3MvZGVtb3MvbGNvcmUvY29udHJpYnV0aW5nX2d1aWRlbGluZXMubWQiLCJpZCI6ImZfYjIzNDZiZjAyN2M4ZTRjZiIsImxpbmUiOjc3LCJhY3Rpb25hYmxlIjp0cnVlfV0sImRpc3Bvc2l0aW9ucyI6W3siaWQiOiJmXzA2YTE1MDAzNzQyZjQzNjYiLCJzdGF0dXMiOiJyZXNvbHZlZF9ieV9jaGFuZ2UifSx7ImlkIjoiZl85NGUwNzk3MWZlOTRkMjUxIiwic3RhdHVzIjoicmVzb2x2ZWRfYnlfY2hhbmdlIn0seyJpZCI6ImZfNzVmZDRmNGVmZjA4OTgyNiIsInN0YXR1cyI6InJlc29sdmVkX2J5X2NoYW5nZSJ9LHsiaWQiOiJmX2IyMzQ2YmYwMjdjOGU0Y2YiLCJzdGF0dXMiOiJyZXNvbHZlZF9ieV9jaGFuZ2UifSx7ImlkIjoiZl9hYTkzZjk5ZGE2YTZmODYwIiwic3RhdHVzIjoib3BlbiJ9LHsiaWQiOiJmXzJiZGY3MmRkZDQ2OTRjZDIiLCJzdGF0dXMiOiJvcGVuIn1dfQ== --> ReviewFindingsMedium
Low
Earlier findings
Next steps:
Previous run (2)<!-- fullsend:review-findings-v2:eyJ2ZXJzaW9uIjoyLCJhY3Rpb24iOiJyZXF1ZXN0LWNoYW5nZXMiLCJmaW5kaW5ncyI6W3sic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJzdGFsZS1kb2MiLCJmaWxlIjoiQ0xBVURFLm1kIiwiaWQiOiJmXzA2YTE1MDAzNzQyZjQzNjYiLCJsaW5lIjo0MTUsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJoaWdoIiwiY2F0ZWdvcnkiOiJzdGFsZS1kb2MiLCJmaWxlIjoiQ09OVFJJQlVUSU5HLm1kIiwiaWQiOiJmXzk0ZTA3OTcxZmU5NGQyNTEiLCJsaW5lIjoxMTQsImFjdGlvbmFibGUiOnRydWV9LHsic2V2ZXJpdHkiOiJtZWRpdW0iLCJjYXRlZ29yeSI6InN0YWxlLWRvYyIsImZpbGUiOiJkb2NzL2RldmVsX2RvYy9jb250cmlidXRpbmdfZ3VpZGUubWQiLCJpZCI6ImZfNzVmZDRmNGVmZjA4OTgyNiIsImxpbmUiOjEwMSwiYWN0aW9uYWJsZSI6dHJ1ZX0seyJzZXZlcml0eSI6Im1lZGl1bSIsImNhdGVnb3J5Ijoic3RhbGUtZG9jIiwiZmlsZSI6ImRvY3MvZGVtb3MvbGNvcmUvY29udHJpYnV0aW5nX2d1aWRlbGluZXMubWQiLCJpZCI6ImZfYjIzNDZiZjAyN2M4ZTRjZiIsImxpbmUiOjc3LCJhY3Rpb25hYmxlIjp0cnVlfSx7InNldmVyaXR5IjoibWVkaXVtIiwiY2F0ZWdvcnkiOiJwYXR0ZXJuLWluY29uc2lzdGVuY3kiLCJmaWxlIjoiLmdpdGh1Yi9wci10aXRsZS1jaGVja2VyLWNvbmZpZy5qc29uIiwiaWQiOiJmX2FhOTNmOTlkYTZhNmY4NjAiLCJsaW5lIjo3LCJhY3Rpb25hYmxlIjp0cnVlfSx7InNldmVyaXR5IjoibG93IiwiY2F0ZWdvcnkiOiJkb2Mtc3R5bGUiLCJmaWxlIjoiQUdFTlRTLm1kIiwiaWQiOiJmXzJiZGY3MmRkZDQ2OTRjZDIiLCJsaW5lIjo0MTUsImFjdGlvbmFibGUiOmZhbHNlfV19 --> ReviewFindingsHigh
Medium
Low
Labels: PR modifies CI configuration and documentation files. Next steps:
|
|
🤖 Finished Fix · ✅ Success · Started 5:29 PM UTC · Completed 5:35 PM UTC Commit: Runtime: pi · Model: opus → claude-opus-4-6 · Effort: high · Cost: $1.40 |
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
🔧 Fix agent — iteration 1 (bot-triggered)Updated three stale documentation files (CONTRIBUTING.md, docs/devel_doc/contributing_guide.md, docs/demos/lcore/contributing_guidelines.md) to reflect the new regexp-based PR title validation. Also documented leading-zero rejection in AGENTS.md. Disagreed on CLAUDE.md (it is a symlink to AGENTS.md, already updated), on the [: ] pattern (intentional to require descriptions), and acknowledged the protected-path merge gate. Fixed (4):
Disagreed (3):
Tests: passed CI inspections (14):
Conflict update: skipped; strategy Decision points
Next steps:
|
|
🤖 Finished Review · ✅ Success · Started 5:48 PM UTC · Completed 6:09 PM UTC Commit: Runtime: pi · Model: opus → claude-opus-4-6 · Effort: high · Cost: $4.52 |
|
🤖 Finished Fix · ✅ Success · Started 6:11 PM UTC · Completed 6:17 PM UTC Commit: Runtime: pi · Model: opus → claude-opus-4-6 · Effort: high · Cost: $1.30 |
…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
🔧 Fix agent — iteration 2 (bot-triggered)Addressed the pattern-inconsistency finding by documenting the colon-or-space delimiter requirement across all four documentation files. Also addressed the doc-style finding by refactoring the AGENTS.md paragraph into a bullet list. The protected-path finding only requires human approval at merge time. Fixed (5):
Disagreed (1):
Tests: passed CI inspections (3):
Decision points
Next steps:
|
|
🤖 Finished Review · ✅ Success · Started 6:23 PM UTC · Completed 6:43 PM UTC Commit: Runtime: pi · Model: opus → claude-opus-4-6 · Effort: high · Cost: $4.79 |
Superseded by updated review
Description
Replace the prefix-based
prefixescheck in.github/pr-title-checker-config.jsonwith aregexppattern that validates JIRA issue keys have a real, non-zero issue number. Thethehanimo/pr-title-checkeraction supportsregexpas a direct replacement forprefixes.The new regex
^(LCORE|RSPEED|MGTM|OLS|RHIDP|LEADS|CWFHEALTH)-[1-9]\d*[: ]|^\[release/ensures:[1-9]) followed by optional additional digits[release/prefix continues to work via alternationAlso updates AGENTS.md to document the stricter validation and adds examples of rejected titles.
Type of change
Tools used to create PR
Validation criteria
LCORE-5106: testRSPEED-2849: test[release/0.8] testLCORE-1 fix typoLCORE-0000: testLCORE-0: testLCORE-abc: testTesting
Validated the regex pattern against all test cases from the issue using Python's
remodule. All cases pass correctly.Closes #3069
Post-script verification
agent/3069-reject-placeholder-jira-keys)401a7b55cd7f1561ef69e67ecbf9279e06c8e017..HEAD)