You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
PR title checker should reject placeholder JIRA keys like LCORE-0000 #3069
PR #3053 used the title LCORE-0000: Fix konflux build and passed the pr-title-checker CI gate. The review agent flagged this as a [low] missing-authorization finding, noting the placeholder JIRA key. The current .github/pr-title-checker-config.json uses a prefix-based check (LCORE-, RSPEED-, etc.) that matches any string starting with the prefix, including invalid keys like LCORE-0000, LCORE-, or LCORE-abc. PR #3053 was ultimately closed without merging, but the same placeholder was also used on PRs #3035 and #3048, showing this is a recurring pattern.
What could go better
The PR title checker should enforce that the JIRA key contains a valid issue number (non-zero integer), not just match a prefix string. This would catch placeholder keys deterministically at CI time instead of relying on agent review to flag them. Confidence: high — the pr-title-checker GitHub Action supports regexp checks in addition to prefix checks, making this a simple config change. The AGENTS.md already states that CI enforces JIRA prefixes, so tightening the validation aligns with existing intent.
Proposed change
In .github/pr-title-checker-config.json, replace the prefixes array with a regexp pattern that requires a valid JIRA issue number (one or more digits, not all zeros) after the project prefix. For example:
This rejects LCORE-0000, LCORE-0, and LCORE-abc while accepting LCORE-5106, RSPEED-2849, etc. The [release/ prefix continues to work via the alternation.
Validation criteria
After the config change: (1) a PR titled LCORE-0000: test should fail the title check, (2) a PR titled LCORE-5106: test should pass, (3) a PR titled [release/0.8] test should pass. Verify by opening a test PR or checking the pr-title-checker action documentation for local validation.
Related issues checked
Searched: LCORE-0000 placeholder pr title; pr title checker JIRA placeholder validation
No overlapping issues found.
The fix is a config-only change to .github/pr-title-checker-config.json — the workflow YAML does not need modification. The thehanimo/pr-title-checker action supports regexp as a direct replacement for prefixes, so this is a drop-in change.
Proposed test case:
LCORE-0000: test → FAIL (all-zero placeholder)
LCORE-0: test → FAIL (zero-only number)
LCORE-abc: test → FAIL (non-numeric)
LCORE-5106: test → PASS (valid key)
RSPEED-2849: test → PASS (valid key, different project)
[release/0.8] test → PASS (release prefix)
LCORE-1 fix typo → PASS (single digit, space separator)
Note: the existing [release/ prefix handling must be preserved in the regex alternation to avoid breaking release branch PRs.
Next steps:
/fs-code — agent creates a PR to implement this issue
/fs-code <your instruction> — agent implements with your specific guidance
Activity
fullsend-ai-triage commentedon Oct 29, 2026
🤖 Finished Triage · ✅ Success · Started 4:19 PM UTC · Completed 4:23 PM UTC
Commit:
401a7b5· View workflow run →Runtime: pi · Model: opus → claude-opus-4-6 · Effort: high · Cost: $0.90
fullsend-ai-triage commentedon Oct 29, 2026
The fix is a config-only change to
.github/pr-title-checker-config.json— the workflow YAML does not need modification. Thethehanimo/pr-title-checkeraction supportsregexpas a direct replacement forprefixes, so this is a drop-in change.Proposed test case:
Note: the existing
[release/prefix handling must be preserved in the regex alternation to avoid breaking release branch PRs.Next steps:
/fs-code— agent creates a PR to implement this issue/fs-code <your instruction>— agent implements with your specific guidancefullsend-ai-coder commentedon Oct 29, 2026
🤖 Finished Code · ✅ Success · Started 4:36 PM UTC · Completed 4:40 PM UTC
Commit:
401a7b5· View workflow run →Runtime: pi · Model: opus → claude-opus-4-6 · Effort: high · Cost: $0.90