fix: harden synced issue format guard - #2969
Conversation
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
Workflow source neededPR #2969 needs either a linked GitHub issue or one valid non-issue Workflow Source before PR metadata automation can manage it safely. Please do one of:
Once a valid source is present, this warning will not be reposted. |
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 53 minutes Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughThe issue validator now requires standalone closing fences and accepts qualified section headings. Matching consumer templates and regression tests were updated. Guard workflows now clear stale ChangesIssue format guard
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8c5f1b5041
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/agents-issue-format-guard.yml:
- Around line 89-91: Update the invalid-issue label-removal branch in
.github/workflows/agents-issue-format-guard.yml lines 89-91 and
templates/consumer-repo/.github/workflows/agents-issue-format-guard.yml lines
89-91 so the cleared message is emitted only when gh issue edit succeeds; move
the warning into the failure branch and avoid reporting success after an API
failure.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
Run ID: cad5fbe3-df5d-471f-b2fe-57e6f99cfed1
📒 Files selected for processing (5)
.github/scripts/issue_format.py.github/workflows/agents-issue-format-guard.ymltemplates/consumer-repo/.github/scripts/issue_format.pytemplates/consumer-repo/.github/workflows/agents-issue-format-guard.ymltests/scripts/test_issue_format.py
There was a problem hiding this comment.
Pull request overview
This PR hardens the issue-format guard by tightening Markdown fence handling and making required-section heading detection more tolerant, while keeping the consumer template copies in sync with the source.
Changes:
- Prevent language-qualified fence lines (e.g., ```python) from being treated as code-fence closers when scanning headings.
- Treat required headings as present when they include a trailing parenthetical qualifier (e.g.,
## Tasks (in order)). - Make stale
agents:formattedlabel clearing tolerant of label-removal failures (warn instead of failing), in both source and template workflows.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
tests/scripts/test_issue_format.py |
Adds regression coverage for language-qualified fence markers and qualified required headings. |
templates/consumer-repo/.github/workflows/agents-issue-format-guard.yml |
Mirrors workflow behavior updates for clearing stale agents:formatted without hard-failing on removal errors. |
templates/consumer-repo/.github/scripts/issue_format.py |
Mirrors validator logic changes for fence closing and qualified required headings. |
.github/workflows/agents-issue-format-guard.yml |
Updates stale-label invalidation to run on any invalid non-exempt check and warns on removal failures. |
.github/scripts/issue_format.py |
Updates heading scan to only close fences on “marker-only” lines and matches required headings with parenthetical qualifiers. |
Replace percent-format fence regex with rf-specifiers and align WORKFLOWS/sync-manifest with full agents:formatted clear paths. Co-authored-by: Cursor <cursoragent@cursor.com>
Closer recovery (cursor) — head
|
Avoid claiming the stale completion marker was cleared when gh issue edit fails. Co-authored-by: Cursor <cursoragent@cursor.com>
Automated Status SummaryHead SHA: 4bf6d37
Coverage Overview
Coverage Trend
Top Coverage Hotspots (lowest coverage)
Low Coverage Files (<50.0%)
Updated automatically; will refresh on subsequent CI/Docker completions. Keepalive checklistScopeNo scope information available Tasks
Acceptance criteria
|
Closer same-lane follow-through (cursor) — head
|
Repairs source-owned review debt in the issue-format guard and its synced template copy.
agents:formattedfor any invalid non-exempt issue change without failing on transient label API errorsValidation:
python -m pytest -q tests/scripts/test_issue_format.py;python scripts/sync_tool_versions.py --check;git diff --check.Summary by CodeRabbit
Bug Fixes
Tests