fix(agents): address sync review debt - #3005
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. |
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 3 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 (3)
📝 WalkthroughWalkthroughThe PR excludes fenced Markdown from issue validation, expands safe verification-command matching, ignores fenced HTML during Original-Issue parsing, and limits auto-pilot label filtering to issue events. Tests cover fence parsing and command validation. ChangesIssue validation and workflow gating
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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/scripts/issue_format.py:
- Around line 202-217: Update _without_fenced_code in
.github/scripts/issue_format.py (lines 202-217) and the corresponding fence
parser in scripts/langchain/issue_formatter.py (lines 480-496) so closing fences
are recognized only when the line contains the required marker characters with
optional surrounding whitespace and no trailing content; apply the same rule to
backtick and tilde fences, and add shared regression coverage for both marker
types with trailing text.
In @.github/workflows/agents-issue-optimizer.yml:
- Line 736: The cleanup conditions at
.github/workflows/agents-issue-optimizer.yml:736-736 and
templates/consumer-repo/.github/workflows/agents-issue-optimizer.yml:589-589
must detect format triggers independently of steps.check.outputs.should_run, so
agents:format is released when trigger validation fails or the workflow is
cancelled. Update only the agents:format cleanup logic in both workflows; leave
agents:auto-pilot and agents:auto-pilot-pause unchanged.
🪄 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: 9c0f4aa7-c9c4-4c8b-bc4d-cd189212aa4c
📒 Files selected for processing (6)
.github/scripts/issue_format.py.github/workflows/agents-63-issue-intake.yml.github/workflows/agents-issue-optimizer.ymlscripts/langchain/issue_formatter.pytemplates/consumer-repo/.github/workflows/agents-issue-intake.ymltemplates/consumer-repo/.github/workflows/agents-issue-optimizer.yml
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c412301cfd
ℹ️ 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.
Pull request overview
This PR addresses shared sync-review findings across the Workflows “source of truth” and the consumer template surfaces, tightening issue-format validation, making issue-intake manual dispatch behavior consistent, and preventing unintended optimizer lease release behavior.
Changes:
- Update issue-format validation to ignore Markdown fenced examples when evaluating
TasksandAcceptance Criteria. - Align
issue_formatterverify-hint parsing with the canonical validator and make Original-Issue stripping robust to literal<details>tags inside fenced payloads. - Prevent skipped optimizer runs from releasing the
agents:formatlease; keep manual issue-intake dispatch independent of issue payload labels.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| templates/consumer-repo/.github/workflows/agents-issue-optimizer.yml | Only release a failed format lease when the optimizer check indicates the run should execute. |
| templates/consumer-repo/.github/workflows/agents-issue-intake.yml | Ensure the agents:auto-pilot skip condition doesn’t block manual dispatch (non-issues events). |
| scripts/langchain/issue_formatter.py | Expand/strengthen safe verify-hint matching and ignore <details> tags inside fenced Original-Issue payloads. |
| .github/workflows/agents-issue-optimizer.yml | Mirror the optimizer lease-release gating in the source workflow. |
| .github/workflows/agents-63-issue-intake.yml | Mirror the issue-intake manual-dispatch independence change in the source workflow. |
| .github/scripts/issue_format.py | Reject fenced examples as evidence for Tasks/Acceptance by stripping fenced code before validation. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…take drift Align fence parsers with the heading scanner so language tags and trailing junk cannot end a fence, keep cancel-safe format-lease release independent of should_run, and refresh the intake drift allowlist for the dispatch-label change. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Runner dispatch state for autofix on PR #3005. Do not edit. |
|
Runner dispatch state for codex on PR #3005. Do not edit. |
🤖 Keepalive Loop StatusPR #3005 | Agent: Codex | Iteration 0/12 Current State
Last Codex Run
To retry immediately:
Or wait for the next successful Gate run to automatically retry. 🔍 Failure Classification| Error type | infrastructure |
|
Keepalive Work Log (click to expand)
|
Add regression coverage for unittest/gh verify hints so SAFE_VERIFY_COMMAND_RE edits cannot silently widen or narrow the accepted command surface. Co-authored-by: Cursor <cursoragent@cursor.com>
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 `@scripts/langchain/issue_formatter.py`:
- Around line 492-501: Update the fence-state logic in
scripts/langchain/issue_formatter.py lines 492-501 to scan through tag.end()
before evaluating whether the line is a marker-only closing fence, so same-line
HTML such as </details> prevents closing the active fence. Add the requested
parameterized regression case in tests/scripts/test_issue_formatter.py lines
706-740 using f"{marker}</details>", followed by a real closing fence and
details tag.
🪄 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: fd7b178c-5ec0-494b-a28d-d534a3bb3788
📒 Files selected for processing (7)
.github/scripts/issue_format.pyconfig/template-drift-allowlist.txtlangsmith-fleet-worker-attempt.jsonscripts/langchain/issue_formatter.pytemplates/consumer-repo/.github/scripts/issue_format.pytests/scripts/test_issue_format.pytests/scripts/test_issue_formatter.py
|
Closer audit (cursor, 2026-08-09T12:36Z):
|
Provider Comparison ReportProvider Summary
📋 Full Provider Details (click to expand)openai
anthropic
Agreement
DisagreementNo major disagreements detected. Unique Insights
🔍 LangSmith Traces |
Addresses shared active sync-review findings in the source of truth.
Changes:
Validation:
python -m pytest -q tests/scripts/test_issue_formatter.py tests/workflows/test_agents_issue_optimizer_format_trigger.py tests/workflows/test_workflow_templates.py(47 passed)git diff --checkKnown validation debt:
scripts/check_template_drift.py --allowlist config/template-drift-allowlist.txtstill reports the pre-existing root/template divergence for issue-intake and issue-optimizer. This PR applies the targeted semantic changes to both surfaces; it intentionally does not overwrite consumer-specific workflow wiring.Summary by CodeRabbit
Bug Fixes
Improvements