Implement Feature Workflow #141
Merged
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 adds support for handling feature request issues in the issue workflow, alongside bug and question issues. It introduces new nodes and modifies existing ones to generalize context and analyzer handling beyond bugs, enabling feature requests to be processed with specialized analysis, context gathering, patch selection, and response generation. The changes also refactor message formatting to use more generic terms and keys, and add several new nodes for the feature request workflow.
Feature request workflow support:
IssueFeatureSubgraphNode
to the workflow inissue_graph.py
, enabling feature requests to be routed and processed as part of the issue workflow. The workflow now handlesIssueType.FEATURE
by invoking the new feature subgraph node instead of ending immediately. (prometheus/lang_graph/graphs/issue_graph.py
) [1] [2] [3] [4]Generalization of context and analyzer handling:
EditMessageNode
andFinalPatchSelectionNode
to use genericcontext
andanalyzer_message
keys instead of bug-specific ones, and updated their message formatting accordingly. This allows these nodes to handle both bug and feature issues. (prometheus/lang_graph/nodes/edit_message_node.py
,prometheus/lang_graph/nodes/final_patch_selection_node.py
) [1] [2] [3] [4] [5] [6] [7] [8] [9]New nodes for feature request handling:
IssueFeatureContextMessageNode
,IssueFeatureAnalyzerMessageNode
,IssueFeatureAnalyzerNode
, andIssueFeatureResponderNode
to support context gathering, analysis, and response generation for feature requests. These nodes provide prompts and logic specifically tailored for feature implementation analysis and reporting. (prometheus/lang_graph/nodes/issue_feature_context_message_node.py
,prometheus/lang_graph/nodes/issue_feature_analyzer_message_node.py
,prometheus/lang_graph/nodes/issue_feature_analyzer_node.py
,prometheus/lang_graph/nodes/issue_feature_responder_node.py
) [1] [2] [3] [4]Workflow edge and node updates:
issue_graph.py
to ensure feature requests are properly processed and completed within the workflow, mirroring the handling for bugs and questions. (prometheus/lang_graph/graphs/issue_graph.py
)Prompt and message improvements:
prometheus/lang_graph/nodes/issue_feature_analyzer_message_node.py
,prometheus/lang_graph/nodes/issue_feature_analyzer_node.py
,prometheus/lang_graph/nodes/issue_feature_responder_node.py
) [1] [2] [3]