Bug Fixes:
1. PolicyException naming conflicts:
- Replace Exception with PolicyException in DecisionRecorder.record_exception()
- Update _store_exception_node type annotation to PolicyException
- Fix test imports in test_decision_recorder.py
- Resolves runtime TypeError from conflicting Exception class name
2. Auto-ID masking missing IDs:
- Add auto_generate_id parameter to all model __post_init__ methods
- Update dict-to-model helpers to require IDs (data['decision_id'] vs data.get())
- Set auto_generate_id=False for deserialization to prevent silent UUID generation
- Makes missing IDs visible as KeyError instead of masked with auto-generated UUIDs
Files Changed:
- semantica/context/decision_recorder.py: PolicyException usage fixes
- semantica/context/decision_models.py: Auto-ID control parameter
- semantica/context/decision_query.py: Strict ID requirements
- semantica/context/policy_engine.py: Strict ID requirements
- semantica/context/causal_analyzer.py: Strict ID requirements
- tests/context/test_decision_recorder.py: Import fixes
Impact:
- Resolves PolicyException runtime failures
- Prevents silent data corruption from missing IDs
- Maintains backward compatibility for new object creation
- Improves data integrity for deserialization operations
- Add decision tracking system with DecisionRecorder, DecisionQuery, CausalChainAnalyzer, PolicyEngine
- Implement KG algorithm integration with centrality, community detection, embeddings, path finding
- Add vector store integration with hybrid search and custom similarity weights
- Enhance context graphs with advanced analytics and decision support
- Update documentation with comprehensive context module reference
- Add production examples for banking and healthcare use cases
- Update README to highlight context graph framework capabilities
- Add comprehensive test suite for all new features