Skip to content

feat: implement issue #2247 — Stale-disposition retry cap does not count a fix-reviews pass that dies before posting any marker (follow-up to the edited-comment deadlock fix) - #2290

Open
don-petry wants to merge 5 commits into
mainfrom
dev-lead/issue-2247-20261011-1510
Open

don-petry wants to merge 5 commits into
mainfrom
dev-lead/issue-2247-20261011-1510

Conversation

@don-petry

@don-petry don-petry commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

Stale-disposition retry cap does not count a fix-reviews pass that dies before posting any marker (follow-up to the edited-comment deadlock fix)

From the issue: The stale-disposition retry cap added for #2166 (PR #2230) bounds how many fix-reviews passes the sweep dispatches for a bot comment that was edited after its disposition. It counts passes by their markers on the PR: any <!-- dev-lead-fix-reviews pr=<n> … intent=fix-reviews status=… --> comment newer than the edit.

Risk

Low — changes automation shell logic under scripts/, covered by shellcheck (--severity=warning) and the bats suite.

Test plan

Tests added/updated: tests/dev-lead/unit/test_dev_lead_retry.bats,tests/dev-lead/unit/test_fix_reviews.bats tests/dev-lead/unit/test_maintainer_comment_gate.bats. Verification: bash scripts/dev-lead-lint.sh (shellcheck --severity=warning) ran pre-commit; the bats suite runs in CI.

Rollback

Revert this PR. No non-revertible side effects (no tags, migrations, or external state).

Monitoring

This PR's Lint (shellcheck) and bats checks show pass/fail; watch subsequent dev-lead / pr-review runs for behavioral regressions.

Closes #2247

View guided diff Turn on auto-fix

@don-petry
don-petry requested a review from a team as a code owner October 11, 2026 15:45
@don-petry don-petry added the auto-rebase:ready Opts a non-draft PR into auto-rebase without an approval (auto-rebase ready_label) label Oct 11, 2026
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai

This comment has been minimized.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a mechanism to post a start marker (<!-- dev-lead-fix-reviews-start ... -->) before a fix-reviews pass runs. This ensures that passes that fail or die prematurely (before posting a terminal marker) are still counted towards the stale disposition retry cap. The retry logic is updated to count these start markers, grouping them with terminal markers by their read_at timestamp to avoid double-counting. Unit tests are added to verify the new behavior and ensure the start marker is treated as a registered automation marker. I have no feedback to provide as there are no review comments.

@don-petry

Copy link
Copy Markdown
Collaborator Author

Auto-rebase failed — merge conflict — this branch has conflicts with main that must be resolved.

dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention.

To resolve manually instead:

git fetch origin
git merge origin/main
# resolve conflicts, then:
git add .
git commit
git push

@codeant-ai

codeant-ai Bot commented Oct 11, 2026

Copy link
Copy Markdown

CodeAnt Nitpicks

1 code suggestion

1. If separate passes start in the same second, they reuse read_at; the sweep counts them as one attempt, allowing failures to exceed the retry cap.

Logic error · scripts/dev-lead-fix-reviews.sh:936

@codeant-ai

This comment has been minimized.

@don-petry

This comment has been minimized.

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-bot-comment (no-changes)

Agent reasoning
Issues addressed: 0
- CodeAnt neutral overview (PR Risk: Low Risk): No actionable findings — dispositioned informational
Files changed: none
Skipped (informational): 1
```
The bot comment is a neutral overview describing the PR as safe to merge with good test coverage. Per the maintainer-comment gate requirements, I posted an `informational` disposition reply on the original comment (ID: `IC_kwDOR9SdIs8AAAABbDtF2A`) to clear the gate blocker. No code changes were needed.

@don-petry
don-petry enabled auto-merge October 11, 2026 15:56
@don-petry

Copy link
Copy Markdown
Collaborator Author

No description provided.

@don-petry
don-petry disabled auto-merge October 11, 2026 16:10
@don-petry

This comment has been minimized.

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-bot-comment (no-changes)

Agent reasoning
## Summary
**Bot:** coderabbitai[bot]
**Issues addressed:** 0 (no code findings)
**Disposition:** Rate-limit notice → posted `informational` disposition
The CodeRabbit comment is a **pure rate-limit notice** with no code review findings, no Security Architecture Review findings, and no actionable suggestions. The code review was throttled due to free OSS review limits being reached. No changes to the diff are needed.
**Reply posted:** https://github.com/petry-projects/.github-private/pull/2290#issuecomment-6110988068
The maintainer-comment gate will recognize the `disposition=informational` marker and clear this as a non-actionable operational notice, allowing the PR to proceed.

@don-petry
don-petry enabled auto-merge October 11, 2026 16:11
@don-petry

Copy link
Copy Markdown
Collaborator Author

No description provided.

@don-petry
don-petry disabled auto-merge October 11, 2026 16:23
@don-petry

Copy link
Copy Markdown
Collaborator Author

Fixed in scripts/dev-lead-fix-reviews.sh: updated PASS_STARTED_AT to use millisecond precision (line 89) and updated regex patterns (lines 487, 935) to accept milliseconds, ensuring each pass gets a unique read_at timestamp even when starting in the same second.

@don-petry
don-petry enabled auto-merge October 11, 2026 16:33
Comment thread scripts/dev-lead-retry.sh Resolved
@don-petry

Copy link
Copy Markdown
Collaborator Author

No description provided.

@donpetry-bot

Copy link
Copy Markdown
Contributor

Advisory bots were rate-limited; auto-approval is withheld until they recover. pr-review-sweep will re-review this PR after 2026-10-11T17:35:26Z.

@don-petry
don-petry disabled auto-merge October 11, 2026 16:35
@don-petry

This comment has been minimized.

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-reviews (applied)

Changes committed and pushed. Requested items addressed:

  • scripts/dev-lead-retry.sh:517 — applied

@don-petry
don-petry enabled auto-merge October 11, 2026 16:47
@don-petry

Copy link
Copy Markdown
Collaborator Author

Auto-rebase failed — merge conflict — this branch has conflicts with main that must be resolved.

dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention.

To resolve manually instead:

git fetch origin
git merge origin/main
# resolve conflicts, then:
git add .
git commit
git push

@don-petry

Copy link
Copy Markdown
Collaborator Author

No description provided.

@sonarqubecloud

This comment has been minimized.

@don-petry

Copy link
Copy Markdown
Collaborator Author

No description provided.

@donpetry-bot

donpetry-bot commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

No description provided.

@don-petry

Copy link
Copy Markdown
Collaborator Author

No description provided.

@don-petry
don-petry disabled auto-merge November 7, 2026 00:51
@don-petry

Copy link
Copy Markdown
Collaborator Author

This is a CodeRabbit rate-limit notice indicating the free OSS review quota has been exhausted. No code changes are needed — it is an operational notice from the bot service.

@don-petry
don-petry enabled auto-merge November 7, 2026 00:53
@don-petry

don-petry commented Nov 7, 2026 •

Copy link
Copy Markdown
Collaborator Author

No description provided.

@don-petry
don-petry disabled auto-merge November 7, 2026 01:57
@don-petry

Copy link
Copy Markdown
Collaborator Author

Quality Gate has passed with all SonarCloud checks successful. The comment lists "1 New issue" but provides no specific file, line number, or issue details. After reviewing all changed files for known SonarQube hotspot patterns (script injection, hardcoded credentials, dynamic code execution), no actionable findings were identified. The PR's code changes appear sound.

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-bot-comment (no-changes)

Agent reasoning
  - No unsafe `eval` with user input (test eval uses controlled script paths)
  - No dynamic code execution vulnerabilities
**Resolution:**
- Posted disposition reply explaining that despite the "1 New issue" reference, no specific actionable defect is provided in the comment
- Dispositioned as `answered` since the Quality Gate has passed and no actionable findings could be identified
**Files analyzed:** 
- scripts/dev-lead-fix-reviews.sh
- scripts/dev-lead-retry.sh  
- tests/dev-lead/unit/test_*.bats
**Result:** No actionable fixes required. Comment dispositioned.

@don-petry

Copy link
Copy Markdown
Collaborator Author

Auto-rebase failed — merge conflict — this branch has conflicts with main that must be resolved.

dev-lead will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention.

To resolve manually instead:

git fetch origin
git merge origin/main
# resolve conflicts, then:
git add .
git commit
git push

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-rebase:ready Opts a non-draft PR into auto-rebase without an approval (auto-rebase ready_label)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stale-disposition retry cap does not count a fix-reviews pass that dies before posting any marker (follow-up to the edited-comment deadlock fix)

2 participants