From fcf0c684bd2cc7d4fd1b70307dde7d52c3e92c42 Mon Sep 17 00:00:00 2001 From: KaifAhmad1 Date: Mon, 16 Feb 2026 18:45:51 +0530 Subject: [PATCH] Fix method overriding bug: Rename conflicting _calculate_content_similarity method - Renamed decision-specific method to _calculate_decision_content_similarity - Preserves node-based _calculate_content_similarity for find_similar_nodes() - Updates method call to use renamed method - Fixes core node-similarity functionality that was broken - Ensures both node similarity and decision similarity work correctly - Prevents find_similar_nodes() from calling wrong method signature - Maintains backward compatibility for all similarity features --- semantica/context/context_graph.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/semantica/context/context_graph.py b/semantica/context/context_graph.py index d932e2e8..260c73ba 100644 --- a/semantica/context/context_graph.py +++ b/semantica/context/context_graph.py @@ -1560,7 +1560,7 @@ class ContextGraph: decision = self._decisions[decision_id] # Content similarity - content_sim = self._calculate_content_similarity(scenario, decision) + content_sim = self._calculate_decision_content_similarity(scenario, decision) # Structural similarity (graph-based) structural_sim = 0.0 @@ -1871,7 +1871,7 @@ class ContextGraph: except Exception as e: self.logger.exception("Failed to add decision to graph") - def _calculate_content_similarity(self, scenario: str, decision: Dict[str, Any]) -> float: + def _calculate_decision_content_similarity(self, scenario: str, decision: Dict[str, Any]) -> float: """Calculate content similarity between scenario and decision.""" try: # Simple word-based similarity @@ -1885,7 +1885,7 @@ class ContextGraph: return len(intersection) / len(union) if union else 0.0 except Exception as e: - self.logger.warning(f"Content similarity calculation failed: {e}") + self.logger.exception("Content similarity calculation failed") return 0.0 def _calculate_structural_similarity_for_decision(self, decision_id: str, scenario: str) -> float: