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.
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/PKG-INFO +1 -1
- empathy_framework-3.5.6/docs/guides/WORKFLOW_PATTERNS.md +235 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_framework.egg-info/PKG-INFO +1 -1
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_framework.egg-info/SOURCES.txt +1 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/pyproject.toml +1 -1
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/cli.py +41 -2
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/workflow_commands.py +2 -2
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_agent_orchestration_wizard.py +1 -3
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_config_loaders.py +1 -2
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_document_gen.py +1 -5
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_graph.py +1 -6
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_performance_profiling_wizard.py +2 -6
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_pr_review.py +1 -5
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_refactor_golden.py +4 -8
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_registry.py +1 -6
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_sbar_wizard.py +1 -4
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_secure_release.py +1 -4
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_learning_wizard.py +2 -2
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_templates.py +1 -6
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_timeout.py +1 -5
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_wizard_api.py +2 -1
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/.bandit +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/CHANGELOG.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/CODE_OF_CONDUCT.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/CONTRIBUTING.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/LICENSE +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/MANIFEST.in +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/QUICKSTART.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/SECURITY.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_B112.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_F541.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_FORMAT.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_20250822_def456.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_20250915_abc123.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_3c5b9951.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_97c0f72f.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a0871d53.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a9b6ec41.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_bug_null_001.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/code_inspection/patterns/inspection/recurring_builtin.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/compliance_anticipation_agent.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/epic_integration_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/agents/trust_building_behaviors.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/__init__.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/accessibility_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/api_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/base_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/cicd_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/compliance_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/database_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/debugging_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/documentation_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/generate_wizards.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/localization_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/migration_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/monitoring_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/observability_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/performance_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/prompt_engineering_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/refactoring_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/scaling_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/security_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/coach_wizards/testing_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/ai-wizards.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/config.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/core.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/empathy-os.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/index.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/llm-toolkit.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/multi-agent.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/pattern-library.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/persistence.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/software-wizards.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/api-reference/wizards.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/examples/adaptive-learning-system.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/examples/multi-agent-team-coordination.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/examples/sbar-clinical-handoff.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/examples/simple-chatbot.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/examples/webhook-event-integration.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/getting-started/redis-setup.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/DISTRIBUTION_POLICY.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/MCP_PUBLISH_INSTRUCTIONS.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/MKDOCS_TUTORIAL.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/PUBLISHING.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/claude-memory-integration.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/foreword.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/healthcare-wizards.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/how-to-read-this-book.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/multi-model-workflows.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/pattern-catalog.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/preface.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/software-development-wizards.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/guides/trust-circuit-breaker.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/docs/index.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy.config.example.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy.config.example.yml +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_framework.egg-info/dependency_links.txt +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_framework.egg-info/entry_points.txt +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_framework.egg-info/requires.txt +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_framework.egg-info/top_level.txt +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_healthcare_plugin/__init__.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_healthcare_plugin/protocols/cardiac.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_healthcare_plugin/protocols/post_operative.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_healthcare_plugin/protocols/respiratory.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_healthcare_plugin/protocols/sepsis.json +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/__init__.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/claude_memory.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/code_health.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/contextual_patterns.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/core.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/git_pattern_extractor.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/levels.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/pattern_confidence.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/pattern_resolver.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/pattern_summary.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/providers.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/session_status.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_llm_toolkit/state.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_software_plugin/SOFTWARE_PLUGIN_README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_software_plugin/__init__.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_software_plugin/cli.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/empathy_software_plugin/plugin.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/WIZARDS_MASTER_GUIDE.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/WIZARD_DASHBOARD_IMPLEMENTATION.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/WIZARD_DASHBOARD_STATE_MANAGEMENT.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/WIZARD_DASHBOARD_WIREFRAMES.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/ai_wizards/all_ai_wizards_demo.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/ai_wizards/tests/test_ai_wizards.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/ai_wizards/tests/test_performance_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/ai_wizards/tests/test_security_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/claude_memory/README-SECURITY.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/claude_memory/enterprise-CLAUDE-secure.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/claude_memory/example-with-imports.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/claude_memory/project-CLAUDE.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/claude_memory/user-CLAUDE.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/ALL_DOCUMENTATION_COMPLETE.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/ALPHA_TESTER_RECRUITMENT.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/CHANGELOG.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/COMPLETE_IMPLEMENTATION_REPORT.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/CONTRIBUTING.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/DISCORD_SETUP_GUIDE.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/DOCUMENTATION_COMPLETE.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/FINAL_DELIVERABLES_SUMMARY.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/IDE_INTEGRATION_PLAN.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/IDE_INTEGRATION_SETUP_COMPLETE.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/IMPLEMENTATION_COMPLETE.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/JETBRAINS_PLUGIN_COMPLETE.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/MARKETPLACE_READINESS.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/PHASE_1_COMPLETE_AND_NEXT_STEPS.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/PRIVACY.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/TODO.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/VSCODE_EXTENSION_COMPLETE.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/WIZARD_IMPLEMENTATION_COMPLETE.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/__init__.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/coach-lsp-server/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/coach-lsp-server/server.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/coach.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/demo.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/demo_all_wizards.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/API.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/CUSTOM_WIZARDS.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/FAQ.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/INSTALLATION.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/TROUBLESHOOTING.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/USER_MANUAL.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/docs/WIZARDS.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/health_check.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/jetbrains-plugin/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/jetbrains-plugin-complete/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/__init__.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/cache.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/context_collector.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/error_handler.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/logging_config.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/protocol/__init__.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/protocol/messages.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/server.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/tests/__init__.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/tests/test_e2e.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/lsp/tests/test_server.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/setup/DISCORD_SETUP_INSTRUCTIONS.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/setup/GITHUB_SETUP_GUIDE.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/setup/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/setup/SETUP_COMPLETE.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/shared_learning.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/tests/__init__.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/tests/test_all_wizards.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/tests/test_coach_wizards.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/tests/test_new_wizards.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/vscode-extension/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/vscode-extension-complete/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/__init__.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/accessibility_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/api_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/base_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/compliance_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/database_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/debugging_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/design_review_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/devops_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/documentation_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/localization_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/monitoring_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/onboarding_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/performance_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/refactoring_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/retrospective_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/security_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/coach/wizards/testing_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/debugging_demo.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/domain_wizards/all_domain_wizards_demo.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/domain_wizards/healthcare_example.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/domain_wizards/tests/test_healthcare_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/level_5_transformative/BLOG_POST.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/level_5_transformative/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/level_5_transformative/data/deployment_pipeline.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/level_5_transformative/data/healthcare_handoff_code.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/level_5_transformative/run_full_demo.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/llm_toolkit_demo.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/multi_llm_usage.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/performance_demo.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/quickstart/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/quickstart/minimal_example.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/quickstart.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/redis_exploration.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/security_demo.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/security_integration_example.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/simple_usage.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/smart_team_quickstart.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/software_plugin_complete_demo.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/streamlit_debug_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/test_debugging_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/test_short_term_memory_full.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/testing_demo.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/wizard-dashboard/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/wizard-dashboard/SETUP.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/workflows/README.md +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/workflows/code_review_example.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/workflows/doc_gen_example.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/workflows/multi_model_example.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/examples/workflows/research_example.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/requirements.txt +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/setup.cfg +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/__init__.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/cli_unified.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/config.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/coordination.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/core.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/cost_tracker.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/discovery.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/emergence.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/exceptions.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/feedback_loops.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/levels.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/leverage_points.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/logging_config.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/monitoring.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/pattern_library.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/persistence.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/platform_utils.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/redis_config.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/redis_memory.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/templates.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/src/empathy_os/trust_building.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_advanced_debugging.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_agent_factory.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_agent_factory_memory.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_agent_factory_resilience.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_ai_collaboration_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_all_wizards.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_audit_logger.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_audit_logger_extended.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_base.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_base_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_baseline.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_book_chapter_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_book_production_agents.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_bug_predict_workflow.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_claude_memory.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_claude_memory_extended.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_cli.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_clinical_protocol_monitor.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_health.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_review.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_review_crew_integration.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_review_pipeline.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_review_pipeline_workflow.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_review_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_code_review_workflow.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_config.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_control_panel.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_control_panel_security.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_coordination.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_core.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_core_reliability.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_cost_tracker.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_coverage_analyzer.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_crewai_adapter.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_dependency_check.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_dependency_check_workflow.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_discovery.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_document_gen_workflow.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_emergence.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_empathy_llm_core.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_empathy_llm_security.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_empathy_os.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_empathy_os_cli_extended.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_enhanced_testing.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_exceptions.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_executor_integration.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_fallback.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_feedback_loops.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_health_check.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_health_check_workflow.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_intelligence_integration.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_levels.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_leverage_points.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_linter_parsers.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_llm_integration.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_llm_toolkit_levels.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_logging_config.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_long_term.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_memory_graph.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_model_registry.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_model_router.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_monitoring.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_multi_model_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_pattern_library.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_perf_audit_workflow.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_persistence.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_pii_scrubber.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_pii_scrubber_extended.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_platform_compat_ci.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_platform_utils.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_plugin_base.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_plugin_registry.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_pr_review_workflow.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_production_smoke.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_progress.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_prompt_engineering_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_protocol_checker.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_protocol_loader.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_provider_config.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_providers.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_quality_analyzer.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_redis_bootstrap.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_redis_config.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_redis_integration.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_redis_memory.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_refactor_plan_workflow.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_refactoring.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_refactoring_crew.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_release_prep.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_reporting.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_reports.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_resilience.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_scanner.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_secrets_detector.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_secure_memdocs.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_secure_memdocs_extended.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_secure_release_workflow.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_audit.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_audit_crew.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_audit_workflow.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_crew_integration.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_integration.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_negative_cases.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_security_scan.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_sensor_parsers.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_session_status.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_short_term.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_smart_router.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_software_cli.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_software_integration.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_software_plugin.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_software_plugin_cli.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_state.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_step_config.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_summary_index.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_sync_claude.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_tech_debt_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_telemetry.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_test_suggester.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_token_estimator.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_trajectory_analyzer.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_trust_building.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_trust_circuit_breaker.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_unified_memory.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_validation.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_wizard_outputs.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_wizard_site_comprehensive.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_workflow_base.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_workflow_commands.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_workflow_wizard_integration.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_xml_prompts.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/__init__.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/admission_assessment_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/care_plan.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/clinical_assessment.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/discharge_planning.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/discharge_summary_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/dosage_calculation.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/incident_report_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/medication_reconciliation.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/nursing_assessment.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/patient_education.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/quality_improvement.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/sbar_report.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/sbar_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/shift_handoff_wizard.py +0 -0
- {empathy_framework-3.5.5 → empathy_framework-3.5.6}/wizards/soap_note_wizard.py +0 -0
- {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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
1878
|
-
|
|
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,
|
|
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"
|
{empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_agent_orchestration_wizard.py
RENAMED
|
@@ -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,
|
{empathy_framework-3.5.5 → empathy_framework-3.5.6}/tests/test_performance_profiling_wizard.py
RENAMED
|
@@ -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
|
-
|
|
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
|
|
113
|
-
|
|
114
|
-
|
|
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'\
|
|
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\
|
|
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",
|
|
229
|
+
"/api/wizard/test_domain/process",
|
|
230
|
+
json={"input": 12345}, # Should be string
|
|
230
231
|
)
|
|
231
232
|
assert response.status_code == 422
|
|
232
233
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|