diff --git a/src/cleveragents/application/services/decomposition_service.py b/src/cleveragents/application/services/decomposition_service.py index 63860a57e..de1d2bf90 100644 --- a/src/cleveragents/application/services/decomposition_service.py +++ b/src/cleveragents/application/services/decomposition_service.py @@ -417,20 +417,20 @@ class DecompositionService: current_node = node_map.get(current_id) if current_node is not None: queue.extend(current_node.children_ids) + recomputed_nodes = [ + n for n in existing_result.nodes if n.node_id in subtree_ids + ] preserved_nodes = [ n for n in existing_result.nodes if n.node_id not in subtree_ids ] - target_node = node_map[node_id] - _reset_counter() - recomputed_result = self.decompose(list(target_node.file_paths), cfg) metrics: dict[str, int | float] = { - "recomputed_count": len(recomputed_result.nodes), + "recomputed_count": len(recomputed_nodes), "preserved_count": len(preserved_nodes), "subtree_size": len(subtree_ids), } return DecisionCorrectionResult( target_node_id=node_id, - recomputed_nodes=recomputed_result.nodes, + recomputed_nodes=recomputed_nodes, preserved_nodes=preserved_nodes, config=cfg, metrics=metrics,