empathy-framework 3.5.5__tar.gz → 3.5.6__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 (417) hide show
  1. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/PKG-INFO +1 -1
  2. empathy_framework-3.5.6/docs/guides/WORKFLOW_PATTERNS.md +235 -0
  3. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_framework.egg-info/PKG-INFO +1 -1
  4. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_framework.egg-info/SOURCES.txt +1 -0
  5. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/pyproject.toml +1 -1
  6. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/cli.py +41 -2
  7. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/workflow_commands.py +2 -2
  8. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_agent_orchestration_wizard.py +1 -3
  9. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_config_loaders.py +1 -2
  10. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_document_gen.py +1 -5
  11. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_graph.py +1 -6
  12. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_performance_profiling_wizard.py +2 -6
  13. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_pr_review.py +1 -5
  14. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_refactor_golden.py +4 -8
  15. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_registry.py +1 -6
  16. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_sbar_wizard.py +1 -4
  17. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_secure_release.py +1 -4
  18. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_learning_wizard.py +2 -2
  19. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_templates.py +1 -6
  20. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_timeout.py +1 -5
  21. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_wizard_api.py +2 -1
  22. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/.bandit +0 -0
  23. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/CHANGELOG.md +0 -0
  24. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/CODE_OF_CONDUCT.md +0 -0
  25. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/CONTRIBUTING.md +0 -0
  26. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/LICENSE +0 -0
  27. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/MANIFEST.in +0 -0
  28. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/QUICKSTART.md +0 -0
  29. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/README.md +0 -0
  30. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/SECURITY.md +0 -0
  31. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_B112.json +0 -0
  32. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_F541.json +0 -0
  33. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_FORMAT.json +0 -0
  34. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_20250822_def456.json +0 -0
  35. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_20250915_abc123.json +0 -0
  36. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_3c5b9951.json +0 -0
  37. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_97c0f72f.json +0 -0
  38. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a0871d53.json +0 -0
  39. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a9b6ec41.json +0 -0
  40. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_null_001.json +0 -0
  41. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_builtin.json +0 -0
  42. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/compliance_anticipation_agent.py +0 -0
  43. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/epic_integration_wizard.py +0 -0
  44. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/trust_building_behaviors.py +0 -0
  45. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/__init__.py +0 -0
  46. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/accessibility_wizard.py +0 -0
  47. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/api_wizard.py +0 -0
  48. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/base_wizard.py +0 -0
  49. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/cicd_wizard.py +0 -0
  50. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/compliance_wizard.py +0 -0
  51. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/database_wizard.py +0 -0
  52. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/debugging_wizard.py +0 -0
  53. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/documentation_wizard.py +0 -0
  54. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/generate_wizards.py +0 -0
  55. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/localization_wizard.py +0 -0
  56. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/migration_wizard.py +0 -0
  57. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/monitoring_wizard.py +0 -0
  58. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/observability_wizard.py +0 -0
  59. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/performance_wizard.py +0 -0
  60. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/prompt_engineering_wizard.py +0 -0
  61. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/refactoring_wizard.py +0 -0
  62. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/scaling_wizard.py +0 -0
  63. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/security_wizard.py +0 -0
  64. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/testing_wizard.py +0 -0
  65. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/ai-wizards.md +0 -0
  66. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/config.md +0 -0
  67. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/core.md +0 -0
  68. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/empathy-os.md +0 -0
  69. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/index.md +0 -0
  70. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/llm-toolkit.md +0 -0
  71. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/multi-agent.md +0 -0
  72. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/pattern-library.md +0 -0
  73. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/persistence.md +0 -0
  74. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/software-wizards.md +0 -0
  75. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/wizards.md +0 -0
  76. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/examples/adaptive-learning-system.md +0 -0
  77. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/examples/multi-agent-team-coordination.md +0 -0
  78. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/examples/sbar-clinical-handoff.md +0 -0
  79. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/examples/simple-chatbot.md +0 -0
  80. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/examples/webhook-event-integration.md +0 -0
  81. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/getting-started/redis-setup.md +0 -0
  82. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/DISTRIBUTION_POLICY.md +0 -0
  83. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/MCP_PUBLISH_INSTRUCTIONS.md +0 -0
  84. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/MKDOCS_TUTORIAL.md +0 -0
  85. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/PUBLISHING.md +0 -0
  86. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/claude-memory-integration.md +0 -0
  87. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/foreword.md +0 -0
  88. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/healthcare-wizards.md +0 -0
  89. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/how-to-read-this-book.md +0 -0
  90. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/multi-model-workflows.md +0 -0
  91. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/pattern-catalog.md +0 -0
  92. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/preface.md +0 -0
  93. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/software-development-wizards.md +0 -0
  94. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/trust-circuit-breaker.md +0 -0
  95. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/index.md +0 -0
  96. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy.config.example.json +0 -0
  97. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy.config.example.yml +0 -0
  98. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_framework.egg-info/dependency_links.txt +0 -0
  99. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_framework.egg-info/entry_points.txt +0 -0
  100. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_framework.egg-info/requires.txt +0 -0
  101. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_framework.egg-info/top_level.txt +0 -0
  102. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_healthcare_plugin/__init__.py +0 -0
  103. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_healthcare_plugin/protocols/cardiac.json +0 -0
  104. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_healthcare_plugin/protocols/post_operative.json +0 -0
  105. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_healthcare_plugin/protocols/respiratory.json +0 -0
  106. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_healthcare_plugin/protocols/sepsis.json +0 -0
  107. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/README.md +0 -0
  108. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/__init__.py +0 -0
  109. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/claude_memory.py +0 -0
  110. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/code_health.py +0 -0
  111. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/contextual_patterns.py +0 -0
  112. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/core.py +0 -0
  113. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/git_pattern_extractor.py +0 -0
  114. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/levels.py +0 -0
  115. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/pattern_confidence.py +0 -0
  116. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/pattern_resolver.py +0 -0
  117. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/pattern_summary.py +0 -0
  118. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/providers.py +0 -0
  119. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/session_status.py +0 -0
  120. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/state.py +0 -0
  121. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_software_plugin/SOFTWARE_PLUGIN_README.md +0 -0
  122. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_software_plugin/__init__.py +0 -0
  123. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_software_plugin/cli.py +0 -0
  124. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_software_plugin/plugin.py +0 -0
  125. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/README.md +0 -0
  126. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/WIZARDS_MASTER_GUIDE.md +0 -0
  127. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/WIZARD_DASHBOARD_IMPLEMENTATION.md +0 -0
  128. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/WIZARD_DASHBOARD_STATE_MANAGEMENT.md +0 -0
  129. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/WIZARD_DASHBOARD_WIREFRAMES.md +0 -0
  130. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/ai_wizards/all_ai_wizards_demo.py +0 -0
  131. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/ai_wizards/tests/test_ai_wizards.py +0 -0
  132. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/ai_wizards/tests/test_performance_wizard.py +0 -0
  133. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/ai_wizards/tests/test_security_wizard.py +0 -0
  134. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/claude_memory/README-SECURITY.md +0 -0
  135. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/claude_memory/enterprise-CLAUDE-secure.md +0 -0
  136. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/claude_memory/example-with-imports.md +0 -0
  137. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/claude_memory/project-CLAUDE.md +0 -0
  138. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/claude_memory/user-CLAUDE.md +0 -0
  139. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/ALL_DOCUMENTATION_COMPLETE.md +0 -0
  140. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/ALPHA_TESTER_RECRUITMENT.md +0 -0
  141. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/CHANGELOG.md +0 -0
  142. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/COMPLETE_IMPLEMENTATION_REPORT.md +0 -0
  143. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/CONTRIBUTING.md +0 -0
  144. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/DISCORD_SETUP_GUIDE.md +0 -0
  145. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/DOCUMENTATION_COMPLETE.md +0 -0
  146. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/FINAL_DELIVERABLES_SUMMARY.md +0 -0
  147. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/IDE_INTEGRATION_PLAN.md +0 -0
  148. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/IDE_INTEGRATION_SETUP_COMPLETE.md +0 -0
  149. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/IMPLEMENTATION_COMPLETE.md +0 -0
  150. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/JETBRAINS_PLUGIN_COMPLETE.md +0 -0
  151. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/MARKETPLACE_READINESS.md +0 -0
  152. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/PHASE_1_COMPLETE_AND_NEXT_STEPS.md +0 -0
  153. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/PRIVACY.md +0 -0
  154. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/README.md +0 -0
  155. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/TODO.md +0 -0
  156. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/VSCODE_EXTENSION_COMPLETE.md +0 -0
  157. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/WIZARD_IMPLEMENTATION_COMPLETE.md +0 -0
  158. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/__init__.py +0 -0
  159. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/coach-lsp-server/README.md +0 -0
  160. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/coach-lsp-server/server.py +0 -0
  161. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/coach.py +0 -0
  162. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/demo.py +0 -0
  163. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/demo_all_wizards.py +0 -0
  164. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/API.md +0 -0
  165. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/CUSTOM_WIZARDS.md +0 -0
  166. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/FAQ.md +0 -0
  167. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/INSTALLATION.md +0 -0
  168. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/TROUBLESHOOTING.md +0 -0
  169. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/USER_MANUAL.md +0 -0
  170. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/WIZARDS.md +0 -0
  171. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/health_check.py +0 -0
  172. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/jetbrains-plugin/README.md +0 -0
  173. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/jetbrains-plugin-complete/README.md +0 -0
  174. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/README.md +0 -0
  175. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/__init__.py +0 -0
  176. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/cache.py +0 -0
  177. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/context_collector.py +0 -0
  178. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/error_handler.py +0 -0
  179. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/logging_config.py +0 -0
  180. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/protocol/__init__.py +0 -0
  181. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/protocol/messages.py +0 -0
  182. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/server.py +0 -0
  183. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/tests/__init__.py +0 -0
  184. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/tests/test_e2e.py +0 -0
  185. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/tests/test_server.py +0 -0
  186. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/setup/DISCORD_SETUP_INSTRUCTIONS.md +0 -0
  187. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/setup/GITHUB_SETUP_GUIDE.md +0 -0
  188. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/setup/README.md +0 -0
  189. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/setup/SETUP_COMPLETE.md +0 -0
  190. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/shared_learning.py +0 -0
  191. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/tests/__init__.py +0 -0
  192. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/tests/test_all_wizards.py +0 -0
  193. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/tests/test_coach_wizards.py +0 -0
  194. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/tests/test_new_wizards.py +0 -0
  195. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/vscode-extension/README.md +0 -0
  196. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/vscode-extension-complete/README.md +0 -0
  197. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/__init__.py +0 -0
  198. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/accessibility_wizard.py +0 -0
  199. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/api_wizard.py +0 -0
  200. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/base_wizard.py +0 -0
  201. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/compliance_wizard.py +0 -0
  202. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/database_wizard.py +0 -0
  203. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/debugging_wizard.py +0 -0
  204. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/design_review_wizard.py +0 -0
  205. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/devops_wizard.py +0 -0
  206. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/documentation_wizard.py +0 -0
  207. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/localization_wizard.py +0 -0
  208. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/monitoring_wizard.py +0 -0
  209. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/onboarding_wizard.py +0 -0
  210. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/performance_wizard.py +0 -0
  211. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/refactoring_wizard.py +0 -0
  212. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/retrospective_wizard.py +0 -0
  213. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/security_wizard.py +0 -0
  214. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/testing_wizard.py +0 -0
  215. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/debugging_demo.py +0 -0
  216. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/domain_wizards/all_domain_wizards_demo.py +0 -0
  217. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/domain_wizards/healthcare_example.py +0 -0
  218. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/domain_wizards/tests/test_healthcare_wizard.py +0 -0
  219. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/level_5_transformative/BLOG_POST.md +0 -0
  220. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/level_5_transformative/README.md +0 -0
  221. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/level_5_transformative/data/deployment_pipeline.py +0 -0
  222. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/level_5_transformative/data/healthcare_handoff_code.py +0 -0
  223. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/level_5_transformative/run_full_demo.py +0 -0
  224. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/llm_toolkit_demo.py +0 -0
  225. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/multi_llm_usage.py +0 -0
  226. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/performance_demo.py +0 -0
  227. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/quickstart/README.md +0 -0
  228. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/quickstart/minimal_example.py +0 -0
  229. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/quickstart.py +0 -0
  230. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/redis_exploration.py +0 -0
  231. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/security_demo.py +0 -0
  232. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/security_integration_example.py +0 -0
  233. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/simple_usage.py +0 -0
  234. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/smart_team_quickstart.py +0 -0
  235. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/software_plugin_complete_demo.py +0 -0
  236. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/streamlit_debug_wizard.py +0 -0
  237. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/test_debugging_wizard.py +0 -0
  238. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/test_short_term_memory_full.py +0 -0
  239. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/testing_demo.py +0 -0
  240. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/wizard-dashboard/README.md +0 -0
  241. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/wizard-dashboard/SETUP.md +0 -0
  242. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/workflows/README.md +0 -0
  243. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/workflows/code_review_example.py +0 -0
  244. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/workflows/doc_gen_example.py +0 -0
  245. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/workflows/multi_model_example.py +0 -0
  246. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/workflows/research_example.py +0 -0
  247. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/requirements.txt +0 -0
  248. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/setup.cfg +0 -0
  249. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/__init__.py +0 -0
  250. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/cli_unified.py +0 -0
  251. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/config.py +0 -0
  252. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/coordination.py +0 -0
  253. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/core.py +0 -0
  254. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/cost_tracker.py +0 -0
  255. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/discovery.py +0 -0
  256. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/emergence.py +0 -0
  257. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/exceptions.py +0 -0
  258. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/feedback_loops.py +0 -0
  259. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/levels.py +0 -0
  260. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/leverage_points.py +0 -0
  261. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/logging_config.py +0 -0
  262. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/monitoring.py +0 -0
  263. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/pattern_library.py +0 -0
  264. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/persistence.py +0 -0
  265. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/platform_utils.py +0 -0
  266. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/redis_config.py +0 -0
  267. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/redis_memory.py +0 -0
  268. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/templates.py +0 -0
  269. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/trust_building.py +0 -0
  270. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_advanced_debugging.py +0 -0
  271. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_agent_factory.py +0 -0
  272. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_agent_factory_memory.py +0 -0
  273. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_agent_factory_resilience.py +0 -0
  274. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_ai_collaboration_wizard.py +0 -0
  275. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_all_wizards.py +0 -0
  276. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_audit_logger.py +0 -0
  277. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_audit_logger_extended.py +0 -0
  278. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_base.py +0 -0
  279. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_base_wizard.py +0 -0
  280. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_baseline.py +0 -0
  281. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_book_chapter_wizard.py +0 -0
  282. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_book_production_agents.py +0 -0
  283. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_bug_predict_workflow.py +0 -0
  284. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_claude_memory.py +0 -0
  285. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_claude_memory_extended.py +0 -0
  286. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_cli.py +0 -0
  287. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_clinical_protocol_monitor.py +0 -0
  288. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_health.py +0 -0
  289. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_review.py +0 -0
  290. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_review_crew_integration.py +0 -0
  291. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_review_pipeline.py +0 -0
  292. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_review_pipeline_workflow.py +0 -0
  293. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_review_wizard.py +0 -0
  294. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_review_workflow.py +0 -0
  295. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_config.py +0 -0
  296. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_control_panel.py +0 -0
  297. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_control_panel_security.py +0 -0
  298. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_coordination.py +0 -0
  299. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_core.py +0 -0
  300. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_core_reliability.py +0 -0
  301. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_cost_tracker.py +0 -0
  302. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_coverage_analyzer.py +0 -0
  303. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_crewai_adapter.py +0 -0
  304. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_dependency_check.py +0 -0
  305. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_dependency_check_workflow.py +0 -0
  306. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_discovery.py +0 -0
  307. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_document_gen_workflow.py +0 -0
  308. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_emergence.py +0 -0
  309. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_empathy_llm_core.py +0 -0
  310. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_empathy_llm_security.py +0 -0
  311. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_empathy_os.py +0 -0
  312. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_empathy_os_cli_extended.py +0 -0
  313. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_enhanced_testing.py +0 -0
  314. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_exceptions.py +0 -0
  315. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_executor_integration.py +0 -0
  316. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_fallback.py +0 -0
  317. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_feedback_loops.py +0 -0
  318. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_health_check.py +0 -0
  319. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_health_check_workflow.py +0 -0
  320. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_intelligence_integration.py +0 -0
  321. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_levels.py +0 -0
  322. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_leverage_points.py +0 -0
  323. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_linter_parsers.py +0 -0
  324. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_llm_integration.py +0 -0
  325. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_llm_toolkit_levels.py +0 -0
  326. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_logging_config.py +0 -0
  327. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_long_term.py +0 -0
  328. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_memory_graph.py +0 -0
  329. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_model_registry.py +0 -0
  330. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_model_router.py +0 -0
  331. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_monitoring.py +0 -0
  332. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_multi_model_wizard.py +0 -0
  333. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_pattern_library.py +0 -0
  334. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_perf_audit_workflow.py +0 -0
  335. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_persistence.py +0 -0
  336. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_pii_scrubber.py +0 -0
  337. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_pii_scrubber_extended.py +0 -0
  338. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_platform_compat_ci.py +0 -0
  339. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_platform_utils.py +0 -0
  340. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_plugin_base.py +0 -0
  341. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_plugin_registry.py +0 -0
  342. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_pr_review_workflow.py +0 -0
  343. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_production_smoke.py +0 -0
  344. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_progress.py +0 -0
  345. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_prompt_engineering_wizard.py +0 -0
  346. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_protocol_checker.py +0 -0
  347. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_protocol_loader.py +0 -0
  348. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_provider_config.py +0 -0
  349. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_providers.py +0 -0
  350. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_quality_analyzer.py +0 -0
  351. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_redis_bootstrap.py +0 -0
  352. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_redis_config.py +0 -0
  353. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_redis_integration.py +0 -0
  354. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_redis_memory.py +0 -0
  355. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_refactor_plan_workflow.py +0 -0
  356. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_refactoring.py +0 -0
  357. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_refactoring_crew.py +0 -0
  358. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_release_prep.py +0 -0
  359. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_reporting.py +0 -0
  360. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_reports.py +0 -0
  361. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_resilience.py +0 -0
  362. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_scanner.py +0 -0
  363. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_secrets_detector.py +0 -0
  364. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_secure_memdocs.py +0 -0
  365. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_secure_memdocs_extended.py +0 -0
  366. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_secure_release_workflow.py +0 -0
  367. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_audit.py +0 -0
  368. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_audit_crew.py +0 -0
  369. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_audit_workflow.py +0 -0
  370. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_crew_integration.py +0 -0
  371. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_integration.py +0 -0
  372. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_negative_cases.py +0 -0
  373. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_scan.py +0 -0
  374. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_sensor_parsers.py +0 -0
  375. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_session_status.py +0 -0
  376. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_short_term.py +0 -0
  377. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_smart_router.py +0 -0
  378. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_software_cli.py +0 -0
  379. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_software_integration.py +0 -0
  380. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_software_plugin.py +0 -0
  381. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_software_plugin_cli.py +0 -0
  382. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_state.py +0 -0
  383. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_step_config.py +0 -0
  384. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_summary_index.py +0 -0
  385. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_sync_claude.py +0 -0
  386. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_tech_debt_wizard.py +0 -0
  387. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_telemetry.py +0 -0
  388. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_test_suggester.py +0 -0
  389. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_token_estimator.py +0 -0
  390. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_trajectory_analyzer.py +0 -0
  391. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_trust_building.py +0 -0
  392. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_trust_circuit_breaker.py +0 -0
  393. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_unified_memory.py +0 -0
  394. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_validation.py +0 -0
  395. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_wizard_outputs.py +0 -0
  396. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_wizard_site_comprehensive.py +0 -0
  397. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_workflow_base.py +0 -0
  398. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_workflow_commands.py +0 -0
  399. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_workflow_wizard_integration.py +0 -0
  400. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_xml_prompts.py +0 -0
  401. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/__init__.py +0 -0
  402. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/admission_assessment_wizard.py +0 -0
  403. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/care_plan.py +0 -0
  404. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/clinical_assessment.py +0 -0
  405. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/discharge_planning.py +0 -0
  406. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/discharge_summary_wizard.py +0 -0
  407. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/dosage_calculation.py +0 -0
  408. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/incident_report_wizard.py +0 -0
  409. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/medication_reconciliation.py +0 -0
  410. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/nursing_assessment.py +0 -0
  411. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/patient_education.py +0 -0
  412. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/quality_improvement.py +0 -0
  413. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/sbar_report.py +0 -0
  414. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/sbar_wizard.py +0 -0
  415. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/shift_handoff_wizard.py +0 -0
  416. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/soap_note_wizard.py +0 -0
  417. {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/treatment_plan.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: empathy-framework
3
- Version: 3.5.5
3
+ Version: 3.5.6
4
4
  Summary: AI collaboration framework with persistent memory, anticipatory intelligence, code inspection, and multi-agent orchestration
5
5
  Author-email: Patrick Roebuck <patrick.roebuck@smartAImemory.com>
6
6
  Maintainer-email: Smart-AI-Memory <patrick.roebuck@smartAImemory.com>
@@ -0,0 +1,235 @@
1
+ # Workflow Patterns Guide
2
+
3
+ This guide helps you choose the right workflow pattern for your use case. The Empathy Framework supports three patterns, each optimized for different scenarios.
4
+
5
+ ## Quick Decision
6
+
7
+ **Default: Crew** - Unless you have a specific reason to choose otherwise.
8
+
9
+ ```bash
10
+ empathy workflow new my-workflow # Crew (default, recommended)
11
+ empathy workflow new my-workflow --base # Base pattern
12
+ empathy workflow new my-workflow --compose # Composition pattern
13
+ ```
14
+
15
+ ---
16
+
17
+ ## The Three Patterns
18
+
19
+ ### 1. Crew Pattern (Default)
20
+
21
+ **What it is:** Multiple specialized AI agents collaborate on a task, each bringing domain expertise.
22
+
23
+ **Best for:**
24
+ - Analysis tasks requiring multiple perspectives
25
+ - Quality-critical workflows where thoroughness matters
26
+ - Tasks that benefit from debate/consensus (security audits, code reviews)
27
+
28
+ **Trade-offs:**
29
+ | Pros | Cons |
30
+ |------|------|
31
+ | Richer, more thorough analysis | Higher cost (multiple agents) |
32
+ | Multiple perspectives catch more issues | Longer execution time |
33
+ | Self-correcting through agent discussion | More complex to debug |
34
+
35
+ **Example from codebase:** `SecurityAuditCrew` - 5 agents (SecurityAnalyst, CodeReviewer, PentestExpert, ComplianceChecker, ReportWriter) collaborate on security analysis.
36
+
37
+ **When NOT to use:**
38
+ - Simple, single-purpose tasks
39
+ - Cost-sensitive batch operations
40
+ - When speed matters more than thoroughness
41
+
42
+ ---
43
+
44
+ ### 2. Base Pattern
45
+
46
+ **What it is:** Sequential stages with automatic model tier routing for cost optimization.
47
+
48
+ **Best for:**
49
+ - Single-purpose workflows with clear stages
50
+ - Cost-sensitive operations
51
+ - Tasks where stages naturally build on each other
52
+
53
+ **Trade-offs:**
54
+ | Pros | Cons |
55
+ |------|------|
56
+ | Cost-optimized (tier routing) | Single perspective |
57
+ | Predictable execution flow | Less thorough than crew |
58
+ | Built-in telemetry/progress tracking | Sequential only |
59
+
60
+ **Example from codebase:** `TestGenerationWorkflow` - stages: identify → analyze → generate → format
61
+
62
+ ```python
63
+ class MyWorkflow(BaseWorkflow):
64
+ def define_steps(self) -> list[WorkflowStepConfig]:
65
+ return [
66
+ WorkflowStepConfig(
67
+ name="analyze",
68
+ tier=ModelTier.CAPABLE, # Routes to Sonnet/GPT-4o
69
+ prompt_template="Analyze: {input}"
70
+ ),
71
+ WorkflowStepConfig(
72
+ name="summarize",
73
+ tier=ModelTier.CHEAP, # Routes to Haiku/GPT-4o-mini
74
+ prompt_template="Summarize: {previous_output}"
75
+ ),
76
+ ]
77
+ ```
78
+
79
+ **When NOT to use:**
80
+ - Orchestrating multiple existing workflows
81
+ - Tasks requiring parallel execution
82
+ - When you need multi-agent collaboration
83
+
84
+ ---
85
+
86
+ ### 3. Composition Pattern
87
+
88
+ **What it is:** Orchestrate multiple existing workflows, optionally in parallel.
89
+
90
+ **Best for:**
91
+ - Meta-workflows that combine existing capabilities
92
+ - Parallel execution of independent analyses
93
+ - Custom result aggregation across workflows
94
+
95
+ **Trade-offs:**
96
+ | Pros | Cons |
97
+ |------|------|
98
+ | Reuse existing workflows | No built-in tier routing |
99
+ | Parallel execution possible | Manual cost aggregation |
100
+ | Flexible orchestration | More boilerplate |
101
+
102
+ **Example from codebase:** `SecureReleasePipeline` - orchestrates SecurityAuditWorkflow + CodeReviewWorkflow + ReleasePreparationWorkflow
103
+
104
+ ```python
105
+ class MyPipeline:
106
+ async def execute(self, path: str) -> PipelineResult:
107
+ # Run in parallel
108
+ security_task = asyncio.create_task(
109
+ SecurityAuditWorkflow().execute(path)
110
+ )
111
+ review_task = asyncio.create_task(
112
+ CodeReviewWorkflow().execute(path)
113
+ )
114
+
115
+ security_result, review_result = await asyncio.gather(
116
+ security_task, review_task
117
+ )
118
+
119
+ return self._aggregate_results(security_result, review_result)
120
+ ```
121
+
122
+ **When NOT to use:**
123
+ - Building a new standalone capability
124
+ - When you need tier-based cost optimization
125
+ - Simple single-stage tasks
126
+
127
+ ---
128
+
129
+ ## Decision Tree
130
+
131
+ ```
132
+ Start
133
+
134
+ ├─ "Am I combining 2+ existing workflows?"
135
+ │ └─ Yes → Composition
136
+ │ └─ No ↓
137
+
138
+ ├─ "Do I need multiple AI perspectives?"
139
+ │ └─ Yes → Crew (default)
140
+ │ └─ No ↓
141
+
142
+ └─ "Is this a sequential, cost-sensitive task?"
143
+ └─ Yes → Base
144
+ └─ No → Crew (default)
145
+ ```
146
+
147
+ ---
148
+
149
+ ## Configuration
150
+
151
+ Set your project's default pattern in `empathy.config.yml`:
152
+
153
+ ```yaml
154
+ workflow:
155
+ default_pattern: crew # crew | base | compose
156
+
157
+ crew:
158
+ default_agents: 3 # Cost/quality tradeoff
159
+ timeout_seconds: 300
160
+
161
+ base:
162
+ default_tier: capable # cheap | capable | premium
163
+ enable_telemetry: true
164
+ ```
165
+
166
+ Override per-workflow:
167
+
168
+ ```bash
169
+ # Use base pattern even though project defaults to crew
170
+ empathy workflow new cost-sensitive-task --base
171
+ ```
172
+
173
+ ---
174
+
175
+ ## Migration Paths
176
+
177
+ ### Base → Crew
178
+ When your Base workflow needs richer analysis:
179
+
180
+ 1. Identify the different "perspectives" your workflow should have
181
+ 2. Create agent definitions for each perspective
182
+ 3. Replace `define_steps()` with agent collaboration logic
183
+
184
+ ### Crew → Composition
185
+ When you want to reuse your Crew alongside other workflows:
186
+
187
+ 1. Keep your Crew as-is
188
+ 2. Create a new Composition wrapper
189
+ 3. Call your Crew from the composition alongside other workflows
190
+
191
+ ### Composition → Base
192
+ When your composed workflows should be a single optimized pipeline:
193
+
194
+ 1. Identify the core stages from each sub-workflow
195
+ 2. Merge into a single `define_steps()` with tier routing
196
+ 3. Remove the composition wrapper
197
+
198
+ ---
199
+
200
+ ## Comparison Table
201
+
202
+ | Aspect | Crew | Base | Compose |
203
+ |--------|------|------|---------|
204
+ | **Default** | ✅ Yes | No | No |
205
+ | **Cost** | High | Low-Medium | Varies |
206
+ | **Thoroughness** | High | Medium | Depends |
207
+ | **Speed** | Slow | Fast | Varies |
208
+ | **Complexity** | Medium | Low | Medium |
209
+ | **Parallelism** | Agent-level | No | Workflow-level |
210
+ | **Tier Routing** | No | Yes | Manual |
211
+ | **Telemetry** | Manual | Built-in | Manual |
212
+
213
+ ---
214
+
215
+ ## Examples from Empathy Framework
216
+
217
+ | Workflow | Pattern | Why |
218
+ |----------|---------|-----|
219
+ | `SecurityAuditCrew` | Crew | Multiple security perspectives needed |
220
+ | `TestGenerationWorkflow` | Base | Sequential stages, cost-sensitive |
221
+ | `SecureReleasePipeline` | Compose | Orchestrates 4 existing workflows |
222
+ | `CodeReviewWorkflow` | Base | Sequential analysis stages |
223
+ | `ResearchSynthesisWorkflow` | Crew | Multi-document analysis benefits from perspectives |
224
+
225
+ ---
226
+
227
+ ## Summary
228
+
229
+ 1. **Start with Crew** - It's the default for a reason
230
+ 2. **Use Base** when cost/speed matters more than thoroughness
231
+ 3. **Use Compose** when combining existing workflows
232
+ 4. **Configure defaults** in `empathy.config.yml`
233
+ 5. **Override per-workflow** with `--base` or `--compose` flags
234
+
235
+ Questions? See the implementation examples in `src/empathy_os/workflows/`.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: empathy-framework
3
- Version: 3.5.5
3
+ Version: 3.5.6
4
4
  Summary: AI collaboration framework with persistent memory, anticipatory intelligence, code inspection, and multi-agent orchestration
5
5
  Author-email: Patrick Roebuck <patrick.roebuck@smartAImemory.com>
6
6
  Maintainer-email: Smart-AI-Memory <patrick.roebuck@smartAImemory.com>
@@ -67,6 +67,7 @@ docs/guides/DISTRIBUTION_POLICY.md
67
67
  docs/guides/MCP_PUBLISH_INSTRUCTIONS.md
68
68
  docs/guides/MKDOCS_TUTORIAL.md
69
69
  docs/guides/PUBLISHING.md
70
+ docs/guides/WORKFLOW_PATTERNS.md
70
71
  docs/guides/claude-memory-integration.md
71
72
  docs/guides/foreword.md
72
73
  docs/guides/healthcare-wizards.md
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "empathy-framework"
7
- version = "3.5.5"
7
+ version = "3.5.6"
8
8
  description = "AI collaboration framework with persistent memory, anticipatory intelligence, code inspection, and multi-agent orchestration"
9
9
  readme = {file = "README.md", content-type = "text/markdown"}
10
10
  requires-python = ">=3.10"
@@ -1874,8 +1874,17 @@ def cmd_workflow(args):
1874
1874
  if args.input:
1875
1875
  input_data = json_mod.loads(args.input)
1876
1876
 
1877
- print(f"\n Running workflow: {name} (provider: {provider})")
1878
- print("=" * 50)
1877
+ # Add test-gen specific flags to input_data (only for test-gen workflow)
1878
+ if name == "test-gen":
1879
+ if getattr(args, "write_tests", False):
1880
+ input_data["write_tests"] = True
1881
+ if getattr(args, "output_dir", None):
1882
+ input_data["output_dir"] = args.output_dir
1883
+
1884
+ # Only print header when not in JSON mode
1885
+ if not args.json:
1886
+ print(f"\n Running workflow: {name} (provider: {provider})")
1887
+ print("=" * 50)
1879
1888
 
1880
1889
  # Execute workflow
1881
1890
  result = asyncio.run(workflow.execute(**input_data))
@@ -1920,9 +1929,29 @@ def cmd_workflow(args):
1920
1929
  error = metadata.get("error") if isinstance(metadata, dict) else None
1921
1930
 
1922
1931
  # JSON output includes both content and metadata
1932
+ # Include final_output for programmatic access (VSCode panels, etc.)
1933
+ raw_final_output = getattr(result, "final_output", None)
1934
+ if raw_final_output and isinstance(raw_final_output, dict):
1935
+ # Make a copy to avoid modifying the original
1936
+ final_output_serializable = {}
1937
+ for k, v in raw_final_output.items():
1938
+ # Skip non-serializable items
1939
+ if isinstance(v, set):
1940
+ final_output_serializable[k] = list(v)
1941
+ elif v is None or isinstance(v, str | int | float | bool | list | dict):
1942
+ final_output_serializable[k] = v
1943
+ else:
1944
+ try:
1945
+ final_output_serializable[k] = str(v)
1946
+ except Exception:
1947
+ pass
1948
+ else:
1949
+ final_output_serializable = None
1950
+
1923
1951
  output = {
1924
1952
  "success": result.success,
1925
1953
  "output": output_content,
1954
+ "final_output": final_output_serializable,
1926
1955
  "cost": total_cost,
1927
1956
  "savings": savings,
1928
1957
  "duration_ms": duration_ms or 0,
@@ -2476,6 +2505,16 @@ def main():
2476
2505
  help="Force overwrite existing config file",
2477
2506
  )
2478
2507
  parser_workflow.add_argument("--json", action="store_true", help="Output as JSON")
2508
+ parser_workflow.add_argument(
2509
+ "--write-tests",
2510
+ action="store_true",
2511
+ help="(test-gen workflow) Write generated tests to disk",
2512
+ )
2513
+ parser_workflow.add_argument(
2514
+ "--output-dir",
2515
+ default="tests/generated",
2516
+ help="(test-gen workflow) Output directory for generated tests",
2517
+ )
2479
2518
  parser_workflow.set_defaults(func=cmd_workflow)
2480
2519
 
2481
2520
  # Sync-claude command (sync patterns to Claude Code)
@@ -347,8 +347,8 @@ def ship_workflow(
347
347
  # Import here to avoid circular imports
348
348
  try:
349
349
  from empathy_llm_toolkit.cli.sync_claude import (
350
- sync_patterns_to_claude, # type: ignore[attr-defined]
351
- )
350
+ sync_patterns_to_claude,
351
+ ) # type: ignore[attr-defined]
352
352
 
353
353
  result = sync_patterns_to_claude(
354
354
  patterns_dir=patterns_dir, output_dir=".claude/rules/empathy"
@@ -18,9 +18,7 @@ from pathlib import Path
18
18
 
19
19
  import pytest
20
20
 
21
- from empathy_software_plugin.wizards.agent_orchestration_wizard import (
22
- AgentOrchestrationWizard,
23
- )
21
+ from empathy_software_plugin.wizards.agent_orchestration_wizard import AgentOrchestrationWizard
24
22
 
25
23
 
26
24
  class TestAgentOrchestrationWizardInit:
@@ -336,8 +336,7 @@ class TestESLintConfigLoader:
336
336
  # Note: The loader's regex extracts JSON from module.exports = {...}
337
337
  # It requires strict JSON format (double quotes, no trailing commas)
338
338
  js_content = (
339
- 'module.exports = {"rules": {"no-console": "warn"}, '
340
- '"extends": ["eslint:recommended"]};'
339
+ 'module.exports = {"rules": {"no-console": "warn"}, "extends": ["eslint:recommended"]};'
341
340
  )
342
341
  config_path = Path(temp_dir) / ".eslintrc.js"
343
342
  with open(config_path, "w") as f:
@@ -14,11 +14,7 @@ from pathlib import Path
14
14
  import pytest
15
15
 
16
16
  from empathy_os.workflows.base import ModelTier
17
- from empathy_os.workflows.document_gen import (
18
- DOC_GEN_STEPS,
19
- TOKEN_COSTS,
20
- DocumentGenerationWorkflow,
21
- )
17
+ from empathy_os.workflows.document_gen import DOC_GEN_STEPS, TOKEN_COSTS, DocumentGenerationWorkflow
22
18
 
23
19
 
24
20
  class TestTokenCosts:
@@ -14,12 +14,7 @@ from pathlib import Path
14
14
 
15
15
  import pytest
16
16
 
17
- from empathy_os.memory.edges import (
18
- REVERSE_EDGE_TYPES,
19
- WIZARD_EDGE_PATTERNS,
20
- Edge,
21
- EdgeType,
22
- )
17
+ from empathy_os.memory.edges import REVERSE_EDGE_TYPES, WIZARD_EDGE_PATTERNS, Edge, EdgeType
23
18
  from empathy_os.memory.graph import MemoryGraph
24
19
  from empathy_os.memory.nodes import (
25
20
  BugNode,
@@ -22,12 +22,8 @@ from empathy_software_plugin.wizards.performance.bottleneck_detector import (
22
22
  BottleneckType,
23
23
  )
24
24
  from empathy_software_plugin.wizards.performance.profiler_parsers import FunctionProfile
25
- from empathy_software_plugin.wizards.performance.trajectory_analyzer import (
26
- TrajectoryPrediction,
27
- )
28
- from empathy_software_plugin.wizards.performance_profiling_wizard import (
29
- PerformanceProfilingWizard,
30
- )
25
+ from empathy_software_plugin.wizards.performance.trajectory_analyzer import TrajectoryPrediction
26
+ from empathy_software_plugin.wizards.performance_profiling_wizard import PerformanceProfilingWizard
31
27
 
32
28
 
33
29
  class TestPerformanceProfilingWizardInitialization:
@@ -9,11 +9,7 @@ from unittest.mock import AsyncMock, patch
9
9
 
10
10
  import pytest
11
11
 
12
- from empathy_os.workflows.pr_review import (
13
- PRReviewResult,
14
- PRReviewWorkflow,
15
- format_pr_review_report,
16
- )
12
+ from empathy_os.workflows.pr_review import PRReviewResult, PRReviewWorkflow, format_pr_review_report
17
13
 
18
14
 
19
15
  class TestPRReviewResult:
@@ -109,10 +109,9 @@ class TestGoldenScenarioValidation:
109
109
  primary = expected["primary_category"]
110
110
 
111
111
  valid_categories = [c.value for c in RefactoringCategory]
112
- assert primary in valid_categories, (
113
- f"Invalid primary_category '{primary}' in {scenario}. "
114
- f"Valid options: {valid_categories}"
115
- )
112
+ assert (
113
+ primary in valid_categories
114
+ ), f"Invalid primary_category '{primary}' in {scenario}. Valid options: {valid_categories}"
116
115
 
117
116
 
118
117
  class TestRefactoringCrewGoldenAnalysis:
@@ -125,10 +124,7 @@ class TestRefactoringCrewGoldenAnalysis:
125
124
  @pytest.mark.parametrize("scenario", get_golden_scenarios())
126
125
  def test_scenario_analysis_structure(self, scenario: str):
127
126
  """Test that analysis produces expected structure for each scenario."""
128
- from empathy_llm_toolkit.agent_factory.crews import (
129
- RefactoringConfig,
130
- RefactoringCrew,
131
- )
127
+ from empathy_llm_toolkit.agent_factory.crews import RefactoringConfig, RefactoringCrew
132
128
 
133
129
  input_code, expected = load_golden_scenario(scenario)
134
130
 
@@ -12,12 +12,7 @@ Tests the unified model registry including:
12
12
 
13
13
  import pytest
14
14
 
15
- from empathy_os.models.registry import (
16
- MODEL_REGISTRY,
17
- ModelInfo,
18
- ModelProvider,
19
- ModelTier,
20
- )
15
+ from empathy_os.models.registry import MODEL_REGISTRY, ModelInfo, ModelProvider, ModelTier
21
16
 
22
17
 
23
18
  class TestModelTierEnum:
@@ -12,10 +12,7 @@ import pytest
12
12
 
13
13
  # Try to import the module - skip tests if dependencies unavailable
14
14
  try:
15
- from wizards_consolidated.healthcare.sbar_wizard import (
16
- SBAR_STEPS,
17
- router,
18
- )
15
+ from wizards_consolidated.healthcare.sbar_wizard import SBAR_STEPS, router
19
16
 
20
17
  SBAR_AVAILABLE = True
21
18
  except ImportError:
@@ -12,10 +12,7 @@ Copyright 2025 Smart AI Memory, LLC
12
12
  Licensed under Fair Source 0.9
13
13
  """
14
14
 
15
- from src.empathy_os.workflows.secure_release import (
16
- SecureReleasePipeline,
17
- SecureReleaseResult,
18
- )
15
+ from src.empathy_os.workflows.secure_release import SecureReleasePipeline, SecureReleaseResult
19
16
 
20
17
 
21
18
  class TestSecureReleaseResult:
@@ -424,7 +424,7 @@ class TestSecurityLearningWizardIntegration:
424
424
  """Test full analysis workflow."""
425
425
  with tempfile.TemporaryDirectory() as tmpdir:
426
426
  # Create file with potential vulnerabilities
427
- (Path(tmpdir) / "auth.py").write_text("password = 'secret123'\n" "x = Math.random()\n")
427
+ (Path(tmpdir) / "auth.py").write_text("password = 'secret123'\nx = Math.random()\n")
428
428
 
429
429
  wizard = SecurityLearningWizard(pattern_storage_path=tmpdir)
430
430
  result = await wizard.analyze({"project_path": tmpdir})
@@ -437,7 +437,7 @@ class TestSecurityLearningWizardIntegration:
437
437
  """Test analysis on secure project."""
438
438
  with tempfile.TemporaryDirectory() as tmpdir:
439
439
  (Path(tmpdir) / "secure.py").write_text(
440
- "import os\n" "secret = os.environ.get('SECRET')\n"
440
+ "import os\nsecret = os.environ.get('SECRET')\n"
441
441
  )
442
442
 
443
443
  wizard = SecurityLearningWizard(pattern_storage_path=tmpdir)
@@ -13,12 +13,7 @@ Tests cover:
13
13
  from pathlib import Path
14
14
  from unittest.mock import MagicMock
15
15
 
16
- from empathy_os.templates import (
17
- TEMPLATES,
18
- cmd_new,
19
- list_templates,
20
- scaffold_project,
21
- )
16
+ from empathy_os.templates import TEMPLATES, cmd_new, list_templates, scaffold_project
22
17
 
23
18
 
24
19
  class TestTemplateDefinitions:
@@ -10,11 +10,7 @@ from unittest.mock import patch
10
10
 
11
11
  import pytest
12
12
 
13
- from empathy_os.resilience.timeout import (
14
- TimeoutError,
15
- timeout,
16
- with_timeout,
17
- )
13
+ from empathy_os.resilience.timeout import TimeoutError, timeout, with_timeout
18
14
 
19
15
 
20
16
  class TestTimeoutError:
@@ -226,7 +226,8 @@ class TestWizardAPIErrorHandling:
226
226
  def test_422_wrong_type_for_input(self, client):
227
227
  """Test 422 response when input is wrong type."""
228
228
  response = client.post(
229
- "/api/wizard/test_domain/process", json={"input": 12345} # Should be string
229
+ "/api/wizard/test_domain/process",
230
+ json={"input": 12345}, # Should be string
230
231
  )
231
232
  assert response.status_code == 422
232
233