empathy-framework 3.5.6__tar.gz → 3.7.0__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.6 → empathy_framework-3.7.0}/CHANGELOG.md +212 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/PKG-INFO +234 -30
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/README.md +152 -6
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/compliance_anticipation_agent.py +113 -118
- empathy_framework-3.7.0/agents/compliance_db.py +339 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/epic_integration_wizard.py +37 -48
- empathy_framework-3.7.0/agents/notifications.py +291 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/trust_building_behaviors.py +66 -85
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/__init__.py +11 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/accessibility_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/api_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/base_wizard.py +26 -20
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/cicd_wizard.py +15 -13
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/compliance_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/database_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/debugging_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/documentation_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/generate_wizards.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/localization_wizard.py +21 -14
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/migration_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/monitoring_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/observability_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/performance_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/prompt_engineering_wizard.py +22 -25
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/refactoring_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/scaling_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/security_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/coach_wizards/testing_wizard.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_framework.egg-info/PKG-INFO +234 -30
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_framework.egg-info/SOURCES.txt +9 -0
- empathy_framework-3.7.0/empathy_framework.egg-info/requires.txt +180 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_healthcare_plugin/__init__.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/__init__.py +5 -6
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/claude_memory.py +14 -15
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/code_health.py +27 -19
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/contextual_patterns.py +11 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/core.py +43 -49
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/git_pattern_extractor.py +16 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/levels.py +6 -13
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/pattern_confidence.py +14 -18
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/pattern_resolver.py +10 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/pattern_summary.py +13 -11
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/providers.py +27 -38
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/session_status.py +18 -20
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/state.py +20 -21
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_software_plugin/__init__.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_software_plugin/cli.py +32 -25
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_software_plugin/plugin.py +4 -8
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/ai_wizards/all_ai_wizards_demo.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/ai_wizards/tests/test_ai_wizards.py +15 -10
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/ai_wizards/tests/test_performance_wizard.py +43 -44
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/ai_wizards/tests/test_security_wizard.py +23 -23
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/__init__.py +3 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/coach-lsp-server/server.py +26 -23
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/coach.py +17 -20
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/demo.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/demo_all_wizards.py +2 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/health_check.py +2 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/lsp/__init__.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/lsp/cache.py +8 -9
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/lsp/context_collector.py +7 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/lsp/error_handler.py +5 -6
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/lsp/logging_config.py +12 -8
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/lsp/protocol/__init__.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/lsp/protocol/messages.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/lsp/server.py +20 -10
- empathy_framework-3.7.0/examples/coach/lsp/tests/__init__.py +1 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/lsp/tests/test_e2e.py +10 -17
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/lsp/tests/test_server.py +10 -7
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/shared_learning.py +21 -21
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/tests/test_all_wizards.py +29 -9
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/tests/test_coach_wizards.py +2 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/tests/test_new_wizards.py +27 -9
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/__init__.py +19 -20
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/accessibility_wizard.py +24 -21
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/api_wizard.py +5 -6
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/base_wizard.py +18 -21
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/compliance_wizard.py +20 -19
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/database_wizard.py +19 -20
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/debugging_wizard.py +15 -16
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/design_review_wizard.py +25 -22
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/devops_wizard.py +14 -13
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/documentation_wizard.py +19 -21
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/localization_wizard.py +14 -13
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/monitoring_wizard.py +8 -11
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/onboarding_wizard.py +17 -18
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/performance_wizard.py +17 -17
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/refactoring_wizard.py +27 -20
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/retrospective_wizard.py +26 -20
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/security_wizard.py +44 -33
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/wizards/testing_wizard.py +18 -21
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/debugging_demo.py +11 -10
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/domain_wizards/all_domain_wizards_demo.py +2 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/domain_wizards/healthcare_example.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/domain_wizards/tests/test_healthcare_wizard.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/level_5_transformative/data/deployment_pipeline.py +8 -14
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/level_5_transformative/data/healthcare_handoff_code.py +8 -11
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/level_5_transformative/run_full_demo.py +10 -14
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/llm_toolkit_demo.py +12 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/multi_llm_usage.py +5 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/performance_demo.py +15 -16
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/quickstart/minimal_example.py +2 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/quickstart.py +3 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/redis_exploration.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/security_demo.py +10 -11
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/security_integration_example.py +15 -8
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/simple_usage.py +2 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/smart_team_quickstart.py +37 -32
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/software_plugin_complete_demo.py +9 -11
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/streamlit_debug_wizard.py +17 -16
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/test_debugging_wizard.py +9 -16
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/test_short_term_memory_full.py +10 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/testing_demo.py +12 -14
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/workflows/code_review_example.py +4 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/workflows/doc_gen_example.py +10 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/workflows/multi_model_example.py +2 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/workflows/research_example.py +3 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/pyproject.toml +108 -31
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/__init__.py +72 -73
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/cli.py +193 -98
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/cli_unified.py +68 -41
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/config.py +31 -31
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/coordination.py +48 -54
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/core.py +90 -99
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/cost_tracker.py +20 -23
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/discovery.py +9 -11
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/emergence.py +20 -21
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/exceptions.py +18 -30
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/feedback_loops.py +27 -30
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/levels.py +31 -34
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/leverage_points.py +27 -28
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/logging_config.py +11 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/monitoring.py +27 -27
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/pattern_library.py +29 -28
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/persistence.py +30 -34
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/platform_utils.py +46 -47
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/redis_config.py +14 -15
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/redis_memory.py +53 -56
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/templates.py +12 -11
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/trust_building.py +44 -36
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/src/empathy_os/workflow_commands.py +123 -31
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_advanced_debugging.py +17 -16
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_agent_factory.py +8 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_agent_factory_memory.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_agent_factory_resilience.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_agent_orchestration_wizard.py +5 -6
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_ai_collaboration_wizard.py +15 -16
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_all_wizards.py +5 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_audit_logger.py +4 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_audit_logger_extended.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_base.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_base_wizard.py +7 -4
- empathy_framework-3.7.0/tests/test_base_wizard_exceptions.py +451 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_baseline.py +46 -28
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_book_chapter_wizard.py +7 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_book_production_agents.py +12 -9
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_bug_predict_workflow.py +27 -20
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_claude_memory.py +9 -7
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_claude_memory_extended.py +3 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_cli.py +25 -9
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_clinical_protocol_monitor.py +91 -30
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_code_health.py +11 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_code_review.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_code_review_crew_integration.py +17 -11
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_code_review_pipeline.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_code_review_pipeline_workflow.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_code_review_wizard.py +3 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_code_review_workflow.py +4 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_config.py +14 -7
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_config_loaders.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_control_panel.py +30 -20
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_control_panel_security.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_coordination.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_core.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_core_reliability.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_cost_tracker.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_coverage_analyzer.py +3 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_crewai_adapter.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_dependency_check.py +10 -7
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_dependency_check_workflow.py +9 -10
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_discovery.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_document_gen.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_document_gen_workflow.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_emergence.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_empathy_llm_core.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_empathy_llm_security.py +14 -7
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_empathy_os.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_empathy_os_cli_extended.py +33 -11
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_enhanced_testing.py +21 -22
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_exceptions.py +3 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_executor_integration.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_fallback.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_feedback_loops.py +1 -2
- empathy_framework-3.7.0/tests/test_finding_extraction.py +174 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_graph.py +3 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_health_check.py +5 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_health_check_workflow.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_intelligence_integration.py +4 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_levels.py +12 -13
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_leverage_points.py +13 -6
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_linter_parsers.py +38 -39
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_llm_integration.py +34 -14
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_llm_toolkit_levels.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_logging_config.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_long_term.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_memory_graph.py +3 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_model_registry.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_model_router.py +7 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_monitoring.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_multi_model_wizard.py +4 -5
- empathy_framework-3.7.0/tests/test_multi_model_wizard_boundary.py +643 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_pattern_library.py +14 -8
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_perf_audit_workflow.py +7 -8
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_performance_profiling_wizard.py +24 -25
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_persistence.py +5 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_pii_scrubber.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_pii_scrubber_extended.py +2 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_platform_compat_ci.py +2 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_platform_utils.py +14 -6
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_plugin_base.py +11 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_plugin_registry.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_pr_review.py +97 -53
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_pr_review_workflow.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_production_smoke.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_progress.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_prompt_engineering_wizard.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_protocol_checker.py +78 -22
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_protocol_loader.py +6 -7
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_provider_config.py +13 -6
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_providers.py +36 -8
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_quality_analyzer.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_redis_bootstrap.py +7 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_redis_config.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_redis_integration.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_redis_memory.py +1 -2
- empathy_framework-3.7.0/tests/test_redis_memory_errors.py +291 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_refactor_golden.py +5 -6
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_refactor_plan_workflow.py +5 -6
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_refactoring.py +3 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_refactoring_crew.py +4 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_registry.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_release_prep.py +12 -8
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_reporting.py +4 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_reports.py +4 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_resilience.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_sbar_wizard.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_scanner.py +7 -6
- empathy_framework-3.7.0/tests/test_scanner_exceptions.py +381 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_secrets_detector.py +10 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_secure_memdocs.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_secure_memdocs_extended.py +9 -8
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_secure_release.py +18 -17
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_secure_release_workflow.py +38 -25
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_security_audit.py +14 -12
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_security_audit_crew.py +4 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_security_audit_workflow.py +5 -6
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_security_crew_integration.py +26 -27
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_security_integration.py +41 -15
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_security_learning_wizard.py +3 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_security_negative_cases.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_security_scan.py +5 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_sensor_parsers.py +93 -19
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_session_status.py +7 -8
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_short_term.py +8 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_smart_router.py +5 -6
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_software_cli.py +4 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_software_integration.py +35 -41
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_software_plugin.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_software_plugin_cli.py +63 -56
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_state.py +5 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_step_config.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_summary_index.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_sync_claude.py +7 -8
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_tech_debt_wizard.py +2 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_telemetry.py +3 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_templates.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_test_suggester.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_timeout.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_token_estimator.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_trajectory_analyzer.py +13 -8
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_trust_building.py +38 -17
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_trust_circuit_breaker.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_unified_memory.py +3 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_validation.py +1 -2
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_wizard_api.py +31 -23
- empathy_framework-3.7.0/tests/test_wizard_api_integration.py +445 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_wizard_outputs.py +5 -4
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_wizard_site_comprehensive.py +4 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_workflow_base.py +11 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_workflow_commands.py +7 -8
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_workflow_wizard_integration.py +4 -5
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/tests/test_xml_prompts.py +1 -2
- empathy_framework-3.7.0/tests/test_xml_spec_generation.py +225 -0
- empathy_framework-3.5.6/empathy_framework.egg-info/requires.txt +0 -120
- empathy_framework-3.5.6/examples/coach/lsp/tests/__init__.py +0 -3
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/.bandit +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/CODE_OF_CONDUCT.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/CONTRIBUTING.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/LICENSE +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/MANIFEST.in +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/QUICKSTART.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/SECURITY.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/code_inspection/patterns/inspection/recurring_B112.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/code_inspection/patterns/inspection/recurring_F541.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/code_inspection/patterns/inspection/recurring_FORMAT.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/code_inspection/patterns/inspection/recurring_bug_20250822_def456.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/code_inspection/patterns/inspection/recurring_bug_20250915_abc123.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_3c5b9951.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_97c0f72f.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a0871d53.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a9b6ec41.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/code_inspection/patterns/inspection/recurring_bug_null_001.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/agents/code_inspection/patterns/inspection/recurring_builtin.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/api-reference/ai-wizards.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/api-reference/config.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/api-reference/core.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/api-reference/empathy-os.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/api-reference/index.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/api-reference/llm-toolkit.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/api-reference/multi-agent.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/api-reference/pattern-library.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/api-reference/persistence.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/api-reference/software-wizards.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/api-reference/wizards.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/examples/adaptive-learning-system.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/examples/multi-agent-team-coordination.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/examples/sbar-clinical-handoff.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/examples/simple-chatbot.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/examples/webhook-event-integration.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/getting-started/redis-setup.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/DISTRIBUTION_POLICY.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/MCP_PUBLISH_INSTRUCTIONS.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/MKDOCS_TUTORIAL.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/PUBLISHING.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/WORKFLOW_PATTERNS.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/claude-memory-integration.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/foreword.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/healthcare-wizards.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/how-to-read-this-book.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/multi-model-workflows.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/pattern-catalog.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/preface.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/software-development-wizards.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/guides/trust-circuit-breaker.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/docs/index.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy.config.example.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy.config.example.yml +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_framework.egg-info/dependency_links.txt +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_framework.egg-info/entry_points.txt +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_framework.egg-info/top_level.txt +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_healthcare_plugin/protocols/cardiac.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_healthcare_plugin/protocols/post_operative.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_healthcare_plugin/protocols/respiratory.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_healthcare_plugin/protocols/sepsis.json +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_llm_toolkit/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/empathy_software_plugin/SOFTWARE_PLUGIN_README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/WIZARDS_MASTER_GUIDE.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/WIZARD_DASHBOARD_IMPLEMENTATION.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/WIZARD_DASHBOARD_STATE_MANAGEMENT.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/WIZARD_DASHBOARD_WIREFRAMES.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/claude_memory/README-SECURITY.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/claude_memory/enterprise-CLAUDE-secure.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/claude_memory/example-with-imports.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/claude_memory/project-CLAUDE.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/claude_memory/user-CLAUDE.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/ALL_DOCUMENTATION_COMPLETE.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/ALPHA_TESTER_RECRUITMENT.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/CHANGELOG.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/COMPLETE_IMPLEMENTATION_REPORT.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/CONTRIBUTING.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/DISCORD_SETUP_GUIDE.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/DOCUMENTATION_COMPLETE.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/FINAL_DELIVERABLES_SUMMARY.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/IDE_INTEGRATION_PLAN.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/IDE_INTEGRATION_SETUP_COMPLETE.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/IMPLEMENTATION_COMPLETE.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/JETBRAINS_PLUGIN_COMPLETE.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/MARKETPLACE_READINESS.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/PHASE_1_COMPLETE_AND_NEXT_STEPS.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/PRIVACY.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/TODO.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/VSCODE_EXTENSION_COMPLETE.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/WIZARD_IMPLEMENTATION_COMPLETE.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/coach-lsp-server/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/docs/API.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/docs/CUSTOM_WIZARDS.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/docs/FAQ.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/docs/INSTALLATION.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/docs/TROUBLESHOOTING.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/docs/USER_MANUAL.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/docs/WIZARDS.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/jetbrains-plugin/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/jetbrains-plugin-complete/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/lsp/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/setup/DISCORD_SETUP_INSTRUCTIONS.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/setup/GITHUB_SETUP_GUIDE.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/setup/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/setup/SETUP_COMPLETE.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/tests/__init__.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/vscode-extension/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/coach/vscode-extension-complete/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/level_5_transformative/BLOG_POST.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/level_5_transformative/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/quickstart/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/wizard-dashboard/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/wizard-dashboard/SETUP.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/examples/workflows/README.md +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/requirements.txt +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/setup.cfg +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/__init__.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/admission_assessment_wizard.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/care_plan.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/clinical_assessment.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/discharge_planning.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/discharge_summary_wizard.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/dosage_calculation.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/incident_report_wizard.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/medication_reconciliation.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/nursing_assessment.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/patient_education.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/quality_improvement.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/sbar_report.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/sbar_wizard.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/shift_handoff_wizard.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/soap_note_wizard.py +0 -0
- {empathy_framework-3.5.6 → empathy_framework-3.7.0}/wizards/treatment_plan.py +0 -0
|
@@ -5,11 +5,221 @@ All notable changes to the Empathy Framework will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [3.
|
|
8
|
+
## [3.7.0] - 2026-01-05
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
#### 🚀 XML-Enhanced Prompting System
|
|
13
|
+
|
|
14
|
+
##### Context Window Optimization ✅ Production Ready (`src/empathy_os/optimization/`)
|
|
15
|
+
|
|
16
|
+
- **15-35% token reduction** depending on compression level (LIGHT/MODERATE/AGGRESSIVE)
|
|
17
|
+
- **Tag compression**: `<thinking>` → `<t>`, `<answer>` → `<a>` with 15+ common tags
|
|
18
|
+
- **Whitespace optimization**: Remove excess whitespace while preserving structure
|
|
19
|
+
- **Comment removal**: Strip XML comments from prompts
|
|
20
|
+
- **Redundancy elimination**: Remove common redundant phrases ("Please note that", "Make sure to", etc.)
|
|
21
|
+
- **Bidirectional compression**: Full decompression support to restore original tag names
|
|
22
|
+
- **32 comprehensive tests** covering all compression scenarios
|
|
23
|
+
- **Integration tested**: End-to-end validation confirms 49.7% reduction in real workflows
|
|
24
|
+
|
|
25
|
+
##### XML Validation System ✅ Production Ready (`src/empathy_os/validation/`)
|
|
26
|
+
|
|
27
|
+
- **Well-formedness validation**: Parse and validate XML structure
|
|
28
|
+
- **Graceful fallback parsing**: Regex-based extraction when XML is malformed
|
|
29
|
+
- **Optional XSD schema validation**: Full schema validation with lxml support
|
|
30
|
+
- **Schema caching**: Performance optimization for repeated validations
|
|
31
|
+
- **Strict/non-strict modes**: Flexible error handling for different use cases
|
|
32
|
+
- **ValidationResult dataclass**: Structured results with `is_valid`, `parsed_data`, `fallback_used` flags
|
|
33
|
+
- **25 comprehensive tests** covering validation, fallback, XSD, and edge cases
|
|
34
|
+
- **Sample XSD schema**: Included in `.empathy/schemas/agent_response.xsd`
|
|
35
|
+
|
|
36
|
+
##### Workflow Migration Guide 📚 Documentation (`XML_WORKFLOW_MIGRATION_GUIDE.md`)
|
|
37
|
+
|
|
38
|
+
- **XMLAgent/XMLTask patterns**: Clear examples for converting workflows
|
|
39
|
+
- **Before/after code samples**: Real-world migration examples
|
|
40
|
+
- **Configuration options**: XML enablement via `config.xml.use_xml_structure`
|
|
41
|
+
- **Best practices**: Guidelines for structured prompts and response parsing
|
|
42
|
+
- **Benefits quantified**: 40-60% fewer misinterpretations, 20-30% fewer retries
|
|
43
|
+
|
|
44
|
+
#### 📊 Metrics & Robustness Improvements
|
|
45
|
+
|
|
46
|
+
##### Enhanced Test Coverage ✅ 143 Additional Tests
|
|
47
|
+
|
|
48
|
+
- **Metrics system tests**: 29 tests for response validation and error tracking
|
|
49
|
+
- **Edge case coverage**: Boundary conditions, malformed input, concurrent access
|
|
50
|
+
- **Integration scenarios**: End-to-end workflow testing
|
|
51
|
+
- **Total test count**: 229 new tests (100% passing)
|
|
52
|
+
|
|
53
|
+
### Changed
|
|
54
|
+
|
|
55
|
+
#### XML Enhancement Integration
|
|
56
|
+
|
|
57
|
+
- Code review workflow already has XML infrastructure (`_is_xml_enabled`, `_render_xml_prompt`, `_parse_xml_response`)
|
|
58
|
+
- All new workflows can adopt XMLAgent/XMLTask patterns via migration guide
|
|
59
|
+
- Backward compatible: XML enhancement is opt-in via configuration
|
|
60
|
+
|
|
61
|
+
### Performance
|
|
62
|
+
|
|
63
|
+
#### Token Cost Reduction
|
|
64
|
+
|
|
65
|
+
- **LIGHT compression**: 5-10% reduction (whitespace + comments only)
|
|
66
|
+
- **MODERATE compression**: 15-25% reduction (+ tag compression + redundancy removal)
|
|
67
|
+
- **AGGRESSIVE compression**: 25-35% reduction (+ article removal + abbreviations)
|
|
68
|
+
- **Real-world impact**: Integration test achieved 49.7% reduction on typical prompt
|
|
69
|
+
|
|
70
|
+
### Tests
|
|
71
|
+
|
|
72
|
+
#### Comprehensive Test Coverage for XML Enhancements
|
|
73
|
+
|
|
74
|
+
- Added **86 XML enhancement tests** (100% passing):
|
|
75
|
+
- 32 context optimization tests
|
|
76
|
+
- 25 XML validation tests
|
|
77
|
+
- 29 metrics system tests
|
|
78
|
+
- Added **143 robustness tests** for edge cases and error handling
|
|
79
|
+
- **4/4 integration tests passed**: Optimization, validation, round-trip, end-to-end
|
|
80
|
+
- Total: **229 new tests** added in this release
|
|
81
|
+
|
|
82
|
+
### Documentation
|
|
83
|
+
|
|
84
|
+
#### New Documentation
|
|
85
|
+
|
|
86
|
+
- `XML_WORKFLOW_MIGRATION_GUIDE.md` - Complete migration guide with examples
|
|
87
|
+
- `XML_ENHANCEMENT_IMPLEMENTATION_SUMMARY.md` - Implementation status and deliverables
|
|
88
|
+
- `.empathy/schemas/agent_response.xsd` - Sample XSD schema for validation
|
|
89
|
+
|
|
90
|
+
## [3.6.0] - 2026-01-04
|
|
9
91
|
|
|
10
92
|
### Added
|
|
11
93
|
|
|
12
|
-
####
|
|
94
|
+
#### 🔐 Backend Security & Compliance Infrastructure
|
|
95
|
+
|
|
96
|
+
**Secure Authentication System** ✅ **Deployed in Backend API** (`backend/services/auth_service.py`, `backend/services/database/auth_db.py`)
|
|
97
|
+
- **Bcrypt password hashing** with cost factor 12 (industry standard for 2026)
|
|
98
|
+
- **JWT token generation** (HS256, 30-minute expiration)
|
|
99
|
+
- **Rate limiting**: 5 failed login attempts = 15-minute account lockout
|
|
100
|
+
- **Thread-safe SQLite database** with automatic cleanup and connection pooling
|
|
101
|
+
- **Complete auth flow**: User registration, login, token refresh, password verification
|
|
102
|
+
- **18 comprehensive security tests** covering all attack vectors
|
|
103
|
+
- **Integration status**: Fully integrated into `backend/api/wizard_api.py` - production ready
|
|
104
|
+
|
|
105
|
+
**Healthcare Compliance Database** 🛠️ **Infrastructure Ready** (`agents/compliance_db.py`)
|
|
106
|
+
- **Append-only architecture** (INSERT only, no UPDATE/DELETE) for regulatory compliance
|
|
107
|
+
- **HIPAA/GDPR compliant** immutable audit trail
|
|
108
|
+
- **Audit recording** with risk scoring, findings tracking, and auditor attribution
|
|
109
|
+
- **Compliance gap detection** with severity classification (critical/high/medium/low)
|
|
110
|
+
- **Status monitoring** across multiple frameworks (HIPAA, GDPR, SOC2, etc.)
|
|
111
|
+
- **Thread-safe operations** with context managers and automatic rollback
|
|
112
|
+
- **12 comprehensive tests** ensuring regulatory compliance and append-only semantics
|
|
113
|
+
- **Integration status**: Production-ready with documented integration points. See `agents/compliance_anticipation_agent.py` for usage examples.
|
|
114
|
+
|
|
115
|
+
**Multi-Channel Notification System** 🛠️ **Infrastructure Ready** (`agents/notifications.py`)
|
|
116
|
+
- **Email notifications** via SMTP with HTML support and customizable templates
|
|
117
|
+
- **Slack webhooks** with rich block formatting and severity-based emojis
|
|
118
|
+
- **SMS via Twilio** for critical/high severity alerts only (cost optimization)
|
|
119
|
+
- **Graceful fallback** when notification channels are unavailable
|
|
120
|
+
- **Environment-based configuration** (SMTP_*, SLACK_*, TWILIO_* variables)
|
|
121
|
+
- **Compliance alert routing** with multi-channel delivery and recipient management
|
|
122
|
+
- **10 tests** covering all notification scenarios and failure modes
|
|
123
|
+
- **Integration status**: Production-ready with documented integration points. See TODOs in `agents/compliance_anticipation_agent.py` for usage examples.
|
|
124
|
+
|
|
125
|
+
#### 💡 Developer Experience Improvements
|
|
126
|
+
|
|
127
|
+
**Enhanced Error Messages for Plugin Authors**
|
|
128
|
+
- Improved `NotImplementedError` messages in 5 base classes:
|
|
129
|
+
- `BaseLinterParser` - Clear guidance on implementing parse() method
|
|
130
|
+
- `BaseConfigLoader` - Examples for load() and find_config() methods
|
|
131
|
+
- `BaseFixApplier` - Guidance for can_autofix(), apply_fix(), and suggest_manual_fix()
|
|
132
|
+
- `BaseProfilerParser` - Instructions for profiler output parsing
|
|
133
|
+
- `BaseSensorParser` - Healthcare sensor data parsing guidance
|
|
134
|
+
- All errors now show:
|
|
135
|
+
- Exact method name to implement
|
|
136
|
+
- Which class to subclass
|
|
137
|
+
- Concrete implementation examples to reference
|
|
138
|
+
|
|
139
|
+
**Documented Integration Points**
|
|
140
|
+
- Enhanced 9 TODO comments with implementation references:
|
|
141
|
+
- **4 compliance database integration points** → Reference to `ComplianceDatabase` class
|
|
142
|
+
- **3 notification system integration points** → Reference to `NotificationService` class
|
|
143
|
+
- **1 document storage recommendation** → S3/Azure/SharePoint with HIPAA requirements
|
|
144
|
+
- **1 MemDocs integration decision** → Documented why local cache is appropriate
|
|
145
|
+
- Each TODO now includes:
|
|
146
|
+
- "Integration point" label for clarity
|
|
147
|
+
- "IMPLEMENTATION AVAILABLE" tag with file reference
|
|
148
|
+
- Exact API usage examples
|
|
149
|
+
- Architectural rationale
|
|
150
|
+
|
|
151
|
+
### Changed
|
|
152
|
+
|
|
153
|
+
**Backend Authentication** - Production-Ready Implementation
|
|
154
|
+
- Replaced mock authentication with real bcrypt password hashing
|
|
155
|
+
- Real JWT tokens replace hardcoded "mock_token_123"
|
|
156
|
+
- Rate limiting prevents brute force attacks
|
|
157
|
+
- Thread-safe database replaces in-memory storage
|
|
158
|
+
|
|
159
|
+
### Dependencies
|
|
160
|
+
|
|
161
|
+
**New Backend Dependencies**
|
|
162
|
+
- `bcrypt>=4.0.0,<5.0.0` - Secure password hashing (already installed for most users)
|
|
163
|
+
- `PyJWT[crypto]>=2.8.0` - JWT token generation (already in dependencies)
|
|
164
|
+
|
|
165
|
+
### Security
|
|
166
|
+
|
|
167
|
+
**Production-Grade Security Hardening**
|
|
168
|
+
- **Password Security**: Bcrypt with salt prevents rainbow table attacks
|
|
169
|
+
- **Token Security**: JWT with proper expiration prevents session hijacking
|
|
170
|
+
- **Rate Limiting**: Automatic account lockout prevents brute force attacks
|
|
171
|
+
- **Audit Trail**: Immutable compliance logs satisfy HIPAA/GDPR/SOC2 requirements
|
|
172
|
+
- **Input Validation**: All user inputs validated at API boundaries
|
|
173
|
+
- **Thread Safety**: Concurrent request handling with proper database locking
|
|
174
|
+
|
|
175
|
+
### Tests
|
|
176
|
+
|
|
177
|
+
**Comprehensive Test Coverage for New Features**
|
|
178
|
+
- Added **40 new tests** (100% passing):
|
|
179
|
+
- 18 authentication security tests
|
|
180
|
+
- 12 compliance database tests
|
|
181
|
+
- 10 notification system tests
|
|
182
|
+
- Test coverage includes:
|
|
183
|
+
- Edge cases and boundary conditions
|
|
184
|
+
- Security attack scenarios (injection, brute force, token expiration)
|
|
185
|
+
- Error conditions and graceful degradation
|
|
186
|
+
- Concurrent access patterns
|
|
187
|
+
- **Total test suite**: 5,941 tests (up from 5,901)
|
|
188
|
+
|
|
189
|
+
### Documentation
|
|
190
|
+
|
|
191
|
+
**Integration Documentation**
|
|
192
|
+
- Compliance anticipation agent now references real implementations
|
|
193
|
+
- Book production agent documents MemDocs decision
|
|
194
|
+
- All integration TODOs link to actual code examples
|
|
195
|
+
- Clear architectural decisions documented inline
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## [3.5.5] - 2026-01-01
|
|
200
|
+
|
|
201
|
+
#### CLI Enhancements
|
|
202
|
+
|
|
203
|
+
- **Ship Command Options**: Added `--tests-only` and `--security-only` flags to `empathy ship`
|
|
204
|
+
- `empathy ship --tests-only` - Run only test suite
|
|
205
|
+
- `empathy ship --security-only` - Run only security checks (bandit, secrets, sensitive files)
|
|
206
|
+
|
|
207
|
+
#### XML-Enhanced Prompts
|
|
208
|
+
|
|
209
|
+
- **SocraticFormService**: Enhanced all form prompts with structured XML format
|
|
210
|
+
- Includes role, goal, instructions, constraints, and output format
|
|
211
|
+
- Better structured prompts for plan-refinement, workflow-customization, and learning-mode
|
|
212
|
+
|
|
213
|
+
### Fixed
|
|
214
|
+
|
|
215
|
+
- **Code Review Workflow**: Now gathers project context (pyproject.toml, README, directory structure) when run with "." as target instead of showing confusing error
|
|
216
|
+
- **Lint Warnings**: Fixed ambiguous variable names `l` → `line` in workflow_commands.py
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## [3.5.4] - 2025-12-29
|
|
221
|
+
|
|
222
|
+
### Added - Test Suite Expansion
|
|
13
223
|
|
|
14
224
|
- Added 30+ new test files with comprehensive coverage
|
|
15
225
|
- New test modules:
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: empathy-framework
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.7.0
|
|
4
4
|
Summary: AI collaboration framework with persistent memory, anticipatory intelligence, code inspection, and multi-agent orchestration
|
|
5
|
-
Author-email: Patrick Roebuck <
|
|
6
|
-
Maintainer-email: Smart-AI-Memory <
|
|
5
|
+
Author-email: Patrick Roebuck <admin@smartaimemory.com>
|
|
6
|
+
Maintainer-email: Smart-AI-Memory <admin@smartaimemory.com>
|
|
7
7
|
License: # Fair Source License, version 0.9
|
|
8
8
|
|
|
9
9
|
**Copyright © 2025 Deep Study AI, LLC**
|
|
@@ -175,26 +175,44 @@ Requires-Dist: defusedxml<1.0.0,>=0.7.0
|
|
|
175
175
|
Requires-Dist: rich<14.0.0,>=13.0.0
|
|
176
176
|
Requires-Dist: typer<1.0.0,>=0.9.0
|
|
177
177
|
Provides-Extra: anthropic
|
|
178
|
-
Requires-Dist: anthropic<1.0.0,>=0.
|
|
178
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "anthropic"
|
|
179
179
|
Provides-Extra: openai
|
|
180
|
-
Requires-Dist: openai<2.0.0,>=1.
|
|
180
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "openai"
|
|
181
181
|
Provides-Extra: google
|
|
182
|
-
Requires-Dist: google-generativeai<1.0.0,>=0.
|
|
182
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "google"
|
|
183
183
|
Provides-Extra: llm
|
|
184
|
-
Requires-Dist: anthropic<1.0.0,>=0.
|
|
185
|
-
Requires-Dist: openai<2.0.0,>=1.
|
|
186
|
-
Requires-Dist: google-generativeai<1.0.0,>=0.
|
|
184
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "llm"
|
|
185
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "llm"
|
|
186
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "llm"
|
|
187
187
|
Provides-Extra: memdocs
|
|
188
188
|
Requires-Dist: memdocs>=1.0.0; extra == "memdocs"
|
|
189
189
|
Provides-Extra: agents
|
|
190
|
-
Requires-Dist: langchain<0.
|
|
191
|
-
Requires-Dist: langchain-core<0.
|
|
192
|
-
Requires-Dist:
|
|
190
|
+
Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "agents"
|
|
191
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "agents"
|
|
192
|
+
Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "agents"
|
|
193
|
+
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "agents"
|
|
194
|
+
Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "agents"
|
|
195
|
+
Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "agents"
|
|
193
196
|
Provides-Extra: crewai
|
|
194
197
|
Requires-Dist: crewai<1.0.0,>=0.1.0; extra == "crewai"
|
|
195
198
|
Provides-Extra: healthcare
|
|
199
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "healthcare"
|
|
200
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "healthcare"
|
|
201
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "healthcare"
|
|
202
|
+
Requires-Dist: memdocs>=1.0.0; extra == "healthcare"
|
|
203
|
+
Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "healthcare"
|
|
204
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "healthcare"
|
|
205
|
+
Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "healthcare"
|
|
206
|
+
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "healthcare"
|
|
207
|
+
Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "healthcare"
|
|
208
|
+
Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "healthcare"
|
|
196
209
|
Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "healthcare"
|
|
197
210
|
Requires-Dist: pyyaml<7.0,>=6.0; extra == "healthcare"
|
|
211
|
+
Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "healthcare"
|
|
212
|
+
Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "healthcare"
|
|
213
|
+
Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "healthcare"
|
|
214
|
+
Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "healthcare"
|
|
215
|
+
Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "healthcare"
|
|
198
216
|
Requires-Dist: redis<6.0.0,>=5.0.0; extra == "healthcare"
|
|
199
217
|
Provides-Extra: software
|
|
200
218
|
Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "software"
|
|
@@ -203,6 +221,7 @@ Provides-Extra: backend
|
|
|
203
221
|
Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "backend"
|
|
204
222
|
Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "backend"
|
|
205
223
|
Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "backend"
|
|
224
|
+
Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "backend"
|
|
206
225
|
Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "backend"
|
|
207
226
|
Provides-Extra: lsp
|
|
208
227
|
Requires-Dist: pygls<2.0.0,>=1.0.0; extra == "lsp"
|
|
@@ -227,29 +246,68 @@ Requires-Dist: bandit<2.0,>=1.7; extra == "dev"
|
|
|
227
246
|
Requires-Dist: pre-commit<4.0,>=3.0; extra == "dev"
|
|
228
247
|
Requires-Dist: httpx<1.0.0,>=0.27.0; extra == "dev"
|
|
229
248
|
Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "dev"
|
|
249
|
+
Provides-Extra: developer
|
|
250
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "developer"
|
|
251
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "developer"
|
|
252
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "developer"
|
|
253
|
+
Requires-Dist: memdocs>=1.0.0; extra == "developer"
|
|
254
|
+
Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "developer"
|
|
255
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "developer"
|
|
256
|
+
Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "developer"
|
|
257
|
+
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "developer"
|
|
258
|
+
Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "developer"
|
|
259
|
+
Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "developer"
|
|
260
|
+
Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "developer"
|
|
261
|
+
Requires-Dist: pyyaml<7.0,>=6.0; extra == "developer"
|
|
262
|
+
Provides-Extra: enterprise
|
|
263
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "enterprise"
|
|
264
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "enterprise"
|
|
265
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "enterprise"
|
|
266
|
+
Requires-Dist: memdocs>=1.0.0; extra == "enterprise"
|
|
267
|
+
Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "enterprise"
|
|
268
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "enterprise"
|
|
269
|
+
Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "enterprise"
|
|
270
|
+
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "enterprise"
|
|
271
|
+
Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "enterprise"
|
|
272
|
+
Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "enterprise"
|
|
273
|
+
Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "enterprise"
|
|
274
|
+
Requires-Dist: pyyaml<7.0,>=6.0; extra == "enterprise"
|
|
275
|
+
Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "enterprise"
|
|
276
|
+
Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "enterprise"
|
|
277
|
+
Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "enterprise"
|
|
278
|
+
Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "enterprise"
|
|
279
|
+
Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "enterprise"
|
|
230
280
|
Provides-Extra: full
|
|
231
|
-
Requires-Dist: anthropic<1.0.0,>=0.
|
|
232
|
-
Requires-Dist: openai<2.0.0,>=1.
|
|
233
|
-
Requires-Dist: google-generativeai<1.0.0,>=0.
|
|
281
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "full"
|
|
282
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "full"
|
|
283
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "full"
|
|
234
284
|
Requires-Dist: memdocs>=1.0.0; extra == "full"
|
|
235
|
-
Requires-Dist: langchain<0.
|
|
236
|
-
Requires-Dist: langchain-core<0.
|
|
237
|
-
Requires-Dist:
|
|
285
|
+
Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "full"
|
|
286
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "full"
|
|
287
|
+
Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "full"
|
|
288
|
+
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "full"
|
|
289
|
+
Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "full"
|
|
290
|
+
Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "full"
|
|
238
291
|
Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "full"
|
|
239
292
|
Requires-Dist: pyyaml<7.0,>=6.0; extra == "full"
|
|
240
293
|
Provides-Extra: all
|
|
241
|
-
Requires-Dist: anthropic<1.0.0,>=0.
|
|
242
|
-
Requires-Dist: openai<2.0.0,>=1.
|
|
243
|
-
Requires-Dist: google-generativeai<1.0.0,>=0.
|
|
294
|
+
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "all"
|
|
295
|
+
Requires-Dist: openai<2.0.0,>=1.12.0; extra == "all"
|
|
296
|
+
Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "all"
|
|
244
297
|
Requires-Dist: memdocs>=1.0.0; extra == "all"
|
|
245
|
-
Requires-Dist: langchain<0.
|
|
246
|
-
Requires-Dist: langchain-core<0.
|
|
247
|
-
Requires-Dist:
|
|
298
|
+
Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "all"
|
|
299
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "all"
|
|
300
|
+
Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "all"
|
|
301
|
+
Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "all"
|
|
302
|
+
Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "all"
|
|
303
|
+
Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "all"
|
|
248
304
|
Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "all"
|
|
249
305
|
Requires-Dist: pyyaml<7.0,>=6.0; extra == "all"
|
|
250
306
|
Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "all"
|
|
251
307
|
Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "all"
|
|
252
308
|
Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "all"
|
|
309
|
+
Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "all"
|
|
310
|
+
Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "all"
|
|
253
311
|
Requires-Dist: pygls<2.0.0,>=1.0.0; extra == "all"
|
|
254
312
|
Requires-Dist: lsprotocol<2024.0.0,>=2023.0.0; extra == "all"
|
|
255
313
|
Requires-Dist: colorama<1.0.0,>=0.4.6; extra == "all"
|
|
@@ -278,18 +336,136 @@ Dynamic: license-file
|
|
|
278
336
|
**The AI collaboration framework that predicts problems before they happen.**
|
|
279
337
|
|
|
280
338
|
[](https://pypi.org/project/empathy-framework/)
|
|
281
|
-
[](https://github.com/Smart-AI-Memory/empathy-framework/actions)
|
|
282
340
|
[](https://github.com/Smart-AI-Memory/empathy-framework)
|
|
283
341
|
[](LICENSE)
|
|
284
342
|
[](https://www.python.org)
|
|
285
343
|
|
|
286
344
|
```bash
|
|
287
|
-
pip install empathy-framework[
|
|
345
|
+
pip install empathy-framework[developer] # Lightweight for individual developers
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
## What's New in v3.7.0
|
|
349
|
+
|
|
350
|
+
### 🚀 **XML-Enhanced Prompting: 15-35% Token Reduction + Graceful Validation**
|
|
351
|
+
|
|
352
|
+
**Slash your API costs and eliminate response parsing errors with production-ready XML enhancements.**
|
|
353
|
+
|
|
354
|
+
#### Context Window Optimization — **Save 15-35% on Every Request**
|
|
355
|
+
|
|
356
|
+
```python
|
|
357
|
+
from empathy_os.optimization import ContextOptimizer, CompressionLevel
|
|
358
|
+
|
|
359
|
+
optimizer = ContextOptimizer(CompressionLevel.MODERATE)
|
|
360
|
+
optimized_prompt = optimizer.optimize(your_xml_prompt)
|
|
361
|
+
# Achieves 15-25% token reduction automatically
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
- **Tag compression**: `<thinking>` → `<t>`, `<answer>` → `<a>` (15+ common tags)
|
|
365
|
+
- **Whitespace optimization**: Removes excess whitespace while preserving structure
|
|
366
|
+
- **Redundancy elimination**: Strips "Please note that", "Make sure to", etc.
|
|
367
|
+
- **Real-world impact**: Integration tests achieved **49.7% reduction** on typical prompts
|
|
368
|
+
- **Bidirectional**: Full decompression to restore original tag names
|
|
369
|
+
|
|
370
|
+
#### XML Validation — **Never Crash on Malformed Responses Again**
|
|
371
|
+
|
|
372
|
+
```python
|
|
373
|
+
from empathy_os.validation import validate_xml_response
|
|
374
|
+
|
|
375
|
+
result = validate_xml_response(llm_response)
|
|
376
|
+
if result.is_valid:
|
|
377
|
+
data = result.parsed_data
|
|
378
|
+
else:
|
|
379
|
+
# Fallback extraction worked - you still get partial data
|
|
380
|
+
data = result.parsed_data or {}
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
- **Graceful fallback parsing**: Regex extraction when XML is malformed
|
|
384
|
+
- **Optional XSD validation**: Full schema validation with lxml
|
|
385
|
+
- **Schema caching**: Performance optimization for repeated validations
|
|
386
|
+
- **25 comprehensive tests**: Covers edge cases, malformed input, and XSD validation
|
|
387
|
+
|
|
388
|
+
#### Migration Made Easy
|
|
389
|
+
|
|
390
|
+
See [XML_WORKFLOW_MIGRATION_GUIDE.md](XML_WORKFLOW_MIGRATION_GUIDE.md) for complete migration guide with:
|
|
391
|
+
|
|
392
|
+
- XMLAgent/XMLTask patterns with before/after examples
|
|
393
|
+
- Configuration options (`config.xml.use_xml_structure`)
|
|
394
|
+
- Benefits: **40-60% fewer misinterpretations**, **20-30% fewer retries**
|
|
395
|
+
|
|
396
|
+
**Test Coverage**: **229 new tests** (86 XML enhancement + 143 robustness) — **100% passing**
|
|
397
|
+
|
|
398
|
+
---
|
|
399
|
+
|
|
400
|
+
## What's New in v3.6.0
|
|
401
|
+
|
|
402
|
+
### 💡 **Finally! Error Messages That Actually Help You**
|
|
403
|
+
|
|
404
|
+
**No more cryptic `NotImplementedError` when extending the framework!**
|
|
405
|
+
|
|
406
|
+
We completely rewrote error messages across **5 base classes**. Now when you're building plugins or extensions, you get:
|
|
407
|
+
|
|
408
|
+
✅ **Exactly which method** you need to implement
|
|
409
|
+
✅ **Which base class** to extend
|
|
410
|
+
✅ **Real working examples** from the codebase to copy
|
|
411
|
+
✅ **Clear explanations** of what each method should return
|
|
412
|
+
|
|
413
|
+
**Before** (frustrating 😤):
|
|
414
|
+
|
|
415
|
+
```python
|
|
416
|
+
NotImplementedError
|
|
417
|
+
# ...now what? Time to dig through source code for 30 minutes
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
**After** (helpful 🎯):
|
|
421
|
+
|
|
422
|
+
```python
|
|
423
|
+
NotImplementedError: BaseLinterParser.parse() must be implemented.
|
|
424
|
+
Create a subclass of BaseLinterParser and implement the parse() method.
|
|
425
|
+
See ESLintParser, PylintParser, or MyPyParser for examples.
|
|
426
|
+
# Perfect! Now I know exactly what to do
|
|
288
427
|
```
|
|
289
428
|
|
|
290
|
-
|
|
429
|
+
#### Plus: 9 Integration TODOs Now Link to Working Code
|
|
430
|
+
|
|
431
|
+
- **Want to add compliance tracking?** → See `ComplianceDatabase` class (agents/compliance_db.py)
|
|
432
|
+
- **Need multi-channel notifications?** → See `NotificationService` class (agents/notifications.py)
|
|
433
|
+
- **Wondering about MemDocs integration?** → We documented why local cache works better (with rationale)
|
|
434
|
+
- **Need secure document storage?** → S3/Azure/SharePoint recommendations with HIPAA requirements
|
|
435
|
+
|
|
436
|
+
**Impact**: Onboard new contributors in **minutes instead of hours**. Build your first plugin in **one sitting**.
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
### 🔐 Production-Grade Security & Compliance
|
|
441
|
+
|
|
442
|
+
#### Secure Authentication System ✅ *Deployed in Backend API*
|
|
291
443
|
|
|
292
|
-
|
|
444
|
+
- **Bcrypt password hashing** with cost factor 12 (industry standard 2026)
|
|
445
|
+
- **JWT tokens** with 30-minute expiration and automatic refresh
|
|
446
|
+
- **Rate limiting**: 5 failed attempts = 15-minute lockout (prevents brute force)
|
|
447
|
+
- **18 comprehensive security tests** covering all attack vectors
|
|
448
|
+
- **Status**: Fully integrated into `backend/api/wizard_api.py`
|
|
449
|
+
|
|
450
|
+
#### HIPAA/GDPR Compliance Database 🛠️ *Infrastructure Ready*
|
|
451
|
+
|
|
452
|
+
- **Append-only architecture** (INSERT only, no UPDATE/DELETE) - satisfies regulators
|
|
453
|
+
- **Immutable audit trail** for healthcare and enterprise compliance
|
|
454
|
+
- **Compliance gap detection** with severity classification
|
|
455
|
+
- **12 tests** ensuring regulatory compliance
|
|
456
|
+
- **Status**: Production-ready code with [integration points documented](agents/compliance_db.py). See [compliance_anticipation_agent.py](agents/compliance_anticipation_agent.py) for usage examples.
|
|
457
|
+
|
|
458
|
+
#### Multi-Channel Notification System 🛠️ *Infrastructure Ready*
|
|
459
|
+
|
|
460
|
+
- **Email** (SMTP), **Slack** (webhooks), **SMS** (Twilio)
|
|
461
|
+
- **Graceful fallback** when channels unavailable
|
|
462
|
+
- **Smart routing**: SMS only for critical alerts (cost optimization)
|
|
463
|
+
- **10 tests** covering all notification scenarios
|
|
464
|
+
- **Status**: Production-ready code with [integration points documented](agents/notifications.py). See TODOs in compliance agent for usage examples.
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
468
|
+
### Previous: Project Indexing & Test Suite Expansion (v3.5.4)
|
|
293
469
|
|
|
294
470
|
- **Project Indexing System** — JSON-based file tracking with automatic structure scanning, metadata tracking, and CrewAI integration
|
|
295
471
|
- **5,603 Tests** — Comprehensive test coverage at 64% with 30+ new test modules
|
|
@@ -336,10 +512,37 @@ pip install empathy-framework[full]
|
|
|
336
512
|
|
|
337
513
|
### 1. Install
|
|
338
514
|
|
|
515
|
+
**Individual Developers (Recommended):**
|
|
516
|
+
|
|
339
517
|
```bash
|
|
340
|
-
pip install empathy-framework[
|
|
518
|
+
pip install empathy-framework[developer]
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
**Teams/Enterprises (Backend + Auth):**
|
|
522
|
+
|
|
523
|
+
```bash
|
|
524
|
+
pip install empathy-framework[enterprise]
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
**Healthcare Organizations (HIPAA/GDPR Compliance):**
|
|
528
|
+
|
|
529
|
+
```bash
|
|
530
|
+
pip install empathy-framework[healthcare]
|
|
341
531
|
```
|
|
342
532
|
|
|
533
|
+
<details>
|
|
534
|
+
<summary><b>What's the difference?</b></summary>
|
|
535
|
+
|
|
536
|
+
- **`[developer]`** - Lightweight install for individual developers. Includes CLI tools, VSCode extension, LLM providers, agents. **No backend server needed.**
|
|
537
|
+
|
|
538
|
+
- **`[enterprise]`** - Everything in `[developer]` plus backend API server with authentication (bcrypt, JWT, rate limiting). For teams deploying to production.
|
|
539
|
+
|
|
540
|
+
- **`[healthcare]`** - Everything in `[enterprise]` plus HIPAA/GDPR compliance database, redis, and healthcare-specific plugins. Only needed for regulated industries.
|
|
541
|
+
|
|
542
|
+
**Most developers should use `[developer]`** - it's fast to install and has everything you need for software development.
|
|
543
|
+
|
|
544
|
+
</details>
|
|
545
|
+
|
|
343
546
|
### 2. Configure Provider
|
|
344
547
|
|
|
345
548
|
```bash
|
|
@@ -387,9 +590,10 @@ print(result.prevention_steps) # How to prevent it
|
|
|
387
590
|
### Level 1: Basic Usage
|
|
388
591
|
|
|
389
592
|
```bash
|
|
390
|
-
pip install empathy-framework
|
|
593
|
+
pip install empathy-framework[developer]
|
|
391
594
|
```
|
|
392
595
|
|
|
596
|
+
- Lightweight install with CLI tools, LLM providers, and agents
|
|
393
597
|
- Works out of the box with sensible defaults
|
|
394
598
|
- Auto-detects your API keys
|
|
395
599
|
|