- Added DecisionCorrectionResult model to decomposition_models.py to track
which nodes were recomputed vs preserved during selective subtree recomputation.
- Implemented recompute_subtree(node_id, existing_result, config) in
DecompositionService, which identifies the subtree rooted at the given node
using DecompositionNode.children_ids, recomputes only that subtree while
preserving sibling branches and ancestor nodes, and returns a
DecisionCorrectionResult with recomputed_nodes, preserved_nodes, and metrics.
- Added BDD feature file features/decomposition_decision_correction.feature
containing 9 scenarios covering: selective subtree recomputation for leaf,
middle, and root nodes; sibling branch preservation; ancestor node
preservation; DecisionCorrectionResult model validation; custom config
support; error handling for unknown nodes; metrics tracking.
- Added step definitions in features/steps/decomposition_decision_correction_steps.py
ISSUES CLOSED: #10012