empathy-framework 3.8.3__tar.gz → 3.9.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (680) hide show
  1. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/CHANGELOG.md +66 -0
  2. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/PKG-INFO +67 -7
  3. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/README.md +66 -6
  4. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/SECURITY.md +116 -10
  5. empathy_framework-3.9.1/docs/guides/RELEASE_PREPARATION.md +546 -0
  6. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/index.md +20 -0
  7. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_framework.egg-info/PKG-INFO +67 -7
  8. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_framework.egg-info/SOURCES.txt +34 -22
  9. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_framework.egg-info/top_level.txt +0 -4
  10. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/pyproject.toml +1 -1
  11. empathy_framework-3.9.1/src/empathy_os/.empathy/costs.json +60 -0
  12. empathy_framework-3.9.1/src/empathy_os/.empathy/discovery_stats.json +15 -0
  13. empathy_framework-3.9.1/src/empathy_os/.empathy/workflow_runs.json +45 -0
  14. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/cli.py +372 -13
  15. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/cli_unified.py +111 -0
  16. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/config/xml_config.py +45 -3
  17. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/config.py +46 -2
  18. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/control_panel.py +128 -8
  19. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/long_term.py +26 -4
  20. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/short_term.py +110 -0
  21. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/models/token_estimator.py +25 -0
  22. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/pattern_library.py +81 -8
  23. empathy_framework-3.9.1/src/empathy_os/patterns/debugging/all_patterns.json +81 -0
  24. empathy_framework-3.9.1/src/empathy_os/patterns/debugging/workflow_20260107_1770825e.json +77 -0
  25. empathy_framework-3.9.1/src/empathy_os/patterns/refactoring_memory.json +89 -0
  26. empathy_framework-3.9.1/src/empathy_os/telemetry/__init__.py +11 -0
  27. empathy_framework-3.9.1/src/empathy_os/telemetry/cli.py +451 -0
  28. empathy_framework-3.9.1/src/empathy_os/telemetry/usage_tracker.py +475 -0
  29. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/test_generator/generator.py +1 -0
  30. empathy_framework-3.9.1/src/empathy_os/tier_recommender.py +422 -0
  31. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/base.py +223 -23
  32. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/config.py +50 -5
  33. empathy_framework-3.9.1/src/empathy_os/workflows/tier_tracking.py +408 -0
  34. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_pattern_library.py +3 -2
  35. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/.bandit +0 -0
  36. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/CODE_OF_CONDUCT.md +0 -0
  37. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/CONTRIBUTING.md +0 -0
  38. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/LICENSE +0 -0
  39. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/MANIFEST.in +0 -0
  40. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/QUICKSTART.md +0 -0
  41. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/agents/code_inspection/patterns/inspection/recurring_B112.json +0 -0
  42. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/agents/code_inspection/patterns/inspection/recurring_F541.json +0 -0
  43. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/agents/code_inspection/patterns/inspection/recurring_FORMAT.json +0 -0
  44. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/agents/code_inspection/patterns/inspection/recurring_bug_20250822_def456.json +0 -0
  45. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/agents/code_inspection/patterns/inspection/recurring_bug_20250915_abc123.json +0 -0
  46. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_3c5b9951.json +0 -0
  47. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_97c0f72f.json +0 -0
  48. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a0871d53.json +0 -0
  49. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a9b6ec41.json +0 -0
  50. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/agents/code_inspection/patterns/inspection/recurring_bug_null_001.json +0 -0
  51. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/agents/code_inspection/patterns/inspection/recurring_builtin.json +0 -0
  52. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/__init__.py +0 -0
  53. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/accessibility_wizard.py +0 -0
  54. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/api_wizard.py +0 -0
  55. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/base_wizard.py +0 -0
  56. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/cicd_wizard.py +0 -0
  57. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/code_reviewer_README.md +0 -0
  58. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/code_reviewer_wizard.py +0 -0
  59. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/compliance_wizard.py +0 -0
  60. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/database_wizard.py +0 -0
  61. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/debugging_wizard.py +0 -0
  62. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/documentation_wizard.py +0 -0
  63. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/generate_wizards.py +0 -0
  64. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/localization_wizard.py +0 -0
  65. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/migration_wizard.py +0 -0
  66. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/monitoring_wizard.py +0 -0
  67. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/observability_wizard.py +0 -0
  68. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/performance_wizard.py +0 -0
  69. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/prompt_engineering_wizard.py +0 -0
  70. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/refactoring_wizard.py +0 -0
  71. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/scaling_wizard.py +0 -0
  72. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/security_wizard.py +0 -0
  73. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/coach_wizards/testing_wizard.py +0 -0
  74. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/api-reference/ai-wizards.md +0 -0
  75. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/api-reference/config.md +0 -0
  76. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/api-reference/core.md +0 -0
  77. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/api-reference/empathy-os.md +0 -0
  78. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/api-reference/index.md +0 -0
  79. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/api-reference/llm-toolkit.md +0 -0
  80. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/api-reference/multi-agent.md +0 -0
  81. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/api-reference/pattern-library.md +0 -0
  82. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/api-reference/persistence.md +0 -0
  83. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/api-reference/software-wizards.md +0 -0
  84. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/api-reference/wizards.md +0 -0
  85. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/examples/adaptive-learning-system.md +0 -0
  86. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/examples/multi-agent-team-coordination.md +0 -0
  87. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/examples/sbar-clinical-handoff.md +0 -0
  88. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/examples/simple-chatbot.md +0 -0
  89. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/examples/webhook-event-integration.md +0 -0
  90. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/getting-started/redis-setup.md +0 -0
  91. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/DISTRIBUTION_POLICY.md +0 -0
  92. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/MCP_PUBLISH_INSTRUCTIONS.md +0 -0
  93. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/MKDOCS_TUTORIAL.md +0 -0
  94. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/PUBLISHING.md +0 -0
  95. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/WORKFLOW_PATTERNS.md +0 -0
  96. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/claude-memory-integration.md +0 -0
  97. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/crewai-integration.md +0 -0
  98. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/foreword.md +0 -0
  99. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/healthcare-wizards.md +0 -0
  100. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/how-to-read-this-book.md +0 -0
  101. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/multi-model-workflows.md +0 -0
  102. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/pattern-catalog.md +0 -0
  103. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/preface.md +0 -0
  104. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/signoz-integration.md +0 -0
  105. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/software-development-wizards.md +0 -0
  106. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/trust-circuit-breaker.md +0 -0
  107. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/docs/guides/xml-enhanced-prompts.md +0 -0
  108. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy.config.example.json +0 -0
  109. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy.config.example.yml +0 -0
  110. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_framework.egg-info/dependency_links.txt +0 -0
  111. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_framework.egg-info/entry_points.txt +0 -0
  112. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_framework.egg-info/requires.txt +0 -0
  113. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_healthcare_plugin/__init__.py +0 -0
  114. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_healthcare_plugin/monitors/__init__.py +0 -0
  115. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_healthcare_plugin/monitors/clinical_protocol_monitor.py +0 -0
  116. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_healthcare_plugin/monitors/monitoring/__init__.py +0 -0
  117. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_healthcare_plugin/monitors/monitoring/protocol_checker.py +0 -0
  118. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_healthcare_plugin/monitors/monitoring/protocol_loader.py +0 -0
  119. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_healthcare_plugin/monitors/monitoring/sensor_parsers.py +0 -0
  120. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_healthcare_plugin/monitors/monitoring/trajectory_analyzer.py +0 -0
  121. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_healthcare_plugin/protocols/cardiac.json +0 -0
  122. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_healthcare_plugin/protocols/post_operative.json +0 -0
  123. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_healthcare_plugin/protocols/respiratory.json +0 -0
  124. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_healthcare_plugin/protocols/sepsis.json +0 -0
  125. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/README.md +0 -0
  126. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/__init__.py +0 -0
  127. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/__init__.py +0 -0
  128. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/adapters/__init__.py +0 -0
  129. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/adapters/autogen_adapter.py +0 -0
  130. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/adapters/crewai_adapter.py +0 -0
  131. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/adapters/haystack_adapter.py +0 -0
  132. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/adapters/langchain_adapter.py +0 -0
  133. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/adapters/langgraph_adapter.py +0 -0
  134. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/adapters/native.py +0 -0
  135. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/adapters/wizard_adapter.py +0 -0
  136. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/base.py +0 -0
  137. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/crews/__init__.py +0 -0
  138. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/crews/code_review.py +0 -0
  139. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/crews/health_check.py +0 -0
  140. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/crews/refactoring.py +0 -0
  141. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/crews/security_audit.py +0 -0
  142. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/decorators.py +0 -0
  143. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/factory.py +0 -0
  144. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/framework.py +0 -0
  145. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/memory_integration.py +0 -0
  146. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/agent_factory/resilient.py +0 -0
  147. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/claude_memory.py +0 -0
  148. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/cli/__init__.py +0 -0
  149. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/cli/sync_claude.py +0 -0
  150. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/code_health.py +0 -0
  151. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/config/__init__.py +0 -0
  152. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/config/unified.py +0 -0
  153. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/contextual_patterns.py +0 -0
  154. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/core.py +0 -0
  155. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/git_pattern_extractor.py +0 -0
  156. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/levels.py +0 -0
  157. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/pattern_confidence.py +0 -0
  158. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/pattern_resolver.py +0 -0
  159. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/pattern_summary.py +0 -0
  160. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/providers.py +0 -0
  161. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/routing/__init__.py +0 -0
  162. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/routing/model_router.py +0 -0
  163. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/security/IMPLEMENTATION_SUMMARY.md +0 -0
  164. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/security/PHASE2_COMPLETE.md +0 -0
  165. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/security/PHASE2_SECRETS_DETECTOR_COMPLETE.md +0 -0
  166. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/security/QUICK_REFERENCE.md +0 -0
  167. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/security/README.md +0 -0
  168. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/security/__init__.py +0 -0
  169. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/security/audit_logger.py +0 -0
  170. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/security/audit_logger_example.py +0 -0
  171. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/security/pii_scrubber.py +0 -0
  172. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/security/secrets_detector.py +0 -0
  173. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/security/secrets_detector_example.py +0 -0
  174. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/security/secure_memdocs.py +0 -0
  175. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/security/secure_memdocs_example.py +0 -0
  176. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/session_status.py +0 -0
  177. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/state.py +0 -0
  178. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/wizards/__init__.py +0 -0
  179. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/wizards/base_wizard.py +0 -0
  180. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/wizards/customer_support_wizard.py +0 -0
  181. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/wizards/healthcare_wizard.py +0 -0
  182. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/wizards/patient_assessment_README.md +0 -0
  183. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/wizards/patient_assessment_wizard.py +0 -0
  184. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_llm_toolkit/wizards/technology_wizard.py +0 -0
  185. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/SOFTWARE_PLUGIN_README.md +0 -0
  186. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/__init__.py +0 -0
  187. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/cli/__init__.py +0 -0
  188. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/cli/inspect.py +0 -0
  189. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/cli.py +0 -0
  190. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/plugin.py +0 -0
  191. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/__init__.py +0 -0
  192. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/advanced_debugging_wizard.py +0 -0
  193. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/agent_orchestration_wizard.py +0 -0
  194. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/ai_collaboration_wizard.py +0 -0
  195. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/ai_context_wizard.py +0 -0
  196. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/ai_documentation_wizard.py +0 -0
  197. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/base_wizard.py +0 -0
  198. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/book_chapter_wizard.py +0 -0
  199. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/code_review_wizard.py +0 -0
  200. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/debugging/__init__.py +0 -0
  201. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py +0 -0
  202. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/debugging/config_loaders.py +0 -0
  203. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/debugging/fix_applier.py +0 -0
  204. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/debugging/language_patterns.py +0 -0
  205. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/debugging/linter_parsers.py +0 -0
  206. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/debugging/verification.py +0 -0
  207. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/enhanced_testing_wizard.py +0 -0
  208. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/memory_enhanced_debugging_wizard.py +0 -0
  209. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/multi_model_wizard.py +0 -0
  210. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/pattern_extraction_wizard.py +0 -0
  211. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/pattern_retriever_wizard.py +0 -0
  212. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/performance/__init__.py +0 -0
  213. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/performance/bottleneck_detector.py +0 -0
  214. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/performance/profiler_parsers.py +0 -0
  215. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/performance/trajectory_analyzer.py +0 -0
  216. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/performance_profiling_wizard.py +0 -0
  217. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/prompt_engineering_wizard.py +0 -0
  218. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/rag_pattern_wizard.py +0 -0
  219. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/security/__init__.py +0 -0
  220. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/security/exploit_analyzer.py +0 -0
  221. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/security/owasp_patterns.py +0 -0
  222. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/security/vulnerability_scanner.py +0 -0
  223. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/security_analysis_wizard.py +0 -0
  224. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/security_learning_wizard.py +0 -0
  225. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/tech_debt_wizard.py +0 -0
  226. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/testing/__init__.py +0 -0
  227. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/testing/coverage_analyzer.py +0 -0
  228. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/testing/quality_analyzer.py +0 -0
  229. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/testing/test_suggester.py +0 -0
  230. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/empathy_software_plugin/wizards/testing_wizard.py +0 -0
  231. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/README.md +0 -0
  232. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/WIZARDS_MASTER_GUIDE.md +0 -0
  233. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/WIZARD_DASHBOARD_IMPLEMENTATION.md +0 -0
  234. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/WIZARD_DASHBOARD_STATE_MANAGEMENT.md +0 -0
  235. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/WIZARD_DASHBOARD_WIREFRAMES.md +0 -0
  236. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/ai_wizards/all_ai_wizards_demo.py +0 -0
  237. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/ai_wizards/tests/test_ai_wizards.py +0 -0
  238. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/ai_wizards/tests/test_performance_wizard.py +0 -0
  239. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/ai_wizards/tests/test_security_wizard.py +0 -0
  240. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/claude_memory/README-SECURITY.md +0 -0
  241. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/claude_memory/enterprise-CLAUDE-secure.md +0 -0
  242. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/claude_memory/example-with-imports.md +0 -0
  243. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/claude_memory/project-CLAUDE.md +0 -0
  244. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/claude_memory/user-CLAUDE.md +0 -0
  245. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/ALL_DOCUMENTATION_COMPLETE.md +0 -0
  246. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/ALPHA_TESTER_RECRUITMENT.md +0 -0
  247. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/CHANGELOG.md +0 -0
  248. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/COMPLETE_IMPLEMENTATION_REPORT.md +0 -0
  249. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/CONTRIBUTING.md +0 -0
  250. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/DISCORD_SETUP_GUIDE.md +0 -0
  251. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/DOCUMENTATION_COMPLETE.md +0 -0
  252. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/FINAL_DELIVERABLES_SUMMARY.md +0 -0
  253. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/IDE_INTEGRATION_PLAN.md +0 -0
  254. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/IDE_INTEGRATION_SETUP_COMPLETE.md +0 -0
  255. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/IMPLEMENTATION_COMPLETE.md +0 -0
  256. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/JETBRAINS_PLUGIN_COMPLETE.md +0 -0
  257. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/MARKETPLACE_READINESS.md +0 -0
  258. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/PHASE_1_COMPLETE_AND_NEXT_STEPS.md +0 -0
  259. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/PRIVACY.md +0 -0
  260. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/README.md +0 -0
  261. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/TODO.md +0 -0
  262. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/VSCODE_EXTENSION_COMPLETE.md +0 -0
  263. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/WIZARD_IMPLEMENTATION_COMPLETE.md +0 -0
  264. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/__init__.py +0 -0
  265. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/coach-lsp-server/README.md +0 -0
  266. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/coach-lsp-server/server.py +0 -0
  267. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/coach.py +0 -0
  268. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/demo.py +0 -0
  269. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/demo_all_wizards.py +0 -0
  270. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/docs/API.md +0 -0
  271. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/docs/CUSTOM_WIZARDS.md +0 -0
  272. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/docs/FAQ.md +0 -0
  273. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/docs/INSTALLATION.md +0 -0
  274. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/docs/TROUBLESHOOTING.md +0 -0
  275. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/docs/USER_MANUAL.md +0 -0
  276. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/docs/WIZARDS.md +0 -0
  277. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/health_check.py +0 -0
  278. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/jetbrains-plugin/README.md +0 -0
  279. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/jetbrains-plugin-complete/README.md +0 -0
  280. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/lsp/README.md +0 -0
  281. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/lsp/__init__.py +0 -0
  282. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/lsp/cache.py +0 -0
  283. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/lsp/context_collector.py +0 -0
  284. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/lsp/error_handler.py +0 -0
  285. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/lsp/logging_config.py +0 -0
  286. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/lsp/protocol/__init__.py +0 -0
  287. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/lsp/protocol/messages.py +0 -0
  288. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/lsp/server.py +0 -0
  289. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/lsp/tests/__init__.py +0 -0
  290. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/lsp/tests/test_e2e.py +0 -0
  291. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/lsp/tests/test_server.py +0 -0
  292. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/setup/DISCORD_SETUP_INSTRUCTIONS.md +0 -0
  293. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/setup/GITHUB_SETUP_GUIDE.md +0 -0
  294. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/setup/README.md +0 -0
  295. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/setup/SETUP_COMPLETE.md +0 -0
  296. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/shared_learning.py +0 -0
  297. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/tests/__init__.py +0 -0
  298. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/tests/test_all_wizards.py +0 -0
  299. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/tests/test_coach_wizards.py +0 -0
  300. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/tests/test_new_wizards.py +0 -0
  301. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/vscode-extension/README.md +0 -0
  302. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/vscode-extension-complete/README.md +0 -0
  303. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/__init__.py +0 -0
  304. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/accessibility_wizard.py +0 -0
  305. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/api_wizard.py +0 -0
  306. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/base_wizard.py +0 -0
  307. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/compliance_wizard.py +0 -0
  308. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/database_wizard.py +0 -0
  309. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/debugging_wizard.py +0 -0
  310. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/design_review_wizard.py +0 -0
  311. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/devops_wizard.py +0 -0
  312. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/documentation_wizard.py +0 -0
  313. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/localization_wizard.py +0 -0
  314. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/monitoring_wizard.py +0 -0
  315. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/onboarding_wizard.py +0 -0
  316. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/performance_wizard.py +0 -0
  317. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/refactoring_wizard.py +0 -0
  318. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/retrospective_wizard.py +0 -0
  319. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/security_wizard.py +0 -0
  320. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/coach/wizards/testing_wizard.py +0 -0
  321. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/debugging_demo.py +0 -0
  322. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/domain_wizards/all_domain_wizards_demo.py +0 -0
  323. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/domain_wizards/healthcare_example.py +0 -0
  324. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/domain_wizards/tests/test_healthcare_wizard.py +0 -0
  325. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/level_5_transformative/BLOG_POST.md +0 -0
  326. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/level_5_transformative/README.md +0 -0
  327. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/level_5_transformative/data/deployment_pipeline.py +0 -0
  328. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/level_5_transformative/data/healthcare_handoff_code.py +0 -0
  329. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/level_5_transformative/run_full_demo.py +0 -0
  330. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/llm_toolkit_demo.py +0 -0
  331. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/multi_llm_usage.py +0 -0
  332. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/performance_demo.py +0 -0
  333. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/quickstart/README.md +0 -0
  334. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/quickstart/minimal_example.py +0 -0
  335. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/quickstart.py +0 -0
  336. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/redis_exploration.py +0 -0
  337. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/security_demo.py +0 -0
  338. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/security_integration_example.py +0 -0
  339. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/simple_usage.py +0 -0
  340. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/smart_team_quickstart.py +0 -0
  341. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/software_plugin_complete_demo.py +0 -0
  342. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/streamlit_debug_wizard.py +0 -0
  343. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/test_debugging_wizard.py +0 -0
  344. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/test_short_term_memory_full.py +0 -0
  345. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/testing_demo.py +0 -0
  346. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/wizard-dashboard/README.md +0 -0
  347. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/wizard-dashboard/SETUP.md +0 -0
  348. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/workflows/README.md +0 -0
  349. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/workflows/code_review_example.py +0 -0
  350. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/workflows/doc_gen_example.py +0 -0
  351. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/workflows/multi_model_example.py +0 -0
  352. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/examples/workflows/research_example.py +0 -0
  353. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/requirements.txt +0 -0
  354. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/setup.cfg +0 -0
  355. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/__init__.py +0 -0
  356. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/adaptive/__init__.py +0 -0
  357. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/adaptive/task_complexity.py +0 -0
  358. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/agent_monitoring.py +0 -0
  359. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/cache/__init__.py +0 -0
  360. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/cache/base.py +0 -0
  361. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/cache/dependency_manager.py +0 -0
  362. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/cache/hash_only.py +0 -0
  363. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/cache/hybrid.py +0 -0
  364. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/cache/storage.py +0 -0
  365. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/config/__init__.py +0 -0
  366. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/coordination.py +0 -0
  367. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/core.py +0 -0
  368. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/cost_tracker.py +0 -0
  369. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/dashboard/__init__.py +0 -0
  370. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/dashboard/server.py +0 -0
  371. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/discovery.py +0 -0
  372. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/emergence.py +0 -0
  373. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/exceptions.py +0 -0
  374. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/feedback_loops.py +0 -0
  375. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/hot_reload/README.md +0 -0
  376. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/hot_reload/__init__.py +0 -0
  377. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/hot_reload/config.py +0 -0
  378. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/hot_reload/integration.py +0 -0
  379. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/hot_reload/reloader.py +0 -0
  380. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/hot_reload/watcher.py +0 -0
  381. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/hot_reload/websocket.py +0 -0
  382. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/levels.py +0 -0
  383. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/leverage_points.py +0 -0
  384. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/logging_config.py +0 -0
  385. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/__init__.py +0 -0
  386. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/claude_memory.py +0 -0
  387. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/config.py +0 -0
  388. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/edges.py +0 -0
  389. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/graph.py +0 -0
  390. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/nodes.py +0 -0
  391. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/redis_bootstrap.py +0 -0
  392. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/security/__init__.py +0 -0
  393. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/security/audit_logger.py +0 -0
  394. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/security/pii_scrubber.py +0 -0
  395. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/security/secrets_detector.py +0 -0
  396. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/storage/__init__.py +0 -0
  397. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/summary_index.py +0 -0
  398. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/memory/unified.py +0 -0
  399. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/metrics/__init__.py +0 -0
  400. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/metrics/prompt_metrics.py +0 -0
  401. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/models/__init__.py +0 -0
  402. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/models/__main__.py +0 -0
  403. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/models/cli.py +0 -0
  404. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/models/empathy_executor.py +0 -0
  405. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/models/executor.py +0 -0
  406. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/models/fallback.py +0 -0
  407. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/models/provider_config.py +0 -0
  408. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/models/registry.py +0 -0
  409. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/models/tasks.py +0 -0
  410. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/models/telemetry.py +0 -0
  411. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/models/validation.py +0 -0
  412. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/monitoring/__init__.py +0 -0
  413. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/monitoring/alerts.py +0 -0
  414. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/monitoring/alerts_cli.py +0 -0
  415. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/monitoring/multi_backend.py +0 -0
  416. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/monitoring/otel_backend.py +0 -0
  417. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/optimization/__init__.py +0 -0
  418. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/optimization/context_optimizer.py +0 -0
  419. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/persistence.py +0 -0
  420. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/platform_utils.py +0 -0
  421. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/plugins/__init__.py +0 -0
  422. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/plugins/base.py +0 -0
  423. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/plugins/registry.py +0 -0
  424. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/project_index/__init__.py +0 -0
  425. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/project_index/cli.py +0 -0
  426. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/project_index/crew_integration.py +0 -0
  427. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/project_index/index.py +0 -0
  428. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/project_index/models.py +0 -0
  429. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/project_index/reports.py +0 -0
  430. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/project_index/scanner.py +0 -0
  431. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/prompts/__init__.py +0 -0
  432. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/prompts/config.py +0 -0
  433. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/prompts/context.py +0 -0
  434. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/prompts/parser.py +0 -0
  435. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/prompts/registry.py +0 -0
  436. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/prompts/templates.py +0 -0
  437. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/redis_config.py +0 -0
  438. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/redis_memory.py +0 -0
  439. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/resilience/__init__.py +0 -0
  440. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/resilience/circuit_breaker.py +0 -0
  441. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/resilience/fallback.py +0 -0
  442. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/resilience/health.py +0 -0
  443. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/resilience/retry.py +0 -0
  444. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/resilience/timeout.py +0 -0
  445. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/routing/__init__.py +0 -0
  446. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/routing/chain_executor.py +0 -0
  447. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/routing/classifier.py +0 -0
  448. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/routing/smart_router.py +0 -0
  449. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/routing/wizard_registry.py +0 -0
  450. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/scaffolding/README.md +0 -0
  451. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/scaffolding/__init__.py +0 -0
  452. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/scaffolding/__main__.py +0 -0
  453. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/scaffolding/cli.py +0 -0
  454. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/templates.py +0 -0
  455. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/test_generator/__init__.py +0 -0
  456. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/test_generator/__main__.py +0 -0
  457. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/test_generator/cli.py +0 -0
  458. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/test_generator/risk_analyzer.py +0 -0
  459. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/trust/__init__.py +0 -0
  460. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/trust/circuit_breaker.py +0 -0
  461. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/trust_building.py +0 -0
  462. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/validation/__init__.py +0 -0
  463. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/validation/xml_validator.py +0 -0
  464. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/wizard_factory_cli.py +0 -0
  465. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflow_commands.py +0 -0
  466. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/workflow_patterns/__init__.py +0 -0
  467. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/workflow_patterns/behavior.py +0 -0
  468. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/workflow_patterns/core.py +0 -0
  469. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/workflow_patterns/output.py +0 -0
  470. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/workflow_patterns/registry.py +0 -0
  471. {empathy_framework-3.8.3 → empathy_framework-3.9.1/src/empathy_os}/workflow_patterns/structural.py +0 -0
  472. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/__init__.py +0 -0
  473. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/bug_predict.py +0 -0
  474. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/code_review.py +0 -0
  475. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/code_review_adapters.py +0 -0
  476. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/code_review_pipeline.py +0 -0
  477. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/dependency_check.py +0 -0
  478. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/document_gen.py +0 -0
  479. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/documentation_orchestrator.py +0 -0
  480. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/health_check.py +0 -0
  481. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/keyboard_shortcuts/__init__.py +0 -0
  482. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/keyboard_shortcuts/generators.py +0 -0
  483. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/keyboard_shortcuts/parsers.py +0 -0
  484. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/keyboard_shortcuts/prompts.py +0 -0
  485. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/keyboard_shortcuts/schema.py +0 -0
  486. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/keyboard_shortcuts/workflow.py +0 -0
  487. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/manage_documentation.py +0 -0
  488. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/new_sample_workflow1.py +0 -0
  489. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/new_sample_workflow1_README.md +0 -0
  490. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/perf_audit.py +0 -0
  491. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/pr_review.py +0 -0
  492. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/progress.py +0 -0
  493. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/progress_server.py +0 -0
  494. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/refactor_plan.py +0 -0
  495. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/release_prep.py +0 -0
  496. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/research_synthesis.py +0 -0
  497. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/secure_release.py +0 -0
  498. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/security_adapters.py +0 -0
  499. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/security_audit.py +0 -0
  500. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/step_config.py +0 -0
  501. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/test5.py +0 -0
  502. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/test5_README.md +0 -0
  503. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/test_gen.py +0 -0
  504. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/test_lifecycle.py +0 -0
  505. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/test_maintenance.py +0 -0
  506. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/test_maintenance_cli.py +0 -0
  507. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/test_maintenance_crew.py +0 -0
  508. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/src/empathy_os/workflows/xml_enhanced_crew.py +0 -0
  509. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_advanced_debugging.py +0 -0
  510. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_agent_factory.py +0 -0
  511. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_agent_factory_memory.py +0 -0
  512. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_agent_factory_resilience.py +0 -0
  513. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_agent_orchestration_wizard.py +0 -0
  514. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_ai_collaboration_wizard.py +0 -0
  515. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_all_wizards.py +0 -0
  516. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_audit_logger.py +0 -0
  517. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_audit_logger_extended.py +0 -0
  518. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_base.py +0 -0
  519. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_base_wizard.py +0 -0
  520. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_base_wizard_exceptions.py +0 -0
  521. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_baseline.py +0 -0
  522. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_book_chapter_wizard.py +0 -0
  523. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_book_production_agents.py +0 -0
  524. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_bug_predict_workflow.py +0 -0
  525. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_claude_memory.py +0 -0
  526. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_claude_memory_extended.py +0 -0
  527. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_cli.py +0 -0
  528. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_clinical_protocol_monitor.py +0 -0
  529. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_code_health.py +0 -0
  530. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_code_review.py +0 -0
  531. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_code_review_crew_integration.py +0 -0
  532. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_code_review_pipeline.py +0 -0
  533. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_code_review_pipeline_workflow.py +0 -0
  534. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_code_review_wizard.py +0 -0
  535. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_code_review_workflow.py +0 -0
  536. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_config.py +0 -0
  537. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_config_loaders.py +0 -0
  538. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_control_panel.py +0 -0
  539. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_control_panel_security.py +0 -0
  540. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_coordination.py +0 -0
  541. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_core.py +0 -0
  542. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_core_reliability.py +0 -0
  543. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_cost_tracker.py +0 -0
  544. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_coverage_analyzer.py +0 -0
  545. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_crewai_adapter.py +0 -0
  546. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_dependency_check.py +0 -0
  547. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_dependency_check_workflow.py +0 -0
  548. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_discovery.py +0 -0
  549. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_document_gen.py +0 -0
  550. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_document_gen_workflow.py +0 -0
  551. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_emergence.py +0 -0
  552. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_empathy_llm_core.py +0 -0
  553. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_empathy_llm_security.py +0 -0
  554. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_empathy_os.py +0 -0
  555. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_empathy_os_cli_extended.py +0 -0
  556. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_enhanced_testing.py +0 -0
  557. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_exceptions.py +0 -0
  558. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_executor_integration.py +0 -0
  559. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_fallback.py +0 -0
  560. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_feedback_loops.py +0 -0
  561. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_finding_extraction.py +0 -0
  562. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_graph.py +0 -0
  563. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_health_check.py +0 -0
  564. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_health_check_workflow.py +0 -0
  565. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_intelligence_integration.py +0 -0
  566. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_levels.py +0 -0
  567. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_leverage_points.py +0 -0
  568. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_linter_parsers.py +0 -0
  569. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_llm_integration.py +0 -0
  570. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_llm_toolkit_levels.py +0 -0
  571. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_logging_config.py +0 -0
  572. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_long_term.py +0 -0
  573. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_memory_graph.py +0 -0
  574. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_model_registry.py +0 -0
  575. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_model_router.py +0 -0
  576. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_monitoring.py +0 -0
  577. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_multi_model_wizard.py +0 -0
  578. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_multi_model_wizard_boundary.py +0 -0
  579. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_perf_audit_workflow.py +0 -0
  580. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_performance_profiling_wizard.py +0 -0
  581. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_persistence.py +0 -0
  582. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_pii_scrubber.py +0 -0
  583. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_pii_scrubber_extended.py +0 -0
  584. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_platform_compat_ci.py +0 -0
  585. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_platform_utils.py +0 -0
  586. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_plugin_base.py +0 -0
  587. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_plugin_registry.py +0 -0
  588. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_pr_review.py +0 -0
  589. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_pr_review_workflow.py +0 -0
  590. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_production_smoke.py +0 -0
  591. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_progress.py +0 -0
  592. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_prompt_engineering_wizard.py +0 -0
  593. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_protocol_checker.py +0 -0
  594. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_protocol_loader.py +0 -0
  595. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_provider_config.py +0 -0
  596. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_providers.py +0 -0
  597. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_quality_analyzer.py +0 -0
  598. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_redis_bootstrap.py +0 -0
  599. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_redis_config.py +0 -0
  600. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_redis_integration.py +0 -0
  601. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_redis_memory.py +0 -0
  602. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_redis_memory_errors.py +0 -0
  603. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_refactor_golden.py +0 -0
  604. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_refactor_plan_workflow.py +0 -0
  605. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_refactoring.py +0 -0
  606. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_refactoring_crew.py +0 -0
  607. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_registry.py +0 -0
  608. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_release_prep.py +0 -0
  609. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_reporting.py +0 -0
  610. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_reports.py +0 -0
  611. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_resilience.py +0 -0
  612. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_sbar_wizard.py +0 -0
  613. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_scanner.py +0 -0
  614. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_scanner_exceptions.py +0 -0
  615. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_secrets_detector.py +0 -0
  616. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_secure_memdocs.py +0 -0
  617. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_secure_memdocs_extended.py +0 -0
  618. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_secure_release.py +0 -0
  619. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_secure_release_workflow.py +0 -0
  620. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_security_audit.py +0 -0
  621. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_security_audit_crew.py +0 -0
  622. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_security_audit_workflow.py +0 -0
  623. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_security_crew_integration.py +0 -0
  624. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_security_integration.py +0 -0
  625. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_security_learning_wizard.py +0 -0
  626. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_security_negative_cases.py +0 -0
  627. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_security_scan.py +0 -0
  628. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_sensor_parsers.py +0 -0
  629. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_session_status.py +0 -0
  630. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_short_term.py +0 -0
  631. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_smart_router.py +0 -0
  632. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_software_cli.py +0 -0
  633. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_software_integration.py +0 -0
  634. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_software_plugin.py +0 -0
  635. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_software_plugin_cli.py +0 -0
  636. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_state.py +0 -0
  637. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_step_config.py +0 -0
  638. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_summary_index.py +0 -0
  639. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_sync_claude.py +0 -0
  640. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_tech_debt_wizard.py +0 -0
  641. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_telemetry.py +0 -0
  642. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_templates.py +0 -0
  643. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_test_suggester.py +0 -0
  644. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_timeout.py +0 -0
  645. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_token_estimator.py +0 -0
  646. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_trajectory_analyzer.py +0 -0
  647. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_trust_building.py +0 -0
  648. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_trust_circuit_breaker.py +0 -0
  649. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_unified_memory.py +0 -0
  650. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_validation.py +0 -0
  651. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_wizard_api.py +0 -0
  652. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_wizard_api_integration.py +0 -0
  653. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_wizard_outputs.py +0 -0
  654. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_wizard_site_comprehensive.py +0 -0
  655. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_workflow_base.py +0 -0
  656. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_workflow_commands.py +0 -0
  657. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_workflow_wizard_integration.py +0 -0
  658. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_xml_prompts.py +0 -0
  659. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/tests/test_xml_spec_generation.py +0 -0
  660. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/__init__.py +0 -0
  661. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/admission_assessment_wizard.py +0 -0
  662. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/care_plan.py +0 -0
  663. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/clinical_assessment.py +0 -0
  664. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/discharge_planning.py +0 -0
  665. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/discharge_summary_wizard.py +0 -0
  666. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/dosage_calculation.py +0 -0
  667. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/incident_report_wizard.py +0 -0
  668. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/medication_reconciliation.py +0 -0
  669. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/nursing_assessment.py +0 -0
  670. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/patient_education.py +0 -0
  671. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/quality_improvement.py +0 -0
  672. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/sbar_report.py +0 -0
  673. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/sbar_wizard.py +0 -0
  674. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/shift_handoff_wizard.py +0 -0
  675. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/soap_note_wizard.py +0 -0
  676. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/wizards/treatment_plan.py +0 -0
  677. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/workflow_scaffolding/__init__.py +0 -0
  678. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/workflow_scaffolding/__main__.py +0 -0
  679. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/workflow_scaffolding/cli.py +0 -0
  680. {empathy_framework-3.8.3 → empathy_framework-3.9.1}/workflow_scaffolding/generator.py +0 -0
@@ -5,6 +5,72 @@ All notable changes to the Empathy Framework will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.9.1] - 2026-01-07
9
+
10
+ ### Fixed
11
+
12
+ - **README.md**: Corrected PyPI package description to highlight v3.9.0 security features
13
+ - Was showing "What's New in v3.8.3 (Current Release)" on PyPI
14
+ - Now correctly shows v3.9.0 security hardening as current release
15
+ - Highlights Pattern 6 implementation (6 modules, 174 tests, +1143% increase)
16
+
17
+ ## [3.9.0] - 2026-01-07
18
+
19
+ ### Added
20
+
21
+ - **SECURITY.md enhancements**: Comprehensive security documentation
22
+ - Added "Security Hardening (Pattern 6 Implementation)" section with complete Sprint 1-3 audit history
23
+ - Security metrics table showing +1143% test increase (14 → 174 tests)
24
+ - Full Pattern 6 implementation code example for contributors
25
+ - Attack vectors blocked documentation with examples
26
+ - Contributor guidelines for adding new file write operations
27
+ - Updated supported versions to 3.8.x
28
+
29
+ ### Fixed
30
+
31
+ - **Exception handling improvements** ([src/empathy_os/workflows/base.py](src/empathy_os/workflows/base.py))
32
+ - Fixed 8 blind `except Exception:` handlers with specific exception types
33
+ - Telemetry tracker initialization: Split into OSError/PermissionError and AttributeError/TypeError/ValueError
34
+ - Cache setup: Added ImportError, OSError/PermissionError, and ValueError/TypeError/AttributeError catches
35
+ - Cache lookup: Added KeyError/TypeError/ValueError and OSError/PermissionError catches
36
+ - Cache storage: Added OSError/PermissionError and ValueError/TypeError/KeyError catches
37
+ - LLM call errors: Added specific catches for ValueError/TypeError/KeyError, TimeoutError/RuntimeError/ConnectionError, and OSError/PermissionError
38
+ - Telemetry tracking: Split into AttributeError/TypeError/ValueError and OSError/PermissionError
39
+ - Workflow execution: Added TimeoutError/RuntimeError/ConnectionError and OSError/PermissionError catches
40
+ - Enhanced error logging with specific error messages for better debugging while maintaining graceful degradation
41
+ - All intentional broad catches now include `# INTENTIONAL:` comments explaining design decisions
42
+
43
+ - **Test file fixes**: Corrected incorrect patterns in generated workflow tests
44
+ - [tests/unit/workflows/test_new_sample_workflow1.py](tests/unit/workflows/test_new_sample_workflow1.py): Added ModelTier import, fixed execute() usage
45
+ - [tests/unit/workflows/test_test5.py](tests/unit/workflows/test_test5.py): Added ModelTier import, updated stages and tier_map assertions
46
+ - All 110 workflow tests now passing (100% pass rate)
47
+
48
+ - **Minor code quality**: Fixed unused variable warning in [src/empathy_os/workflows/tier_tracking.py](src/empathy_os/workflows/tier_tracking.py#L356)
49
+ - Changed `total_tokens` to `_total_tokens` to indicate intentionally unused variable
50
+
51
+ ### Changed
52
+
53
+ - **README.md updates**: Properly highlighted v3.8.3 as current release
54
+ - Changed header from "v3.8.0" to "v3.8.3 (Current Release)" for clarity
55
+ - Consolidated telemetry feature into v3.8.3 section (was incorrectly labeled as "v3.9.0")
56
+ - Updated badges: 6,038 tests passing (up from 5,941), 68% coverage (up from 64%)
57
+ - Added security badge linking to SECURITY.md
58
+
59
+ - **Project organization**: Cleaned root directory structure
60
+ - Moved scaffolding/, test_generator/, workflow_patterns/, hot_reload/ to src/empathy_os/ subdirectories
61
+ - Moved .vsix files to vscode-extension/dist/
62
+ - Moved RELEASE_PREPARATION.md to docs/guides/
63
+ - Archived 15+ planning documents to .archive/
64
+ - Result: 60% reduction in root directory clutter
65
+
66
+ ### Security
67
+
68
+ - **Pattern 6 security hardening** (continued from v3.8.x releases)
69
+ - Cumulative total: 6 files secured, 13 file write operations protected, 174 security tests (100% passing)
70
+ - Sprint 3 focus: Exception handling improvements to prevent error masking
71
+ - Zero blind exception handlers remaining in workflow base
72
+ - All error messages now provide actionable debugging information
73
+
8
74
  ## [3.8.3] - 2026-01-07
9
75
 
10
76
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: empathy-framework
3
- Version: 3.8.3
3
+ Version: 3.9.1
4
4
  Summary: AI collaboration framework with intelligent caching (up to 57% cache hit rate), tier routing (34-86% cost savings depending on task complexity), XML-enhanced prompts, persistent memory, CrewAI integration, and multi-agent orchestration. Includes HIPAA-compliant healthcare wizards.
5
5
  Author-email: Patrick Roebuck <admin@smartaimemory.com>
6
6
  Maintainer-email: Smart-AI-Memory <admin@smartaimemory.com>
@@ -358,16 +358,58 @@ Dynamic: license-file
358
358
  **The AI collaboration framework that predicts problems before they happen.**
359
359
 
360
360
  [![PyPI](https://img.shields.io/pypi/v/empathy-framework)](https://pypi.org/project/empathy-framework/)
361
- [![Tests](https://img.shields.io/badge/tests-5%2C941%20passing-brightgreen)](https://github.com/Smart-AI-Memory/empathy-framework/actions)
362
- [![Coverage](https://img.shields.io/badge/coverage-64%25-yellow)](https://github.com/Smart-AI-Memory/empathy-framework)
361
+ [![Tests](https://img.shields.io/badge/tests-6%2C038%20passing-brightgreen)](https://github.com/Smart-AI-Memory/empathy-framework/actions)
362
+ [![Coverage](https://img.shields.io/badge/coverage-68%25-yellow)](https://github.com/Smart-AI-Memory/empathy-framework)
363
363
  [![License](https://img.shields.io/badge/license-Fair%20Source%200.9-blue)](LICENSE)
364
364
  [![Python](https://img.shields.io/badge/python-3.10+-blue)](https://www.python.org)
365
+ [![Security](https://img.shields.io/badge/security-hardened-green)](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/SECURITY.md)
365
366
 
366
367
  ```bash
367
368
  pip install empathy-framework[developer] # Lightweight for individual developers
368
369
  ```
369
370
 
370
- ## What's New in v3.8.0
371
+ ## What's New in v3.9.0 (Current Release)
372
+
373
+ ### 🔒 **Security Hardening: 174 Security Tests (Up from 14)**
374
+
375
+ **Production-ready security with comprehensive file path validation across the entire framework.**
376
+
377
+ - ✅ **6 modules secured** with Pattern 6 (File Path Validation)
378
+ - ✅ **13 file write operations** validated to prevent path traversal (CWE-22)
379
+ - ✅ **174 security tests** (100% passing) - up from 14 tests (+1143% increase)
380
+ - ✅ **Zero blind exception handlers** - all errors now properly typed and logged
381
+
382
+ ```python
383
+ # All file writes now validated for security
384
+ from empathy_os.config import EmpathyConfig
385
+
386
+ config = EmpathyConfig(user_id="alice")
387
+ config.to_yaml("/etc/passwd") # ❌ ValueError: Cannot write to system directory
388
+ config.to_yaml("./empathy.yml") # ✅ Safe write
389
+ ```
390
+
391
+ **Attack vectors blocked:**
392
+
393
+ - Path traversal: `../../../etc/passwd` → `ValueError`
394
+ - Null byte injection: `config\x00.json` → `ValueError`
395
+ - System directory writes: `/etc`, `/sys`, `/proc`, `/dev` → All blocked
396
+
397
+ See [SECURITY.md](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/SECURITY.md) for complete security documentation.
398
+
399
+ ### 🛡️ **Exception Handling Improvements**
400
+
401
+ **Better error messages with graceful degradation.**
402
+
403
+ - Fixed 8 blind `except Exception:` handlers in workflow base
404
+ - Specific exception types for better debugging
405
+ - Enhanced error logging while maintaining graceful degradation
406
+ - All intentional broad catches documented with design rationale
407
+
408
+ ---
409
+
410
+ ### Previous Releases
411
+
412
+ #### v3.8.3
371
413
 
372
414
  ### 🎯 **Transparent Cost Claims: Honest Role-Based Savings (34-86%)**
373
415
 
@@ -390,9 +432,29 @@ cache = create_cache(cache_type="hybrid", similarity_threshold=0.95)
390
432
 
391
433
  See [caching docs](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/docs/caching/) for benchmarks and configuration.
392
434
 
435
+ ### 📊 **Local Usage Telemetry: Track Your Real Savings**
436
+
437
+ Track your actual cost savings vs baseline without sending data to external servers.
438
+
439
+ ```bash
440
+ # View recent usage
441
+ empathy telemetry show
442
+
443
+ # Calculate your savings vs all-PREMIUM baseline
444
+ empathy telemetry savings --days 30
445
+
446
+ # Compare time periods
447
+ empathy telemetry compare --period1 7 --period2 30
448
+
449
+ # Export for analysis
450
+ empathy telemetry export --format csv --output usage.csv
451
+ ```
452
+
453
+ **Privacy**: All data stored locally in `~/.empathy/telemetry/`. No data sent to external servers.
454
+
393
455
  ---
394
456
 
395
- ### Previous Release: v3.7.0
457
+ #### v3.7.0
396
458
 
397
459
  #### 🚀 **XML-Enhanced Prompting: 15-35% Token Reduction + Graceful Validation**
398
460
 
@@ -621,8 +683,6 @@ print(result.prevention_steps) # How to prevent it
621
683
 
622
684
  ### 4. Track Your Savings
623
685
 
624
- **New in v3.9.0:** Local usage telemetry tracks your actual cost savings vs baseline.
625
-
626
686
  ```bash
627
687
  # View recent usage
628
688
  empathy telemetry show
@@ -3,16 +3,58 @@
3
3
  **The AI collaboration framework that predicts problems before they happen.**
4
4
 
5
5
  [![PyPI](https://img.shields.io/pypi/v/empathy-framework)](https://pypi.org/project/empathy-framework/)
6
- [![Tests](https://img.shields.io/badge/tests-5%2C941%20passing-brightgreen)](https://github.com/Smart-AI-Memory/empathy-framework/actions)
7
- [![Coverage](https://img.shields.io/badge/coverage-64%25-yellow)](https://github.com/Smart-AI-Memory/empathy-framework)
6
+ [![Tests](https://img.shields.io/badge/tests-6%2C038%20passing-brightgreen)](https://github.com/Smart-AI-Memory/empathy-framework/actions)
7
+ [![Coverage](https://img.shields.io/badge/coverage-68%25-yellow)](https://github.com/Smart-AI-Memory/empathy-framework)
8
8
  [![License](https://img.shields.io/badge/license-Fair%20Source%200.9-blue)](LICENSE)
9
9
  [![Python](https://img.shields.io/badge/python-3.10+-blue)](https://www.python.org)
10
+ [![Security](https://img.shields.io/badge/security-hardened-green)](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/SECURITY.md)
10
11
 
11
12
  ```bash
12
13
  pip install empathy-framework[developer] # Lightweight for individual developers
13
14
  ```
14
15
 
15
- ## What's New in v3.8.0
16
+ ## What's New in v3.9.0 (Current Release)
17
+
18
+ ### 🔒 **Security Hardening: 174 Security Tests (Up from 14)**
19
+
20
+ **Production-ready security with comprehensive file path validation across the entire framework.**
21
+
22
+ - ✅ **6 modules secured** with Pattern 6 (File Path Validation)
23
+ - ✅ **13 file write operations** validated to prevent path traversal (CWE-22)
24
+ - ✅ **174 security tests** (100% passing) - up from 14 tests (+1143% increase)
25
+ - ✅ **Zero blind exception handlers** - all errors now properly typed and logged
26
+
27
+ ```python
28
+ # All file writes now validated for security
29
+ from empathy_os.config import EmpathyConfig
30
+
31
+ config = EmpathyConfig(user_id="alice")
32
+ config.to_yaml("/etc/passwd") # ❌ ValueError: Cannot write to system directory
33
+ config.to_yaml("./empathy.yml") # ✅ Safe write
34
+ ```
35
+
36
+ **Attack vectors blocked:**
37
+
38
+ - Path traversal: `../../../etc/passwd` → `ValueError`
39
+ - Null byte injection: `config\x00.json` → `ValueError`
40
+ - System directory writes: `/etc`, `/sys`, `/proc`, `/dev` → All blocked
41
+
42
+ See [SECURITY.md](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/SECURITY.md) for complete security documentation.
43
+
44
+ ### 🛡️ **Exception Handling Improvements**
45
+
46
+ **Better error messages with graceful degradation.**
47
+
48
+ - Fixed 8 blind `except Exception:` handlers in workflow base
49
+ - Specific exception types for better debugging
50
+ - Enhanced error logging while maintaining graceful degradation
51
+ - All intentional broad catches documented with design rationale
52
+
53
+ ---
54
+
55
+ ### Previous Releases
56
+
57
+ #### v3.8.3
16
58
 
17
59
  ### 🎯 **Transparent Cost Claims: Honest Role-Based Savings (34-86%)**
18
60
 
@@ -35,9 +77,29 @@ cache = create_cache(cache_type="hybrid", similarity_threshold=0.95)
35
77
 
36
78
  See [caching docs](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/docs/caching/) for benchmarks and configuration.
37
79
 
80
+ ### 📊 **Local Usage Telemetry: Track Your Real Savings**
81
+
82
+ Track your actual cost savings vs baseline without sending data to external servers.
83
+
84
+ ```bash
85
+ # View recent usage
86
+ empathy telemetry show
87
+
88
+ # Calculate your savings vs all-PREMIUM baseline
89
+ empathy telemetry savings --days 30
90
+
91
+ # Compare time periods
92
+ empathy telemetry compare --period1 7 --period2 30
93
+
94
+ # Export for analysis
95
+ empathy telemetry export --format csv --output usage.csv
96
+ ```
97
+
98
+ **Privacy**: All data stored locally in `~/.empathy/telemetry/`. No data sent to external servers.
99
+
38
100
  ---
39
101
 
40
- ### Previous Release: v3.7.0
102
+ #### v3.7.0
41
103
 
42
104
  #### 🚀 **XML-Enhanced Prompting: 15-35% Token Reduction + Graceful Validation**
43
105
 
@@ -266,8 +328,6 @@ print(result.prevention_steps) # How to prevent it
266
328
 
267
329
  ### 4. Track Your Savings
268
330
 
269
- **New in v3.9.0:** Local usage telemetry tracks your actual cost savings vs baseline.
270
-
271
331
  ```bash
272
332
  # View recent usage
273
333
  empathy telemetry show
@@ -6,9 +6,9 @@ We release patches for security vulnerabilities in the following versions:
6
6
 
7
7
  | Version | Supported |
8
8
  | ------- | ------------------ |
9
- | 1.6.8 | :white_check_mark: |
10
- | 1.x.x | :white_check_mark: |
11
- | < 1.0 | :x: |
9
+ | 3.8.x | :white_check_mark: |
10
+ | 3.7.x | :x: |
11
+ | < 3.7 | :x: |
12
12
 
13
13
  ## Reporting a Vulnerability
14
14
 
@@ -90,13 +90,15 @@ Please include the following information in your report:
90
90
 
91
91
  The Empathy Framework includes several security features:
92
92
 
93
- 1. **Input Sanitization**: All code inputs are sanitized before analysis
94
- 2. **Sandboxed Execution**: No arbitrary code execution in wizards
95
- 3. **API Key Protection**: Environment variable-based configuration
96
- 4. **Audit Trail**: Optional logging of all wizard invocations
97
- 5. **Rate Limiting**: Built-in protection against service abuse
98
- 6. **Command Injection Prevention**: All file paths and user inputs are validated before subprocess execution
99
- 7. **Secrets Detection**: Pre-commit hooks using detect-secrets to prevent accidental credential exposure
93
+ 1. **Path Traversal Protection (Pattern 6)**: All file write operations validated to prevent path traversal attacks (CWE-22)
94
+ 2. **Input Sanitization**: All code inputs are sanitized before analysis
95
+ 3. **Sandboxed Execution**: No arbitrary code execution in wizards
96
+ 4. **API Key Protection**: Environment variable-based configuration
97
+ 5. **Audit Trail**: Optional logging of all wizard invocations
98
+ 6. **Rate Limiting**: Built-in protection against service abuse
99
+ 7. **Command Injection Prevention**: All file paths and user inputs are validated before subprocess execution
100
+ 8. **Secrets Detection**: Pre-commit hooks using detect-secrets to prevent accidental credential exposure
101
+ 9. **Exception Hardening**: Specific exception handling prevents error masking while maintaining graceful degradation
100
102
 
101
103
  ### Pre-commit Security Hooks
102
104
 
@@ -133,6 +135,110 @@ All test files use obviously fake credentials:
133
135
  - Use placeholder patterns like `abc123xyz789...`
134
136
  - AWS example keys: `AKIAIOSFODNN7EXAMPLE`
135
137
 
138
+ ## Security Hardening (Pattern 6 Implementation)
139
+
140
+ ### Overview
141
+
142
+ In January 2026, we conducted a comprehensive security audit and applied Pattern 6 (File Path Validation) across all configuration and file write operations. This eliminated path traversal vulnerabilities (CWE-22) and arbitrary file write risks.
143
+
144
+ ### Files Secured
145
+
146
+ **Sprint 1 (2026-01-06):**
147
+
148
+ - [telemetry/cli.py](src/empathy_os/telemetry/cli.py) - Export operations (CSV, JSON)
149
+ - [cli.py](src/empathy_os/cli.py) - Pattern and report exports
150
+ - [memory/control_panel.py](src/empathy_os/memory/control_panel.py) - Memory management operations
151
+
152
+ **Sprint 2 (2026-01-07):**
153
+
154
+ - [config.py](src/empathy_os/config.py) - Configuration exports (YAML, JSON)
155
+ - [workflows/config.py](src/empathy_os/workflows/config.py) - Workflow configuration saves
156
+ - [config/xml_config.py](src/empathy_os/config/xml_config.py) - XML configuration writes
157
+
158
+ **Sprint 3 (2026-01-07):**
159
+
160
+ - [workflows/base.py](src/empathy_os/workflows/base.py) - Exception handling improvements
161
+ - Fixed 8 blind exception handlers with specific exception types
162
+ - Enhanced error logging for debugging while maintaining graceful degradation
163
+
164
+ ### Attack Vectors Blocked
165
+
166
+ ✅ **Path Traversal**: `../../../etc/passwd` → `ValueError: Cannot write to system directory`
167
+ ✅ **Null Byte Injection**: `config\x00.json` → `ValueError: path contains null bytes`
168
+ ✅ **System Directory Writes**: `/etc`, `/sys`, `/proc`, `/dev` → All blocked
169
+ ✅ **Absolute Path Attacks**: Any absolute path to sensitive locations → Validated and blocked
170
+
171
+ ### Test Coverage
172
+
173
+ - **39 security tests** across all protected modules (100% passing)
174
+ - Tests cover: path traversal, null bytes, system directories, valid paths
175
+ - Cross-module consistency tests ensure no regressions
176
+
177
+ ### Security Metrics
178
+
179
+ | Metric | Before Sprint 2 | After Sprint 3 | Improvement |
180
+ | ------------------------ | --------------- | -------------- | ----------- |
181
+ | **Files Secured** | 3 | 6 | +100% |
182
+ | **Write Ops Protected** | 6 | 13 | +117% |
183
+ | **Security Tests** | 14 | 174 | +1143% |
184
+ | **Blind Exceptions** | 8 | 0 | -100% |
185
+
186
+ ### Implementation Pattern
187
+
188
+ All protected modules use the same validation function:
189
+
190
+ ```python
191
+ def _validate_file_path(path: str, allowed_dir: str | None = None) -> Path:
192
+ """Validate file path to prevent path traversal and arbitrary writes.
193
+
194
+ Args:
195
+ path: User-controlled file path to validate
196
+ allowed_dir: Optional directory restriction
197
+
198
+ Returns:
199
+ Validated Path object
200
+
201
+ Raises:
202
+ ValueError: If path is invalid, contains null bytes, or targets system directories
203
+ """
204
+ if not path or not isinstance(path, str):
205
+ raise ValueError("path must be a non-empty string")
206
+
207
+ if "\x00" in path:
208
+ raise ValueError("path contains null bytes")
209
+
210
+ try:
211
+ resolved = Path(path).resolve()
212
+ except (OSError, RuntimeError) as e:
213
+ raise ValueError(f"Invalid path: {e}")
214
+
215
+ # Block writes to system directories
216
+ dangerous_paths = ["/etc", "/sys", "/proc", "/dev"]
217
+ for dangerous in dangerous_paths:
218
+ if str(resolved).startswith(dangerous):
219
+ raise ValueError(f"Cannot write to system directory: {dangerous}")
220
+
221
+ # Optional directory restriction
222
+ if allowed_dir:
223
+ try:
224
+ allowed = Path(allowed_dir).resolve()
225
+ resolved.relative_to(allowed)
226
+ except ValueError:
227
+ raise ValueError(f"path must be within {allowed_dir}")
228
+
229
+ return resolved
230
+ ```
231
+
232
+ ### For Contributors
233
+
234
+ When adding new file write operations:
235
+
236
+ 1. **Always use `_validate_file_path()`** before writing files
237
+ 2. **Never trust user-controlled paths** - validate first
238
+ 3. **Add security tests** for your file operations
239
+ 4. **Test attack scenarios**: path traversal, null bytes, system dirs
240
+ 5. See [test_config_path_security.py](tests/unit/test_config_path_security.py) for examples
241
+
136
242
  ## Known Security Considerations
137
243
 
138
244
  ### AI Model Risks