empathy-framework 3.9.2__tar.gz → 3.10.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/CHANGELOG.md +185 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/PKG-INFO +37 -5
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/README.md +35 -3
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_framework.egg-info/PKG-INFO +37 -5
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_framework.egg-info/SOURCES.txt +2 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_framework.egg-info/requires.txt +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/crews/health_check.py +36 -29
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/advanced_debugging_wizard.py +9 -6
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/debugging/config_loaders.py +6 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/debugging/language_patterns.py +4 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/debugging/linter_parsers.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/performance/profiler_parsers.py +7 -7
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/security/vulnerability_scanner.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/security_analysis_wizard.py +2 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/testing/quality_analyzer.py +3 -9
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/testing/test_suggester.py +1 -1
- empathy_framework-3.10.1/examples/sonnet_opus_fallback_example.py +230 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/pyproject.toml +14 -4
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/__init__.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/cache/hybrid.py +69 -9
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/cli.py +183 -18
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/cli_unified.py +113 -4
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/config.py +7 -4
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/hot_reload/integration.py +2 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/hot_reload/watcher.py +8 -4
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/hot_reload/websocket.py +2 -1
- empathy_framework-3.10.1/src/empathy_os/models/telemetry.py +1446 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/test_generator/generator.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/tier_recommender.py +3 -3
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/base.py +5 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/health_check.py +37 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/new_sample_workflow1.py +3 -3
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/tier_tracking.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_bug_predict_workflow.py +2 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_code_review_pipeline.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_code_review_pipeline_workflow.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_code_review_workflow.py +2 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_control_panel_security.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_dependency_check_workflow.py +2 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_document_gen_workflow.py +2 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_exceptions.py +1 -1
- empathy_framework-3.10.1/tests/test_fallback_suite.py +668 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_health_check_workflow.py +7 -7
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_perf_audit_workflow.py +2 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_platform_utils.py +2 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_plugin_base.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_plugin_registry.py +2 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_pr_review_workflow.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_progress.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_refactor_plan_workflow.py +2 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_release_prep.py +3 -3
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_secure_release.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_secure_release_workflow.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_security_audit.py +2 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_security_audit_workflow.py +2 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_step_config.py +2 -2
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_token_estimator.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_workflow_base.py +1 -1
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_workflow_commands.py +1 -1
- empathy_framework-3.9.2/src/empathy_os/models/telemetry.py +0 -548
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/.bandit +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/CODE_OF_CONDUCT.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/CONTRIBUTING.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/LICENSE +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/MANIFEST.in +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/QUICKSTART.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/SECURITY.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/agents/code_inspection/patterns/inspection/recurring_B112.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/agents/code_inspection/patterns/inspection/recurring_F541.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/agents/code_inspection/patterns/inspection/recurring_FORMAT.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/agents/code_inspection/patterns/inspection/recurring_bug_20250822_def456.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/agents/code_inspection/patterns/inspection/recurring_bug_20250915_abc123.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_3c5b9951.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_97c0f72f.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a0871d53.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/agents/code_inspection/patterns/inspection/recurring_bug_20251212_a9b6ec41.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/agents/code_inspection/patterns/inspection/recurring_bug_null_001.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/agents/code_inspection/patterns/inspection/recurring_builtin.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/accessibility_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/api_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/base_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/cicd_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/code_reviewer_README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/code_reviewer_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/compliance_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/database_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/debugging_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/documentation_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/generate_wizards.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/localization_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/migration_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/monitoring_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/observability_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/performance_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/prompt_engineering_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/refactoring_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/scaling_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/security_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/coach_wizards/testing_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/api-reference/ai-wizards.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/api-reference/config.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/api-reference/core.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/api-reference/empathy-os.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/api-reference/index.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/api-reference/llm-toolkit.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/api-reference/multi-agent.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/api-reference/pattern-library.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/api-reference/persistence.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/api-reference/software-wizards.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/api-reference/wizards.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/examples/adaptive-learning-system.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/examples/multi-agent-team-coordination.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/examples/sbar-clinical-handoff.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/examples/simple-chatbot.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/examples/webhook-event-integration.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/getting-started/redis-setup.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/DISTRIBUTION_POLICY.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/MCP_PUBLISH_INSTRUCTIONS.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/MKDOCS_TUTORIAL.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/PUBLISHING.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/RELEASE_PREPARATION.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/WORKFLOW_PATTERNS.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/claude-memory-integration.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/crewai-integration.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/five-levels-of-empathy.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/foreword.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/healthcare-wizards.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/how-to-read-this-book.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/multi-model-workflows.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/pattern-catalog.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/preface.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/signoz-integration.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/software-development-wizards.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/teaching-ai-your-standards.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/trust-circuit-breaker.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/guides/xml-enhanced-prompts.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/docs/index.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy.config.example.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy.config.example.yml +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_framework.egg-info/dependency_links.txt +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_framework.egg-info/entry_points.txt +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_framework.egg-info/top_level.txt +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_healthcare_plugin/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_healthcare_plugin/monitors/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_healthcare_plugin/monitors/clinical_protocol_monitor.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_healthcare_plugin/monitors/monitoring/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_healthcare_plugin/monitors/monitoring/protocol_checker.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_healthcare_plugin/monitors/monitoring/protocol_loader.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_healthcare_plugin/monitors/monitoring/sensor_parsers.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_healthcare_plugin/monitors/monitoring/trajectory_analyzer.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_healthcare_plugin/protocols/cardiac.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_healthcare_plugin/protocols/post_operative.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_healthcare_plugin/protocols/respiratory.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_healthcare_plugin/protocols/sepsis.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/adapters/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/adapters/autogen_adapter.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/adapters/crewai_adapter.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/adapters/haystack_adapter.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/adapters/langchain_adapter.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/adapters/langgraph_adapter.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/adapters/native.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/adapters/wizard_adapter.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/base.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/crews/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/crews/code_review.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/crews/refactoring.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/crews/security_audit.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/decorators.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/factory.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/framework.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/memory_integration.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/agent_factory/resilient.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/claude_memory.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/cli/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/cli/sync_claude.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/code_health.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/config/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/config/unified.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/contextual_patterns.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/core.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/git_pattern_extractor.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/levels.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/pattern_confidence.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/pattern_resolver.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/pattern_summary.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/providers.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/routing/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/routing/model_router.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/security/IMPLEMENTATION_SUMMARY.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/security/PHASE2_COMPLETE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/security/PHASE2_SECRETS_DETECTOR_COMPLETE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/security/QUICK_REFERENCE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/security/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/security/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/security/audit_logger.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/security/audit_logger_example.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/security/pii_scrubber.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/security/secrets_detector.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/security/secrets_detector_example.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/security/secure_memdocs.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/security/secure_memdocs_example.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/session_status.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/state.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/wizards/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/wizards/base_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/wizards/customer_support_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/wizards/healthcare_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/wizards/patient_assessment_README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/wizards/patient_assessment_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_llm_toolkit/wizards/technology_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/SOFTWARE_PLUGIN_README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/cli/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/cli/inspect.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/cli.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/plugin.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/agent_orchestration_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/ai_collaboration_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/ai_context_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/ai_documentation_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/base_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/book_chapter_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/code_review_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/debugging/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/debugging/fix_applier.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/debugging/verification.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/enhanced_testing_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/memory_enhanced_debugging_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/multi_model_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/pattern_extraction_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/pattern_retriever_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/performance/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/performance/bottleneck_detector.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/performance/trajectory_analyzer.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/performance_profiling_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/prompt_engineering_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/rag_pattern_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/security/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/security/exploit_analyzer.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/security/owasp_patterns.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/security_learning_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/tech_debt_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/testing/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/testing/coverage_analyzer.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/empathy_software_plugin/wizards/testing_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/WIZARDS_MASTER_GUIDE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/WIZARD_DASHBOARD_IMPLEMENTATION.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/WIZARD_DASHBOARD_STATE_MANAGEMENT.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/WIZARD_DASHBOARD_WIREFRAMES.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/ai_wizards/all_ai_wizards_demo.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/ai_wizards/tests/test_ai_wizards.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/ai_wizards/tests/test_performance_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/ai_wizards/tests/test_security_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/claude_memory/README-SECURITY.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/claude_memory/enterprise-CLAUDE-secure.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/claude_memory/example-with-imports.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/claude_memory/project-CLAUDE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/claude_memory/user-CLAUDE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/ALL_DOCUMENTATION_COMPLETE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/ALPHA_TESTER_RECRUITMENT.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/CHANGELOG.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/COMPLETE_IMPLEMENTATION_REPORT.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/CONTRIBUTING.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/DISCORD_SETUP_GUIDE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/DOCUMENTATION_COMPLETE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/FINAL_DELIVERABLES_SUMMARY.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/IDE_INTEGRATION_PLAN.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/IDE_INTEGRATION_SETUP_COMPLETE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/IMPLEMENTATION_COMPLETE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/JETBRAINS_PLUGIN_COMPLETE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/MARKETPLACE_READINESS.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/PHASE_1_COMPLETE_AND_NEXT_STEPS.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/PRIVACY.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/TODO.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/VSCODE_EXTENSION_COMPLETE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/WIZARD_IMPLEMENTATION_COMPLETE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/coach-lsp-server/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/coach-lsp-server/server.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/coach.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/demo.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/demo_all_wizards.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/docs/API.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/docs/CUSTOM_WIZARDS.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/docs/FAQ.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/docs/INSTALLATION.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/docs/TROUBLESHOOTING.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/docs/USER_MANUAL.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/docs/WIZARDS.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/health_check.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/jetbrains-plugin/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/jetbrains-plugin-complete/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/lsp/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/lsp/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/lsp/cache.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/lsp/context_collector.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/lsp/error_handler.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/lsp/logging_config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/lsp/protocol/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/lsp/protocol/messages.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/lsp/server.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/lsp/tests/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/lsp/tests/test_e2e.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/lsp/tests/test_server.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/setup/DISCORD_SETUP_INSTRUCTIONS.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/setup/GITHUB_SETUP_GUIDE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/setup/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/setup/SETUP_COMPLETE.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/shared_learning.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/tests/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/tests/test_all_wizards.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/tests/test_coach_wizards.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/tests/test_new_wizards.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/vscode-extension/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/vscode-extension-complete/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/accessibility_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/api_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/base_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/compliance_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/database_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/debugging_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/design_review_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/devops_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/documentation_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/localization_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/monitoring_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/onboarding_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/performance_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/refactoring_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/retrospective_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/security_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/coach/wizards/testing_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/debugging_demo.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/domain_wizards/all_domain_wizards_demo.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/domain_wizards/healthcare_example.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/domain_wizards/tests/test_healthcare_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/level_5_transformative/BLOG_POST.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/level_5_transformative/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/level_5_transformative/data/deployment_pipeline.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/level_5_transformative/data/healthcare_handoff_code.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/level_5_transformative/run_full_demo.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/llm_toolkit_demo.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/multi_llm_usage.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/performance_demo.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/quickstart/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/quickstart/minimal_example.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/quickstart.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/redis_exploration.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/security_demo.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/security_integration_example.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/simple_usage.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/smart_team_quickstart.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/software_plugin_complete_demo.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/streamlit_debug_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/test_debugging_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/test_short_term_memory_full.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/testing_demo.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/wizard-dashboard/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/wizard-dashboard/SETUP.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/workflows/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/workflows/code_review_example.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/workflows/doc_gen_example.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/workflows/multi_model_example.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/examples/workflows/research_example.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/requirements.txt +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/setup.cfg +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/adaptive/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/adaptive/task_complexity.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/agent_monitoring.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/cache/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/cache/base.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/cache/dependency_manager.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/cache/hash_only.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/cache/storage.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/config/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/config/xml_config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/coordination.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/core.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/cost_tracker.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/dashboard/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/dashboard/server.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/discovery.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/emergence.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/exceptions.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/feedback_loops.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/hot_reload/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/hot_reload/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/hot_reload/config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/hot_reload/reloader.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/levels.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/leverage_points.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/logging_config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/claude_memory.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/control_panel.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/edges.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/graph.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/long_term.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/nodes.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/redis_bootstrap.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/security/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/security/audit_logger.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/security/pii_scrubber.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/security/secrets_detector.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/short_term.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/storage/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/summary_index.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/memory/unified.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/metrics/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/metrics/prompt_metrics.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/models/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/models/__main__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/models/cli.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/models/empathy_executor.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/models/executor.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/models/fallback.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/models/provider_config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/models/registry.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/models/tasks.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/models/token_estimator.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/models/validation.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/monitoring/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/monitoring/alerts.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/monitoring/alerts_cli.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/monitoring/multi_backend.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/monitoring/otel_backend.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/optimization/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/optimization/context_optimizer.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/pattern_library.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/patterns/debugging/all_patterns.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/patterns/debugging/workflow_20260107_1770825e.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/patterns/refactoring_memory.json +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/persistence.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/platform_utils.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/plugins/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/plugins/base.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/plugins/registry.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/project_index/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/project_index/cli.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/project_index/crew_integration.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/project_index/index.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/project_index/models.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/project_index/reports.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/project_index/scanner.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/prompts/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/prompts/config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/prompts/context.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/prompts/parser.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/prompts/registry.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/prompts/templates.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/redis_config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/redis_memory.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/resilience/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/resilience/circuit_breaker.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/resilience/fallback.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/resilience/health.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/resilience/retry.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/resilience/timeout.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/routing/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/routing/chain_executor.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/routing/classifier.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/routing/smart_router.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/routing/wizard_registry.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/scaffolding/README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/scaffolding/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/scaffolding/__main__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/scaffolding/cli.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/telemetry/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/telemetry/cli.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/telemetry/usage_tracker.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/templates.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/test_generator/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/test_generator/__main__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/test_generator/cli.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/test_generator/risk_analyzer.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/trust/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/trust/circuit_breaker.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/trust_building.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/validation/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/validation/xml_validator.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/wizard_factory_cli.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflow_commands.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflow_patterns/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflow_patterns/behavior.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflow_patterns/core.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflow_patterns/output.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflow_patterns/registry.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflow_patterns/structural.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/bug_predict.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/code_review.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/code_review_adapters.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/code_review_pipeline.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/dependency_check.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/document_gen.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/documentation_orchestrator.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/keyboard_shortcuts/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/keyboard_shortcuts/generators.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/keyboard_shortcuts/parsers.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/keyboard_shortcuts/prompts.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/keyboard_shortcuts/schema.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/keyboard_shortcuts/workflow.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/manage_documentation.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/new_sample_workflow1_README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/perf_audit.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/pr_review.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/progress.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/progress_server.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/refactor_plan.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/release_prep.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/research_synthesis.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/secure_release.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/security_adapters.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/security_audit.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/step_config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/test5.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/test5_README.md +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/test_gen.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/test_lifecycle.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/test_maintenance.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/test_maintenance_cli.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/test_maintenance_crew.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/src/empathy_os/workflows/xml_enhanced_crew.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_advanced_debugging.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_agent_factory.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_agent_factory_memory.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_agent_factory_resilience.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_agent_orchestration_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_ai_collaboration_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_all_wizards.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_audit_logger.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_audit_logger_extended.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_base.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_base_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_base_wizard_exceptions.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_baseline.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_book_chapter_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_book_production_agents.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_claude_memory.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_claude_memory_extended.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_cli.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_clinical_protocol_monitor.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_code_health.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_code_review.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_code_review_crew_integration.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_code_review_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_config_loaders.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_control_panel.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_coordination.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_core.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_core_reliability.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_cost_tracker.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_coverage_analyzer.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_crewai_adapter.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_dependency_check.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_discovery.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_document_gen.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_emergence.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_empathy_llm_core.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_empathy_llm_security.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_empathy_os.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_empathy_os_cli_extended.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_enhanced_testing.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_executor_integration.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_fallback.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_feedback_loops.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_finding_extraction.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_graph.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_health_check.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_intelligence_integration.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_levels.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_leverage_points.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_linter_parsers.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_llm_integration.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_llm_toolkit_levels.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_logging_config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_long_term.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_memory_graph.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_model_registry.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_model_router.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_monitoring.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_multi_model_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_multi_model_wizard_boundary.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_pattern_library.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_performance_profiling_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_persistence.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_pii_scrubber.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_pii_scrubber_extended.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_platform_compat_ci.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_pr_review.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_production_smoke.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_prompt_engineering_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_protocol_checker.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_protocol_loader.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_provider_config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_providers.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_quality_analyzer.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_redis_bootstrap.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_redis_config.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_redis_integration.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_redis_memory.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_redis_memory_errors.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_refactor_golden.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_refactoring.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_refactoring_crew.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_registry.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_reporting.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_reports.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_resilience.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_sbar_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_scanner.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_scanner_exceptions.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_secrets_detector.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_secure_memdocs.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_secure_memdocs_extended.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_security_audit_crew.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_security_crew_integration.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_security_integration.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_security_learning_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_security_negative_cases.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_security_scan.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_sensor_parsers.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_session_status.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_short_term.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_smart_router.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_software_cli.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_software_integration.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_software_plugin.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_software_plugin_cli.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_state.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_summary_index.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_sync_claude.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_tech_debt_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_telemetry.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_templates.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_test_suggester.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_timeout.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_trajectory_analyzer.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_trust_building.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_trust_circuit_breaker.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_unified_memory.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_validation.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_wizard_api.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_wizard_api_integration.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_wizard_outputs.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_wizard_site_comprehensive.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_workflow_wizard_integration.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_xml_prompts.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/tests/test_xml_spec_generation.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/admission_assessment_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/care_plan.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/clinical_assessment.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/discharge_planning.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/discharge_summary_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/dosage_calculation.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/incident_report_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/medication_reconciliation.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/nursing_assessment.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/patient_education.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/quality_improvement.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/sbar_report.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/sbar_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/shift_handoff_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/soap_note_wizard.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/wizards/treatment_plan.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/workflow_scaffolding/__init__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/workflow_scaffolding/__main__.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/workflow_scaffolding/cli.py +0 -0
- {empathy_framework-3.9.2 → empathy_framework-3.10.1}/workflow_scaffolding/generator.py +0 -0
|
@@ -5,6 +5,191 @@ 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.10.1] - 2026-01-09
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **🎯 Intelligent Tier Fallback: Automatic Cost Optimization with Quality Gates**
|
|
13
|
+
- Workflows can now start with CHEAP tier and automatically upgrade to CAPABLE/PREMIUM if quality gates fail
|
|
14
|
+
- Opt-in feature via `--use-recommended-tier` flag (backward compatible)
|
|
15
|
+
- **30-50% cost savings** on average workflow execution vs. always using premium tier
|
|
16
|
+
- Comprehensive quality validation with workflow-specific thresholds
|
|
17
|
+
- Full telemetry tracking with tier progression history
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
# Enable intelligent tier fallback
|
|
21
|
+
empathy workflow run health-check --use-recommended-tier
|
|
22
|
+
|
|
23
|
+
# Result: Tries CHEAP → CAPABLE → PREMIUM until quality gates pass
|
|
24
|
+
# ✓ Stage: diagnose
|
|
25
|
+
# Attempt 1: CHEAP → ✓ SUCCESS
|
|
26
|
+
#
|
|
27
|
+
# ✓ Stage: fix
|
|
28
|
+
# Attempt 1: CHEAP → ✓ SUCCESS
|
|
29
|
+
#
|
|
30
|
+
# 💰 Cost Savings: $0.0300 (66.7%)
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
- **Quality Gate Infrastructure** ([src/empathy_os/workflows/base.py:156-187](src/empathy_os/workflows/base.py#L156-L187))
|
|
34
|
+
- New `validate_output()` method for per-stage quality validation
|
|
35
|
+
- Default validation checks: execution success, non-empty output, no error keys
|
|
36
|
+
- Workflow-specific validation overrides (e.g., health score threshold for health-check)
|
|
37
|
+
- Configurable quality thresholds (default: 95% for health-check workflow)
|
|
38
|
+
|
|
39
|
+
- **Progress UI with Tier Indicators** ([src/empathy_os/workflows/progress.py:236-254](src/empathy_os/workflows/progress.py#L236-L254))
|
|
40
|
+
- Real-time tier display in progress bar: `diagnose [CHEAP]`, `fix [CAPABLE]`
|
|
41
|
+
- Automatic tier upgrade notifications with reasons
|
|
42
|
+
- Visual feedback for tier escalation decisions
|
|
43
|
+
|
|
44
|
+
- **Tier Progression Telemetry** ([src/empathy_os/workflows/tier_tracking.py:321-375](src/empathy_os/workflows/tier_tracking.py#L321-L375))
|
|
45
|
+
- Detailed tracking of tier attempts per stage: `(stage, tier, success)`
|
|
46
|
+
- Fallback chain recording (e.g., `CHEAP → CAPABLE`)
|
|
47
|
+
- Cost analysis: actual cost vs. all-PREMIUM baseline
|
|
48
|
+
- Automatic pattern saving to `patterns/debugging/all_patterns.json`
|
|
49
|
+
- Learning loop for future tier recommendations
|
|
50
|
+
|
|
51
|
+
- **Comprehensive Test Suite** ([tests/unit/workflows/test_tier_fallback.py](tests/unit/workflows/test_tier_fallback.py))
|
|
52
|
+
- 8 unit tests covering all fallback scenarios (100% passing)
|
|
53
|
+
- 89% code coverage on tier_tracking module
|
|
54
|
+
- 45% code coverage on base workflow tier fallback logic
|
|
55
|
+
- Tests for: optimal path (CHEAP success), single/multiple tier upgrades, all tiers exhausted, exception handling, backward compatibility
|
|
56
|
+
|
|
57
|
+
### Changed
|
|
58
|
+
|
|
59
|
+
- **Health Check Workflow Quality Gate** ([src/empathy_os/workflows/health_check.py:156-187](src/empathy_os/workflows/health_check.py#L156-L187))
|
|
60
|
+
- Default health score threshold changed from 100 to **95** (more practical balance)
|
|
61
|
+
- Configurable via `--health-score-threshold` flag
|
|
62
|
+
- Quality validation now blocks tier fallback if health score < threshold
|
|
63
|
+
- Prevents unnecessary escalation to expensive tiers
|
|
64
|
+
|
|
65
|
+
- **Workflow Execution Strategy**
|
|
66
|
+
- LLM-level fallback (ResilientExecutor) now disabled when tier fallback is enabled
|
|
67
|
+
- Avoids double fallback (tier-level + model-level)
|
|
68
|
+
- Clearer separation of concerns: tier fallback handles quality, model fallback handles API errors
|
|
69
|
+
|
|
70
|
+
### Technical Details
|
|
71
|
+
|
|
72
|
+
**Architecture:**
|
|
73
|
+
- Fallback chain: `ModelTier.CHEAP → ModelTier.CAPABLE → ModelTier.PREMIUM`
|
|
74
|
+
- Quality gates run after each stage execution
|
|
75
|
+
- Failed attempts logged with failure reason (e.g., `"health_score_low"`, `"validation_failed"`)
|
|
76
|
+
- Tier progression tracked: `workflow._tier_progression = [(stage, tier, success), ...]`
|
|
77
|
+
- Opt-in design: Default behavior unchanged for backward compatibility
|
|
78
|
+
|
|
79
|
+
**Cost Savings Examples:**
|
|
80
|
+
- Both stages succeed at CHEAP: **~90% savings** vs. all-PREMIUM
|
|
81
|
+
- 1 stage CAPABLE, 1 CHEAP: **~70% savings** vs. all-PREMIUM
|
|
82
|
+
- 1 stage PREMIUM, 1 CHEAP: **~50% savings** vs. all-PREMIUM
|
|
83
|
+
|
|
84
|
+
**Validation:**
|
|
85
|
+
- Production-ready with 8/8 tests passing
|
|
86
|
+
- Zero critical bugs
|
|
87
|
+
- Zero lint errors, zero type errors
|
|
88
|
+
- Comprehensive error handling with specific exceptions
|
|
89
|
+
- Full documentation: [TIER_FALLBACK_TEST_REPORT.md](TIER_FALLBACK_TEST_REPORT.md)
|
|
90
|
+
|
|
91
|
+
### Migration Guide
|
|
92
|
+
|
|
93
|
+
**No breaking changes.** Feature is opt-in and backward compatible.
|
|
94
|
+
|
|
95
|
+
**To enable tier fallback:**
|
|
96
|
+
```bash
|
|
97
|
+
# Standard mode (unchanged)
|
|
98
|
+
empathy workflow run health-check
|
|
99
|
+
|
|
100
|
+
# With tier fallback (new)
|
|
101
|
+
empathy workflow run health-check --use-recommended-tier
|
|
102
|
+
|
|
103
|
+
# Custom threshold
|
|
104
|
+
empathy workflow run health-check --use-recommended-tier --health-score-threshold 90
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**Python API:**
|
|
108
|
+
```python
|
|
109
|
+
from empathy_os.workflows import get_workflow
|
|
110
|
+
|
|
111
|
+
workflow_cls = get_workflow("health-check")
|
|
112
|
+
workflow = workflow_cls(
|
|
113
|
+
provider="anthropic",
|
|
114
|
+
enable_tier_fallback=True, # Enable feature
|
|
115
|
+
health_score_threshold=95, # Optional: customize threshold
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
result = await workflow.execute(path=".")
|
|
119
|
+
|
|
120
|
+
# Check tier progression
|
|
121
|
+
for stage, tier, success in workflow._tier_progression:
|
|
122
|
+
print(f"{stage}: {tier} → {'✓' if success else '✗'}")
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**When to use:**
|
|
126
|
+
- ✅ Cost-sensitive workflows where CHEAP tier often succeeds
|
|
127
|
+
- ✅ Workflows with clear quality metrics (health score, test coverage)
|
|
128
|
+
- ✅ Exploratory workflows where quality requirements vary
|
|
129
|
+
- ❌ Time-critical workflows (tier fallback adds latency on quality failures)
|
|
130
|
+
- ❌ Workflows where PREMIUM is always required
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## [3.9.3] - 2026-01-09
|
|
135
|
+
|
|
136
|
+
### Fixed
|
|
137
|
+
|
|
138
|
+
- **Project Health: Achieved 100/100 Health Score** 🎉
|
|
139
|
+
- Health score improved from 71% → 100% through systematic fixes
|
|
140
|
+
- Zero lint errors, zero type errors in production code
|
|
141
|
+
- All 6,801 tests now collect successfully
|
|
142
|
+
|
|
143
|
+
- **Type System Improvements**
|
|
144
|
+
- Fixed 25+ type annotation issues across codebase
|
|
145
|
+
- [src/empathy_os/config.py](src/empathy_os/config.py#L19-L27): Fixed circular import with `workflows/config.py` using `TYPE_CHECKING` and lazy imports
|
|
146
|
+
- [src/empathy_os/tier_recommender.py](src/empathy_os/tier_recommender.py): Added explicit type annotations for `patterns`, `tier_dist`, and `bug_type_dist`
|
|
147
|
+
- [src/empathy_os/workflows/tier_tracking.py](src/empathy_os/workflows/tier_tracking.py#L372): Added explicit `float` type annotation for `actual_cost`
|
|
148
|
+
- [src/empathy_os/workflows/base.py](src/empathy_os/workflows/base.py#L436): Added proper type annotation for `_tier_tracker` using TYPE_CHECKING
|
|
149
|
+
- [src/empathy_os/hot_reload/watcher.py](src/empathy_os/hot_reload/watcher.py): Fixed callback signature and byte/str handling for file paths
|
|
150
|
+
- [src/empathy_os/hot_reload/websocket.py](src/empathy_os/hot_reload/websocket.py#L145): Changed `callable` to proper `Callable` type
|
|
151
|
+
- [src/empathy_os/hot_reload/integration.py](src/empathy_os/hot_reload/integration.py#L49): Changed `callable` to proper `Callable[[str, type], bool]`
|
|
152
|
+
- [src/empathy_os/test_generator/generator.py](src/empathy_os/test_generator/generator.py#L63): Fixed return type to `dict[str, str | None]`
|
|
153
|
+
- [patterns/registry.py](patterns/registry.py#L220): Added `cast` to help mypy with None filtering
|
|
154
|
+
- [empathy_software_plugin/wizards/testing/test_suggester.py](empathy_software_plugin/wizards/testing/test_suggester.py#L497): Added type annotation for `by_priority`
|
|
155
|
+
- [empathy_software_plugin/wizards/testing/quality_analyzer.py](empathy_software_plugin/wizards/testing/quality_analyzer.py): Replaced `__post_init__` pattern with `field(default_factory=list)`
|
|
156
|
+
- [empathy_software_plugin/wizards/security/vulnerability_scanner.py](empathy_software_plugin/wizards/security/vulnerability_scanner.py#L228): Added type for `vulnerabilities`
|
|
157
|
+
- [empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py](empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py#L338): Fixed type annotation for `by_risk`
|
|
158
|
+
- [empathy_software_plugin/wizards/debugging/linter_parsers.py](empathy_software_plugin/wizards/debugging/linter_parsers.py#L363): Added type for `current_issue`
|
|
159
|
+
- [empathy_software_plugin/wizards/performance/profiler_parsers.py](empathy_software_plugin/wizards/performance/profiler_parsers.py#L172): Fixed variable shadowing (`data` → `stats`)
|
|
160
|
+
- All files in [agents/code_inspection/adapters/](agents/code_inspection/adapters/): Added `list[dict[str, Any]]` annotations
|
|
161
|
+
- [agents/code_inspection/nodes/dynamic_analysis.py](agents/code_inspection/nodes/dynamic_analysis.py#L44): Added `Any` import for type hints
|
|
162
|
+
- **Result**: Production code (src/, plugins, tests/) now has **zero type errors**
|
|
163
|
+
|
|
164
|
+
- **Import and Module Structure**
|
|
165
|
+
- Fixed 47 test files using incorrect `from src.empathy_os...` imports
|
|
166
|
+
- Changed to proper `from empathy_os...` imports across all test files
|
|
167
|
+
- Fixed editable install by removing orphaned namespace package directory
|
|
168
|
+
- **Result**: All imports now work correctly, CLI fully functional
|
|
169
|
+
|
|
170
|
+
- **Lint and Code Quality**
|
|
171
|
+
- [tests/unit/telemetry/test_usage_tracker.py](tests/unit/telemetry/test_usage_tracker.py#L300): Fixed B007 - changed unused loop variable `i` to `_i`
|
|
172
|
+
- **Result**: All ruff lint checks passing (zero errors)
|
|
173
|
+
|
|
174
|
+
- **Configuration and Tooling**
|
|
175
|
+
- [pyproject.toml](pyproject.toml#L471-L492): Added comprehensive mypy exclusions for non-production code
|
|
176
|
+
- Excluded: `build/`, `backend/`, `scripts/`, `docs/`, `dashboard/`, `coach_wizards/`, `archived_wizards/`, `wizards_consolidated/`
|
|
177
|
+
- [empathy_llm_toolkit/agent_factory/crews/health_check.py](empathy_llm_toolkit/agent_factory/crews/health_check.py#L877-L897): Updated health check crew to scan only production directories
|
|
178
|
+
- Health check now focuses on: `src/`, `empathy_software_plugin/`, `empathy_healthcare_plugin/`, `empathy_llm_toolkit/`, `patterns/`, `tests/`
|
|
179
|
+
- **Result**: Health checks now accurately reflect production code quality
|
|
180
|
+
|
|
181
|
+
- **Test Infrastructure**
|
|
182
|
+
- Fixed pytest collection to successfully collect all 6,801 tests
|
|
183
|
+
- Removed pytest collection errors through import path corrections
|
|
184
|
+
- **Result**: Zero test collection errors
|
|
185
|
+
|
|
186
|
+
### Changed
|
|
187
|
+
|
|
188
|
+
- **Health Check Accuracy**: Health check workflow now reports accurate production code health
|
|
189
|
+
- Previously scanned all directories including experimental/archived code
|
|
190
|
+
- Now focuses only on production packages
|
|
191
|
+
- Health score now reflects actual production code quality
|
|
192
|
+
|
|
8
193
|
## [3.9.1] - 2026-01-07
|
|
9
194
|
|
|
10
195
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: empathy-framework
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.10.1
|
|
4
4
|
Summary: AI collaboration framework with intelligent caching (up to 57% cache hit rate), tier routing (34-86% cost savings depending on task complexity), XML-enhanced prompts, persistent memory, CrewAI integration, and multi-agent orchestration. Includes HIPAA-compliant healthcare wizards.
|
|
5
5
|
Author-email: Patrick Roebuck <admin@smartaimemory.com>
|
|
6
6
|
Maintainer-email: Smart-AI-Memory <admin@smartaimemory.com>
|
|
@@ -178,7 +178,7 @@ Requires-Dist: pyyaml<7.0,>=6.0
|
|
|
178
178
|
Requires-Dist: anthropic<1.0.0,>=0.25.0
|
|
179
179
|
Requires-Dist: crewai<1.0.0,>=0.1.0
|
|
180
180
|
Requires-Dist: langchain<2.0.0,>=0.1.0
|
|
181
|
-
Requires-Dist: langchain-core<2.0.0,>=
|
|
181
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.6
|
|
182
182
|
Provides-Extra: anthropic
|
|
183
183
|
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "anthropic"
|
|
184
184
|
Provides-Extra: openai
|
|
@@ -368,7 +368,41 @@ Dynamic: license-file
|
|
|
368
368
|
pip install empathy-framework[developer] # Lightweight for individual developers
|
|
369
369
|
```
|
|
370
370
|
|
|
371
|
-
## What's New in v3.
|
|
371
|
+
## What's New in v3.10.0 (Current Release)
|
|
372
|
+
|
|
373
|
+
### 🎯 **Intelligent Tier Fallback: Start CHEAP, Upgrade Only When Needed**
|
|
374
|
+
|
|
375
|
+
**Automatic cost optimization with quality-based tier escalation.**
|
|
376
|
+
|
|
377
|
+
- ✅ **30-50% cost savings** on average workflow execution
|
|
378
|
+
- ✅ **CHEAP → CAPABLE → PREMIUM** automatic fallback chain
|
|
379
|
+
- ✅ **Quality gates** validate each tier before upgrading
|
|
380
|
+
- ✅ **Opt-in design** - backward compatible, enabled via `--use-recommended-tier`
|
|
381
|
+
- ✅ **Full telemetry** tracks tier progression and savings
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
# Enable intelligent tier fallback
|
|
385
|
+
empathy workflow run health-check --use-recommended-tier
|
|
386
|
+
|
|
387
|
+
# Result: Both stages succeeded at CHEAP tier
|
|
388
|
+
# 💰 Cost Savings: $0.0300 (66.7% vs. all-PREMIUM)
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
**How it works:**
|
|
392
|
+
1. Try CHEAP tier first (Haiku)
|
|
393
|
+
2. If quality gates fail → upgrade to CAPABLE (Sonnet 4.5)
|
|
394
|
+
3. If still failing → upgrade to PREMIUM (Opus 4.5)
|
|
395
|
+
4. Track savings and learn from patterns
|
|
396
|
+
|
|
397
|
+
**When to use:** Cost-sensitive workflows where quality can be validated (health-check, test-gen, doc-gen)
|
|
398
|
+
|
|
399
|
+
See [CHANGELOG.md](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/CHANGELOG.md#3100---2026-01-09) for full details.
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
### Previous Releases
|
|
404
|
+
|
|
405
|
+
#### v3.9.0
|
|
372
406
|
|
|
373
407
|
### 🔒 **Security Hardening: 174 Security Tests (Up from 14)**
|
|
374
408
|
|
|
@@ -407,8 +441,6 @@ See [SECURITY.md](https://github.com/Smart-AI-Memory/empathy-framework/blob/main
|
|
|
407
441
|
|
|
408
442
|
---
|
|
409
443
|
|
|
410
|
-
### Previous Releases
|
|
411
|
-
|
|
412
444
|
#### v3.8.3
|
|
413
445
|
|
|
414
446
|
### 🎯 **Transparent Cost Claims: Honest Role-Based Savings (34-86%)**
|
|
@@ -13,7 +13,41 @@
|
|
|
13
13
|
pip install empathy-framework[developer] # Lightweight for individual developers
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
## What's New in v3.
|
|
16
|
+
## What's New in v3.10.0 (Current Release)
|
|
17
|
+
|
|
18
|
+
### 🎯 **Intelligent Tier Fallback: Start CHEAP, Upgrade Only When Needed**
|
|
19
|
+
|
|
20
|
+
**Automatic cost optimization with quality-based tier escalation.**
|
|
21
|
+
|
|
22
|
+
- ✅ **30-50% cost savings** on average workflow execution
|
|
23
|
+
- ✅ **CHEAP → CAPABLE → PREMIUM** automatic fallback chain
|
|
24
|
+
- ✅ **Quality gates** validate each tier before upgrading
|
|
25
|
+
- ✅ **Opt-in design** - backward compatible, enabled via `--use-recommended-tier`
|
|
26
|
+
- ✅ **Full telemetry** tracks tier progression and savings
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Enable intelligent tier fallback
|
|
30
|
+
empathy workflow run health-check --use-recommended-tier
|
|
31
|
+
|
|
32
|
+
# Result: Both stages succeeded at CHEAP tier
|
|
33
|
+
# 💰 Cost Savings: $0.0300 (66.7% vs. all-PREMIUM)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**How it works:**
|
|
37
|
+
1. Try CHEAP tier first (Haiku)
|
|
38
|
+
2. If quality gates fail → upgrade to CAPABLE (Sonnet 4.5)
|
|
39
|
+
3. If still failing → upgrade to PREMIUM (Opus 4.5)
|
|
40
|
+
4. Track savings and learn from patterns
|
|
41
|
+
|
|
42
|
+
**When to use:** Cost-sensitive workflows where quality can be validated (health-check, test-gen, doc-gen)
|
|
43
|
+
|
|
44
|
+
See [CHANGELOG.md](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/CHANGELOG.md#3100---2026-01-09) for full details.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
### Previous Releases
|
|
49
|
+
|
|
50
|
+
#### v3.9.0
|
|
17
51
|
|
|
18
52
|
### 🔒 **Security Hardening: 174 Security Tests (Up from 14)**
|
|
19
53
|
|
|
@@ -52,8 +86,6 @@ See [SECURITY.md](https://github.com/Smart-AI-Memory/empathy-framework/blob/main
|
|
|
52
86
|
|
|
53
87
|
---
|
|
54
88
|
|
|
55
|
-
### Previous Releases
|
|
56
|
-
|
|
57
89
|
#### v3.8.3
|
|
58
90
|
|
|
59
91
|
### 🎯 **Transparent Cost Claims: Honest Role-Based Savings (34-86%)**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: empathy-framework
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.10.1
|
|
4
4
|
Summary: AI collaboration framework with intelligent caching (up to 57% cache hit rate), tier routing (34-86% cost savings depending on task complexity), XML-enhanced prompts, persistent memory, CrewAI integration, and multi-agent orchestration. Includes HIPAA-compliant healthcare wizards.
|
|
5
5
|
Author-email: Patrick Roebuck <admin@smartaimemory.com>
|
|
6
6
|
Maintainer-email: Smart-AI-Memory <admin@smartaimemory.com>
|
|
@@ -178,7 +178,7 @@ Requires-Dist: pyyaml<7.0,>=6.0
|
|
|
178
178
|
Requires-Dist: anthropic<1.0.0,>=0.25.0
|
|
179
179
|
Requires-Dist: crewai<1.0.0,>=0.1.0
|
|
180
180
|
Requires-Dist: langchain<2.0.0,>=0.1.0
|
|
181
|
-
Requires-Dist: langchain-core<2.0.0,>=
|
|
181
|
+
Requires-Dist: langchain-core<2.0.0,>=1.2.6
|
|
182
182
|
Provides-Extra: anthropic
|
|
183
183
|
Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "anthropic"
|
|
184
184
|
Provides-Extra: openai
|
|
@@ -368,7 +368,41 @@ Dynamic: license-file
|
|
|
368
368
|
pip install empathy-framework[developer] # Lightweight for individual developers
|
|
369
369
|
```
|
|
370
370
|
|
|
371
|
-
## What's New in v3.
|
|
371
|
+
## What's New in v3.10.0 (Current Release)
|
|
372
|
+
|
|
373
|
+
### 🎯 **Intelligent Tier Fallback: Start CHEAP, Upgrade Only When Needed**
|
|
374
|
+
|
|
375
|
+
**Automatic cost optimization with quality-based tier escalation.**
|
|
376
|
+
|
|
377
|
+
- ✅ **30-50% cost savings** on average workflow execution
|
|
378
|
+
- ✅ **CHEAP → CAPABLE → PREMIUM** automatic fallback chain
|
|
379
|
+
- ✅ **Quality gates** validate each tier before upgrading
|
|
380
|
+
- ✅ **Opt-in design** - backward compatible, enabled via `--use-recommended-tier`
|
|
381
|
+
- ✅ **Full telemetry** tracks tier progression and savings
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
# Enable intelligent tier fallback
|
|
385
|
+
empathy workflow run health-check --use-recommended-tier
|
|
386
|
+
|
|
387
|
+
# Result: Both stages succeeded at CHEAP tier
|
|
388
|
+
# 💰 Cost Savings: $0.0300 (66.7% vs. all-PREMIUM)
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
**How it works:**
|
|
392
|
+
1. Try CHEAP tier first (Haiku)
|
|
393
|
+
2. If quality gates fail → upgrade to CAPABLE (Sonnet 4.5)
|
|
394
|
+
3. If still failing → upgrade to PREMIUM (Opus 4.5)
|
|
395
|
+
4. Track savings and learn from patterns
|
|
396
|
+
|
|
397
|
+
**When to use:** Cost-sensitive workflows where quality can be validated (health-check, test-gen, doc-gen)
|
|
398
|
+
|
|
399
|
+
See [CHANGELOG.md](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/CHANGELOG.md#3100---2026-01-09) for full details.
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
### Previous Releases
|
|
404
|
+
|
|
405
|
+
#### v3.9.0
|
|
372
406
|
|
|
373
407
|
### 🔒 **Security Hardening: 174 Security Tests (Up from 14)**
|
|
374
408
|
|
|
@@ -407,8 +441,6 @@ See [SECURITY.md](https://github.com/Smart-AI-Memory/empathy-framework/blob/main
|
|
|
407
441
|
|
|
408
442
|
---
|
|
409
443
|
|
|
410
|
-
### Previous Releases
|
|
411
|
-
|
|
412
444
|
#### v3.8.3
|
|
413
445
|
|
|
414
446
|
### 🎯 **Transparent Cost Claims: Honest Role-Based Savings (34-86%)**
|
|
@@ -222,6 +222,7 @@ examples/security_integration_example.py
|
|
|
222
222
|
examples/simple_usage.py
|
|
223
223
|
examples/smart_team_quickstart.py
|
|
224
224
|
examples/software_plugin_complete_demo.py
|
|
225
|
+
examples/sonnet_opus_fallback_example.py
|
|
225
226
|
examples/streamlit_debug_wizard.py
|
|
226
227
|
examples/test_debugging_wizard.py
|
|
227
228
|
examples/test_short_term_memory_full.py
|
|
@@ -553,6 +554,7 @@ tests/test_enhanced_testing.py
|
|
|
553
554
|
tests/test_exceptions.py
|
|
554
555
|
tests/test_executor_integration.py
|
|
555
556
|
tests/test_fallback.py
|
|
557
|
+
tests/test_fallback_suite.py
|
|
556
558
|
tests/test_feedback_loops.py
|
|
557
559
|
tests/test_finding_extraction.py
|
|
558
560
|
tests/test_graph.py
|
|
@@ -874,9 +874,24 @@ Rules:
|
|
|
874
874
|
issues = []
|
|
875
875
|
passed = True
|
|
876
876
|
|
|
877
|
+
# Only scan production code directories
|
|
878
|
+
production_paths = [
|
|
879
|
+
"src/",
|
|
880
|
+
"empathy_software_plugin/",
|
|
881
|
+
"empathy_healthcare_plugin/",
|
|
882
|
+
"empathy_llm_toolkit/",
|
|
883
|
+
"patterns/",
|
|
884
|
+
"tests/",
|
|
885
|
+
]
|
|
886
|
+
|
|
887
|
+
# Use production paths if checking current directory
|
|
888
|
+
scan_paths = production_paths if path in [".", "./"] else [path]
|
|
889
|
+
|
|
877
890
|
try:
|
|
878
891
|
result = subprocess.run(
|
|
879
|
-
["python", "-m", "mypy"
|
|
892
|
+
["python", "-m", "mypy"]
|
|
893
|
+
+ scan_paths
|
|
894
|
+
+ ["--ignore-missing-imports", "--no-error-summary"],
|
|
880
895
|
check=False,
|
|
881
896
|
capture_output=True,
|
|
882
897
|
text=True,
|
|
@@ -925,44 +940,36 @@ Rules:
|
|
|
925
940
|
issues = []
|
|
926
941
|
passed = True
|
|
927
942
|
|
|
943
|
+
# Only run tests in tests/ directory for production health check
|
|
944
|
+
test_path = "tests/" if path in [".", "./"] else path
|
|
945
|
+
|
|
928
946
|
try:
|
|
929
947
|
result = subprocess.run(
|
|
930
|
-
["python", "-m", "pytest",
|
|
948
|
+
["python", "-m", "pytest", test_path, "--collect-only", "-q"],
|
|
931
949
|
check=False,
|
|
932
950
|
capture_output=True,
|
|
933
951
|
text=True,
|
|
934
|
-
timeout=
|
|
935
|
-
cwd=path if Path(path).is_dir() else ".",
|
|
952
|
+
timeout=60,
|
|
936
953
|
)
|
|
937
954
|
|
|
938
955
|
if result.returncode != 0:
|
|
939
956
|
passed = False
|
|
940
957
|
|
|
941
|
-
#
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
elif "ERROR" in line and "test" in line.lower():
|
|
957
|
-
issues.append(
|
|
958
|
-
HealthIssue(
|
|
959
|
-
title=f"Test error: {line[:50]}",
|
|
960
|
-
description=line,
|
|
961
|
-
category=HealthCategory.TESTS,
|
|
962
|
-
severity=IssueSeverity.CRITICAL,
|
|
963
|
-
tool="pytest",
|
|
964
|
-
),
|
|
965
|
-
)
|
|
958
|
+
# Check for collection errors in stderr
|
|
959
|
+
error_output = result.stderr + result.stdout
|
|
960
|
+
for line in error_output.splitlines()[:50]:
|
|
961
|
+
if "ERROR" in line or "INTERNALERROR" in line:
|
|
962
|
+
# Only report actual errors, not counts
|
|
963
|
+
if "error" in line.lower() and not line.strip().startswith("="):
|
|
964
|
+
issues.append(
|
|
965
|
+
HealthIssue(
|
|
966
|
+
title=f"Test error: {line[:50]}",
|
|
967
|
+
description=line,
|
|
968
|
+
category=HealthCategory.TESTS,
|
|
969
|
+
severity=IssueSeverity.CRITICAL,
|
|
970
|
+
tool="pytest",
|
|
971
|
+
),
|
|
972
|
+
)
|
|
966
973
|
|
|
967
974
|
except (subprocess.TimeoutExpired, FileNotFoundError) as e:
|
|
968
975
|
logger.warning(f"Test check failed: {e}")
|
|
@@ -47,8 +47,8 @@ class AdvancedDebuggingWizard(BaseWizard):
|
|
|
47
47
|
super().__init__()
|
|
48
48
|
self.bug_analyzer = BugRiskAnalyzer()
|
|
49
49
|
self.pattern_library = get_pattern_library()
|
|
50
|
-
self._name = "Advanced Debugging Wizard"
|
|
51
|
-
self._level = 4
|
|
50
|
+
self._name: str = "Advanced Debugging Wizard"
|
|
51
|
+
self._level: int = 4
|
|
52
52
|
|
|
53
53
|
@property
|
|
54
54
|
def name(self) -> str:
|
|
@@ -126,7 +126,8 @@ class AdvancedDebuggingWizard(BaseWizard):
|
|
|
126
126
|
# Phase 4: Group by fixability
|
|
127
127
|
fixability_by_linter = {}
|
|
128
128
|
for linter_name, result in linter_results.items():
|
|
129
|
-
|
|
129
|
+
issues_for_fixability: list[LintIssue] = result["issues"] # type: ignore[assignment]
|
|
130
|
+
fixability = group_issues_by_fixability(linter_name, issues_for_fixability)
|
|
130
131
|
fixability_by_linter[linter_name] = {
|
|
131
132
|
"auto_fixable": len(fixability["auto_fixable"]),
|
|
132
133
|
"manual": len(fixability["manual"]),
|
|
@@ -138,7 +139,8 @@ class AdvancedDebuggingWizard(BaseWizard):
|
|
|
138
139
|
logger.info("Applying auto-fixes...")
|
|
139
140
|
|
|
140
141
|
for linter_name, result in linter_results.items():
|
|
141
|
-
|
|
142
|
+
issues_for_fixing: list[LintIssue] = result["issues"] # type: ignore[assignment]
|
|
143
|
+
fixes = apply_fixes(linter_name, issues_for_fixing, dry_run=False, auto_only=True)
|
|
142
144
|
|
|
143
145
|
successful = [f for f in fixes if f.success]
|
|
144
146
|
failed = [f for f in fixes if not f.success]
|
|
@@ -155,7 +157,8 @@ class AdvancedDebuggingWizard(BaseWizard):
|
|
|
155
157
|
logger.info("Verifying fixes...")
|
|
156
158
|
|
|
157
159
|
for linter_name, result in linter_results.items():
|
|
158
|
-
|
|
160
|
+
issues_for_verification: list[LintIssue] = result["issues"] # type: ignore[assignment]
|
|
161
|
+
verification = verify_fixes(linter_name, project_path, issues_for_verification)
|
|
159
162
|
|
|
160
163
|
verification_results[linter_name] = verification.to_dict()
|
|
161
164
|
|
|
@@ -201,7 +204,7 @@ class AdvancedDebuggingWizard(BaseWizard):
|
|
|
201
204
|
insights = []
|
|
202
205
|
|
|
203
206
|
# Group issues by language
|
|
204
|
-
by_language = {}
|
|
207
|
+
by_language: dict[str, list[LintIssue]] = {}
|
|
205
208
|
for issue in issues:
|
|
206
209
|
lang = issue.linter
|
|
207
210
|
if lang not in by_language:
|
|
@@ -246,15 +246,19 @@ class PylintConfigLoader(BaseConfigLoader):
|
|
|
246
246
|
"""Load from pyproject.toml"""
|
|
247
247
|
try:
|
|
248
248
|
import tomli
|
|
249
|
+
|
|
250
|
+
toml_loader = tomli
|
|
249
251
|
except ImportError:
|
|
250
252
|
# Fallback for Python 3.11+
|
|
251
253
|
try:
|
|
252
|
-
import tomllib
|
|
254
|
+
import tomllib
|
|
255
|
+
|
|
256
|
+
toml_loader = tomllib
|
|
253
257
|
except ImportError as e:
|
|
254
258
|
raise ImportError("tomli or tomllib required for pyproject.toml") from e
|
|
255
259
|
|
|
256
260
|
with open(path, "rb") as f:
|
|
257
|
-
data =
|
|
261
|
+
data = toml_loader.load(f)
|
|
258
262
|
|
|
259
263
|
pylint_config = data.get("tool", {}).get("pylint", {})
|
|
260
264
|
|
|
@@ -278,6 +278,7 @@ class CrossLanguagePatternLibrary:
|
|
|
278
278
|
UniversalPattern if found, None otherwise
|
|
279
279
|
|
|
280
280
|
"""
|
|
281
|
+
pattern: UniversalPattern
|
|
281
282
|
for pattern in self.patterns.values():
|
|
282
283
|
if linter in pattern.language_manifestations:
|
|
283
284
|
if pattern.language_manifestations[linter] == rule:
|
|
@@ -295,11 +296,12 @@ class CrossLanguagePatternLibrary:
|
|
|
295
296
|
List of fix steps, or None if not found
|
|
296
297
|
|
|
297
298
|
"""
|
|
298
|
-
pattern = self.patterns.get(pattern_name)
|
|
299
|
+
pattern: UniversalPattern | None = self.patterns.get(pattern_name)
|
|
299
300
|
if not pattern:
|
|
300
301
|
return None
|
|
301
302
|
|
|
302
|
-
|
|
303
|
+
result: list[str] | None = pattern.language_specific_fixes.get(language)
|
|
304
|
+
return result
|
|
303
305
|
|
|
304
306
|
def suggest_cross_language_insight(
|
|
305
307
|
self,
|
|
@@ -167,20 +167,20 @@ class ChromeDevToolsParser(BaseProfilerParser):
|
|
|
167
167
|
function_times[name]["call_count"] += 1
|
|
168
168
|
|
|
169
169
|
# Convert to FunctionProfile
|
|
170
|
-
total_time = sum(
|
|
170
|
+
total_time = sum(stats["total_time"] for stats in function_times.values())
|
|
171
171
|
|
|
172
|
-
for func_name,
|
|
172
|
+
for func_name, stats in function_times.items():
|
|
173
173
|
profiles.append(
|
|
174
174
|
FunctionProfile(
|
|
175
175
|
function_name=func_name,
|
|
176
176
|
file_path="", # Chrome doesn't always provide
|
|
177
177
|
line_number=0,
|
|
178
|
-
total_time=
|
|
179
|
-
self_time=
|
|
180
|
-
call_count=
|
|
181
|
-
cumulative_time=
|
|
178
|
+
total_time=stats["total_time"],
|
|
179
|
+
self_time=stats["total_time"],
|
|
180
|
+
call_count=stats["call_count"],
|
|
181
|
+
cumulative_time=stats["total_time"],
|
|
182
182
|
percent_total=(
|
|
183
|
-
(
|
|
183
|
+
(stats["total_time"] / total_time * 100) if total_time > 0 else 0
|
|
184
184
|
),
|
|
185
185
|
profiler=self.profiler_name,
|
|
186
186
|
),
|
|
@@ -225,7 +225,7 @@ class VulnerabilityScanner:
|
|
|
225
225
|
lines: list[str],
|
|
226
226
|
) -> list[Vulnerability]:
|
|
227
227
|
"""Scan for hardcoded secrets"""
|
|
228
|
-
vulnerabilities = []
|
|
228
|
+
vulnerabilities: list[Vulnerability] = []
|
|
229
229
|
|
|
230
230
|
# Skip certain file types
|
|
231
231
|
if file_path.suffix in [".md", ".txt", ".json", ".xml"]:
|