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.
This pull request refactors the patch selection workflow to introduce a dedicated patch normalization and deduplication step, clarifies regression test output handling, and improves type annotations and documentation. The changes ensure that only unique, normalized patches are considered for regression testing and final selection, and that the regression test node consistently reports the number of tests run. Several method signatures and state keys are updated to support these improvements.
Patch Normalization and Deduplication:
PatchNormalizationNode
to normalize and deduplicate candidate patches, storing results in a newdeduplicated_patches
state key; this replaces the previous use ofedit_patches
for downstream nodes. The workflow is updated to use this node and key, and the deduplication logic is improved to useSequence[str]
for flexibility. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]Patch Selection Logic:
FinalPatchSelectionNode
to accept deduplicated patches and to improve majority voting logic, including early stopping when a majority is reached. The human message formatting now takes the set of candidate patches as a parameter. [1] [2] [3]Regression Test Output and Documentation:
Type Annotations and Imports:
Sequence[str]
), and added necessary imports for new types. [1] [2]Miscellaneous:
context_retrieval_subgraph.py
for more accurate scaling with the number of query refinement loops.