Repository navigation
fix(triage): restart triage directly when a candidate fix is rejected - #64
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
When
FixVerifierrejects a candidate fix, the workflow now goes straight back into the triage pipeline. It no longer runs theRetriageJudgea second time.Why
#60 made rejected fixes chain into
retriage(), but in practice theRetriageJudgecan overrule the verifier. On withastro/astro#18625 the reporter confirmed the fix worked but pointed out a regression it introduced and suggested a change. The verifier correctly returnedrejectedand the bot commented "Re-evaluating whether the feedback warrants a new triage attempt." The judge then returnedretriage: false("supplementary feedback for a reviewer… the fix has been verified"), and the workflow finished withno-retriage. That outcome posts no comment and leaves the label as is, so the issue was stuck ontriage: fix rejectedand it looked as though the bot had stalled.The judge decides wrong here for two reasons:
The verifier has already decided the feedback is actionable, so asking again adds nothing and can silently drop the feedback.
How
triage: needs triageplus thethis.triage(...)call out ofretriage()into a newrestartTriage()helper.retriage()still runs the judge for ordinary comments on retriageable labels, then callsrestartTriage()when the judge says yes.verifyFix()now callsrestartTriage()directly.Testing
tsc --noEmitpasses.vitest run: all 459 tests pass.biome checkpasses.