empathy-framework 4.6.6__py3-none-any.whl → 4.7.1__py3-none-any.whl
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-4.7.1.dist-info/METADATA +690 -0
- empathy_framework-4.7.1.dist-info/RECORD +379 -0
- {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/top_level.txt +1 -2
- empathy_healthcare_plugin/monitors/monitoring/__init__.py +9 -9
- empathy_llm_toolkit/agent_factory/__init__.py +6 -6
- empathy_llm_toolkit/agent_factory/adapters/wizard_adapter.py +7 -10
- empathy_llm_toolkit/agents_md/__init__.py +22 -0
- empathy_llm_toolkit/agents_md/loader.py +218 -0
- empathy_llm_toolkit/agents_md/parser.py +271 -0
- empathy_llm_toolkit/agents_md/registry.py +307 -0
- empathy_llm_toolkit/commands/__init__.py +51 -0
- empathy_llm_toolkit/commands/context.py +375 -0
- empathy_llm_toolkit/commands/loader.py +301 -0
- empathy_llm_toolkit/commands/models.py +231 -0
- empathy_llm_toolkit/commands/parser.py +371 -0
- empathy_llm_toolkit/commands/registry.py +429 -0
- empathy_llm_toolkit/config/__init__.py +8 -8
- empathy_llm_toolkit/config/unified.py +3 -7
- empathy_llm_toolkit/context/__init__.py +22 -0
- empathy_llm_toolkit/context/compaction.py +455 -0
- empathy_llm_toolkit/context/manager.py +434 -0
- empathy_llm_toolkit/hooks/__init__.py +24 -0
- empathy_llm_toolkit/hooks/config.py +306 -0
- empathy_llm_toolkit/hooks/executor.py +289 -0
- empathy_llm_toolkit/hooks/registry.py +302 -0
- empathy_llm_toolkit/hooks/scripts/__init__.py +39 -0
- empathy_llm_toolkit/hooks/scripts/evaluate_session.py +201 -0
- empathy_llm_toolkit/hooks/scripts/first_time_init.py +285 -0
- empathy_llm_toolkit/hooks/scripts/pre_compact.py +207 -0
- empathy_llm_toolkit/hooks/scripts/session_end.py +183 -0
- empathy_llm_toolkit/hooks/scripts/session_start.py +163 -0
- empathy_llm_toolkit/hooks/scripts/suggest_compact.py +225 -0
- empathy_llm_toolkit/learning/__init__.py +30 -0
- empathy_llm_toolkit/learning/evaluator.py +438 -0
- empathy_llm_toolkit/learning/extractor.py +514 -0
- empathy_llm_toolkit/learning/storage.py +560 -0
- empathy_llm_toolkit/providers.py +4 -11
- empathy_llm_toolkit/security/__init__.py +17 -17
- empathy_llm_toolkit/utils/tokens.py +2 -5
- empathy_os/__init__.py +202 -70
- empathy_os/cache_monitor.py +5 -3
- empathy_os/cli/__init__.py +11 -55
- empathy_os/cli/__main__.py +29 -15
- empathy_os/cli/commands/inspection.py +21 -12
- empathy_os/cli/commands/memory.py +4 -12
- empathy_os/cli/commands/profiling.py +198 -0
- empathy_os/cli/commands/utilities.py +27 -7
- empathy_os/cli.py +28 -57
- empathy_os/cli_unified.py +525 -1164
- empathy_os/cost_tracker.py +9 -3
- empathy_os/dashboard/server.py +200 -2
- empathy_os/hot_reload/__init__.py +7 -7
- empathy_os/hot_reload/config.py +6 -7
- empathy_os/hot_reload/integration.py +35 -35
- empathy_os/hot_reload/reloader.py +57 -57
- empathy_os/hot_reload/watcher.py +28 -28
- empathy_os/hot_reload/websocket.py +2 -2
- empathy_os/memory/__init__.py +11 -4
- empathy_os/memory/claude_memory.py +1 -1
- empathy_os/memory/cross_session.py +8 -12
- empathy_os/memory/edges.py +6 -6
- empathy_os/memory/file_session.py +770 -0
- empathy_os/memory/graph.py +30 -30
- empathy_os/memory/nodes.py +6 -6
- empathy_os/memory/short_term.py +15 -9
- empathy_os/memory/unified.py +606 -140
- empathy_os/meta_workflows/agent_creator.py +3 -9
- empathy_os/meta_workflows/cli_meta_workflows.py +113 -53
- empathy_os/meta_workflows/form_engine.py +6 -18
- empathy_os/meta_workflows/intent_detector.py +64 -24
- empathy_os/meta_workflows/models.py +3 -1
- empathy_os/meta_workflows/pattern_learner.py +13 -31
- empathy_os/meta_workflows/plan_generator.py +55 -47
- empathy_os/meta_workflows/session_context.py +2 -3
- empathy_os/meta_workflows/workflow.py +20 -51
- empathy_os/models/cli.py +2 -2
- empathy_os/models/tasks.py +1 -2
- empathy_os/models/telemetry.py +4 -1
- empathy_os/models/token_estimator.py +3 -1
- empathy_os/monitoring/alerts.py +938 -9
- empathy_os/monitoring/alerts_cli.py +346 -183
- empathy_os/orchestration/execution_strategies.py +12 -29
- empathy_os/orchestration/pattern_learner.py +20 -26
- empathy_os/orchestration/real_tools.py +6 -15
- empathy_os/platform_utils.py +2 -1
- empathy_os/plugins/__init__.py +2 -2
- empathy_os/plugins/base.py +64 -64
- empathy_os/plugins/registry.py +32 -32
- empathy_os/project_index/index.py +49 -15
- empathy_os/project_index/models.py +1 -2
- empathy_os/project_index/reports.py +1 -1
- empathy_os/project_index/scanner.py +1 -0
- empathy_os/redis_memory.py +10 -7
- empathy_os/resilience/__init__.py +1 -1
- empathy_os/resilience/health.py +10 -10
- empathy_os/routing/__init__.py +7 -7
- empathy_os/routing/chain_executor.py +37 -37
- empathy_os/routing/classifier.py +36 -36
- empathy_os/routing/smart_router.py +40 -40
- empathy_os/routing/{wizard_registry.py → workflow_registry.py} +47 -47
- empathy_os/scaffolding/__init__.py +8 -8
- empathy_os/scaffolding/__main__.py +1 -1
- empathy_os/scaffolding/cli.py +28 -28
- empathy_os/socratic/__init__.py +3 -19
- empathy_os/socratic/ab_testing.py +25 -36
- empathy_os/socratic/blueprint.py +38 -38
- empathy_os/socratic/cli.py +34 -20
- empathy_os/socratic/collaboration.py +30 -28
- empathy_os/socratic/domain_templates.py +9 -1
- empathy_os/socratic/embeddings.py +17 -13
- empathy_os/socratic/engine.py +135 -70
- empathy_os/socratic/explainer.py +70 -60
- empathy_os/socratic/feedback.py +24 -19
- empathy_os/socratic/forms.py +15 -10
- empathy_os/socratic/generator.py +51 -35
- empathy_os/socratic/llm_analyzer.py +25 -23
- empathy_os/socratic/mcp_server.py +99 -159
- empathy_os/socratic/session.py +19 -13
- empathy_os/socratic/storage.py +98 -67
- empathy_os/socratic/success.py +38 -27
- empathy_os/socratic/visual_editor.py +51 -39
- empathy_os/socratic/web_ui.py +99 -66
- empathy_os/telemetry/cli.py +3 -1
- empathy_os/telemetry/usage_tracker.py +1 -3
- empathy_os/test_generator/__init__.py +3 -3
- empathy_os/test_generator/cli.py +28 -28
- empathy_os/test_generator/generator.py +64 -66
- empathy_os/test_generator/risk_analyzer.py +11 -11
- empathy_os/vscode_bridge 2.py +173 -0
- empathy_os/vscode_bridge.py +173 -0
- empathy_os/workflows/__init__.py +212 -120
- empathy_os/workflows/batch_processing.py +8 -24
- empathy_os/workflows/bug_predict.py +1 -1
- empathy_os/workflows/code_review.py +20 -5
- empathy_os/workflows/code_review_pipeline.py +13 -8
- empathy_os/workflows/keyboard_shortcuts/workflow.py +6 -2
- empathy_os/workflows/manage_documentation.py +1 -0
- empathy_os/workflows/orchestrated_health_check.py +6 -11
- empathy_os/workflows/orchestrated_release_prep.py +3 -3
- empathy_os/workflows/pr_review.py +18 -10
- empathy_os/workflows/progressive/README 2.md +454 -0
- empathy_os/workflows/progressive/__init__ 2.py +92 -0
- empathy_os/workflows/progressive/__init__.py +2 -12
- empathy_os/workflows/progressive/cli 2.py +242 -0
- empathy_os/workflows/progressive/cli.py +14 -37
- empathy_os/workflows/progressive/core 2.py +488 -0
- empathy_os/workflows/progressive/core.py +12 -12
- empathy_os/workflows/progressive/orchestrator 2.py +701 -0
- empathy_os/workflows/progressive/orchestrator.py +166 -144
- empathy_os/workflows/progressive/reports 2.py +528 -0
- empathy_os/workflows/progressive/reports.py +22 -31
- empathy_os/workflows/progressive/telemetry 2.py +280 -0
- empathy_os/workflows/progressive/telemetry.py +8 -14
- empathy_os/workflows/progressive/test_gen 2.py +514 -0
- empathy_os/workflows/progressive/test_gen.py +29 -48
- empathy_os/workflows/progressive/workflow 2.py +628 -0
- empathy_os/workflows/progressive/workflow.py +31 -70
- empathy_os/workflows/release_prep.py +21 -6
- empathy_os/workflows/release_prep_crew.py +1 -0
- empathy_os/workflows/secure_release.py +13 -6
- empathy_os/workflows/security_audit.py +8 -3
- empathy_os/workflows/test_coverage_boost_crew.py +3 -2
- empathy_os/workflows/test_maintenance_crew.py +1 -0
- empathy_os/workflows/test_runner.py +16 -12
- empathy_software_plugin/SOFTWARE_PLUGIN_README.md +25 -703
- empathy_software_plugin/cli.py +0 -122
- patterns/README.md +119 -0
- patterns/__init__.py +95 -0
- patterns/behavior.py +298 -0
- patterns/code_review_memory.json +441 -0
- patterns/core.py +97 -0
- patterns/debugging.json +3763 -0
- patterns/empathy.py +268 -0
- patterns/health_check_memory.json +505 -0
- patterns/input.py +161 -0
- patterns/memory_graph.json +8 -0
- patterns/refactoring_memory.json +1113 -0
- patterns/registry.py +663 -0
- patterns/security_memory.json +8 -0
- patterns/structural.py +415 -0
- patterns/validation.py +194 -0
- coach_wizards/__init__.py +0 -45
- coach_wizards/accessibility_wizard.py +0 -91
- coach_wizards/api_wizard.py +0 -91
- coach_wizards/base_wizard.py +0 -209
- coach_wizards/cicd_wizard.py +0 -91
- coach_wizards/code_reviewer_README.md +0 -60
- coach_wizards/code_reviewer_wizard.py +0 -180
- coach_wizards/compliance_wizard.py +0 -91
- coach_wizards/database_wizard.py +0 -91
- coach_wizards/debugging_wizard.py +0 -91
- coach_wizards/documentation_wizard.py +0 -91
- coach_wizards/generate_wizards.py +0 -347
- coach_wizards/localization_wizard.py +0 -173
- coach_wizards/migration_wizard.py +0 -91
- coach_wizards/monitoring_wizard.py +0 -91
- coach_wizards/observability_wizard.py +0 -91
- coach_wizards/performance_wizard.py +0 -91
- coach_wizards/prompt_engineering_wizard.py +0 -661
- coach_wizards/refactoring_wizard.py +0 -91
- coach_wizards/scaling_wizard.py +0 -90
- coach_wizards/security_wizard.py +0 -92
- coach_wizards/testing_wizard.py +0 -91
- empathy_framework-4.6.6.dist-info/METADATA +0 -1597
- empathy_framework-4.6.6.dist-info/RECORD +0 -410
- empathy_llm_toolkit/wizards/__init__.py +0 -43
- empathy_llm_toolkit/wizards/base_wizard.py +0 -364
- empathy_llm_toolkit/wizards/customer_support_wizard.py +0 -190
- empathy_llm_toolkit/wizards/healthcare_wizard.py +0 -378
- empathy_llm_toolkit/wizards/patient_assessment_README.md +0 -64
- empathy_llm_toolkit/wizards/patient_assessment_wizard.py +0 -193
- empathy_llm_toolkit/wizards/technology_wizard.py +0 -209
- empathy_os/wizard_factory_cli.py +0 -170
- empathy_software_plugin/wizards/__init__.py +0 -42
- empathy_software_plugin/wizards/advanced_debugging_wizard.py +0 -395
- empathy_software_plugin/wizards/agent_orchestration_wizard.py +0 -511
- empathy_software_plugin/wizards/ai_collaboration_wizard.py +0 -503
- empathy_software_plugin/wizards/ai_context_wizard.py +0 -441
- empathy_software_plugin/wizards/ai_documentation_wizard.py +0 -503
- empathy_software_plugin/wizards/base_wizard.py +0 -288
- empathy_software_plugin/wizards/book_chapter_wizard.py +0 -519
- empathy_software_plugin/wizards/code_review_wizard.py +0 -604
- empathy_software_plugin/wizards/debugging/__init__.py +0 -50
- empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py +0 -414
- empathy_software_plugin/wizards/debugging/config_loaders.py +0 -446
- empathy_software_plugin/wizards/debugging/fix_applier.py +0 -469
- empathy_software_plugin/wizards/debugging/language_patterns.py +0 -385
- empathy_software_plugin/wizards/debugging/linter_parsers.py +0 -470
- empathy_software_plugin/wizards/debugging/verification.py +0 -369
- empathy_software_plugin/wizards/enhanced_testing_wizard.py +0 -537
- empathy_software_plugin/wizards/memory_enhanced_debugging_wizard.py +0 -816
- empathy_software_plugin/wizards/multi_model_wizard.py +0 -501
- empathy_software_plugin/wizards/pattern_extraction_wizard.py +0 -422
- empathy_software_plugin/wizards/pattern_retriever_wizard.py +0 -400
- empathy_software_plugin/wizards/performance/__init__.py +0 -9
- empathy_software_plugin/wizards/performance/bottleneck_detector.py +0 -221
- empathy_software_plugin/wizards/performance/profiler_parsers.py +0 -278
- empathy_software_plugin/wizards/performance/trajectory_analyzer.py +0 -429
- empathy_software_plugin/wizards/performance_profiling_wizard.py +0 -305
- empathy_software_plugin/wizards/prompt_engineering_wizard.py +0 -425
- empathy_software_plugin/wizards/rag_pattern_wizard.py +0 -461
- empathy_software_plugin/wizards/security/__init__.py +0 -32
- empathy_software_plugin/wizards/security/exploit_analyzer.py +0 -290
- empathy_software_plugin/wizards/security/owasp_patterns.py +0 -241
- empathy_software_plugin/wizards/security/vulnerability_scanner.py +0 -604
- empathy_software_plugin/wizards/security_analysis_wizard.py +0 -322
- empathy_software_plugin/wizards/security_learning_wizard.py +0 -740
- empathy_software_plugin/wizards/tech_debt_wizard.py +0 -726
- empathy_software_plugin/wizards/testing/__init__.py +0 -27
- empathy_software_plugin/wizards/testing/coverage_analyzer.py +0 -459
- empathy_software_plugin/wizards/testing/quality_analyzer.py +0 -525
- empathy_software_plugin/wizards/testing/test_suggester.py +0 -533
- empathy_software_plugin/wizards/testing_wizard.py +0 -274
- wizards/__init__.py +0 -82
- wizards/admission_assessment_wizard.py +0 -644
- wizards/care_plan.py +0 -321
- wizards/clinical_assessment.py +0 -769
- wizards/discharge_planning.py +0 -77
- wizards/discharge_summary_wizard.py +0 -468
- wizards/dosage_calculation.py +0 -497
- wizards/incident_report_wizard.py +0 -454
- wizards/medication_reconciliation.py +0 -85
- wizards/nursing_assessment.py +0 -171
- wizards/patient_education.py +0 -654
- wizards/quality_improvement.py +0 -705
- wizards/sbar_report.py +0 -324
- wizards/sbar_wizard.py +0 -608
- wizards/shift_handoff_wizard.py +0 -535
- wizards/soap_note_wizard.py +0 -679
- wizards/treatment_plan.py +0 -15
- {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/WHEEL +0 -0
- {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/entry_points.txt +0 -0
- {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"""AccessibilityWizard - Web accessibility (WCAG) compliance
|
|
2
|
-
|
|
3
|
-
Level 4 Anticipatory Empathy for Accessibility using the Empathy Framework.
|
|
4
|
-
|
|
5
|
-
Copyright 2025 Smart AI Memory, LLC
|
|
6
|
-
Licensed under Fair Source 0.9
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
from typing import Any
|
|
10
|
-
|
|
11
|
-
from .base_wizard import BaseCoachWizard, WizardIssue, WizardPrediction
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class AccessibilityWizard(BaseCoachWizard):
|
|
15
|
-
"""Web accessibility (WCAG) compliance
|
|
16
|
-
|
|
17
|
-
Detects:
|
|
18
|
-
- missing alt text
|
|
19
|
-
- no ARIA labels
|
|
20
|
-
- insufficient color contrast
|
|
21
|
-
- keyboard navigation issues
|
|
22
|
-
|
|
23
|
-
Predicts (Level 4):
|
|
24
|
-
- compliance violations
|
|
25
|
-
- user experience degradation
|
|
26
|
-
- legal exposure
|
|
27
|
-
"""
|
|
28
|
-
|
|
29
|
-
def __init__(self):
|
|
30
|
-
super().__init__(
|
|
31
|
-
name="AccessibilityWizard",
|
|
32
|
-
category="Accessibility",
|
|
33
|
-
languages=["html", "jsx", "tsx", "vue", "svelte"],
|
|
34
|
-
)
|
|
35
|
-
|
|
36
|
-
def analyze_code(self, code: str, file_path: str, language: str) -> list[WizardIssue]:
|
|
37
|
-
"""Analyze code for accessibility issues
|
|
38
|
-
|
|
39
|
-
This is a reference implementation. In production, integrate with:
|
|
40
|
-
- Static analysis tools
|
|
41
|
-
- Linters and security scanners
|
|
42
|
-
- Custom rule engines
|
|
43
|
-
- AI models (Claude, GPT-4)
|
|
44
|
-
"""
|
|
45
|
-
issues = []
|
|
46
|
-
|
|
47
|
-
# Example heuristic detection
|
|
48
|
-
lines = code.split("\n")
|
|
49
|
-
for _i, _line in enumerate(lines, 1):
|
|
50
|
-
# Add detection logic based on accessibility
|
|
51
|
-
pass
|
|
52
|
-
|
|
53
|
-
self.logger.info(f"{self.name} found {len(issues)} issues in {file_path}")
|
|
54
|
-
return issues
|
|
55
|
-
|
|
56
|
-
def predict_future_issues(
|
|
57
|
-
self,
|
|
58
|
-
code: str,
|
|
59
|
-
file_path: str,
|
|
60
|
-
project_context: dict[str, Any],
|
|
61
|
-
timeline_days: int = 90,
|
|
62
|
-
) -> list[WizardPrediction]:
|
|
63
|
-
"""Level 4 Anticipatory: Predict accessibility issues {timeline_days} days ahead
|
|
64
|
-
|
|
65
|
-
Uses:
|
|
66
|
-
- Historical patterns
|
|
67
|
-
- Code trajectory analysis
|
|
68
|
-
- Dependency evolution
|
|
69
|
-
- Team velocity
|
|
70
|
-
- Industry trends
|
|
71
|
-
"""
|
|
72
|
-
predictions = []
|
|
73
|
-
|
|
74
|
-
# Example prediction logic
|
|
75
|
-
# In production, use ML models trained on historical data
|
|
76
|
-
|
|
77
|
-
self.logger.info(
|
|
78
|
-
f"{self.name} predicted {len(predictions)} future issues "
|
|
79
|
-
f"for {file_path} ({timeline_days} days ahead)",
|
|
80
|
-
)
|
|
81
|
-
return predictions
|
|
82
|
-
|
|
83
|
-
def suggest_fixes(self, issue: WizardIssue) -> str:
|
|
84
|
-
"""Suggest how to fix a accessibility issue
|
|
85
|
-
|
|
86
|
-
Returns:
|
|
87
|
-
Detailed fix suggestion with code examples
|
|
88
|
-
|
|
89
|
-
"""
|
|
90
|
-
# Implementation depends on issue type
|
|
91
|
-
return f"Fix suggestion for {issue.category} issue: {issue.message}"
|
coach_wizards/api_wizard.py
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"""APIWizard - API design and integration analysis
|
|
2
|
-
|
|
3
|
-
Level 4 Anticipatory Empathy for API using the Empathy Framework.
|
|
4
|
-
|
|
5
|
-
Copyright 2025 Smart AI Memory, LLC
|
|
6
|
-
Licensed under Fair Source 0.9
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
from typing import Any
|
|
10
|
-
|
|
11
|
-
from .base_wizard import BaseCoachWizard, WizardIssue, WizardPrediction
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class APIWizard(BaseCoachWizard):
|
|
15
|
-
"""API design and integration analysis
|
|
16
|
-
|
|
17
|
-
Detects:
|
|
18
|
-
- inconsistent endpoints
|
|
19
|
-
- missing validation
|
|
20
|
-
- poor error handling
|
|
21
|
-
- versioning issues
|
|
22
|
-
|
|
23
|
-
Predicts (Level 4):
|
|
24
|
-
- breaking changes impact
|
|
25
|
-
- backward compatibility issues
|
|
26
|
-
- integration failures
|
|
27
|
-
"""
|
|
28
|
-
|
|
29
|
-
def __init__(self):
|
|
30
|
-
super().__init__(
|
|
31
|
-
name="APIWizard",
|
|
32
|
-
category="API",
|
|
33
|
-
languages=["python", "javascript", "typescript", "java", "go", "rust"],
|
|
34
|
-
)
|
|
35
|
-
|
|
36
|
-
def analyze_code(self, code: str, file_path: str, language: str) -> list[WizardIssue]:
|
|
37
|
-
"""Analyze code for api issues
|
|
38
|
-
|
|
39
|
-
This is a reference implementation. In production, integrate with:
|
|
40
|
-
- Static analysis tools
|
|
41
|
-
- Linters and security scanners
|
|
42
|
-
- Custom rule engines
|
|
43
|
-
- AI models (Claude, GPT-4)
|
|
44
|
-
"""
|
|
45
|
-
issues = []
|
|
46
|
-
|
|
47
|
-
# Example heuristic detection
|
|
48
|
-
lines = code.split("\n")
|
|
49
|
-
for _i, _line in enumerate(lines, 1):
|
|
50
|
-
# Add detection logic based on api
|
|
51
|
-
pass
|
|
52
|
-
|
|
53
|
-
self.logger.info(f"{self.name} found {len(issues)} issues in {file_path}")
|
|
54
|
-
return issues
|
|
55
|
-
|
|
56
|
-
def predict_future_issues(
|
|
57
|
-
self,
|
|
58
|
-
code: str,
|
|
59
|
-
file_path: str,
|
|
60
|
-
project_context: dict[str, Any],
|
|
61
|
-
timeline_days: int = 90,
|
|
62
|
-
) -> list[WizardPrediction]:
|
|
63
|
-
"""Level 4 Anticipatory: Predict api issues {timeline_days} days ahead
|
|
64
|
-
|
|
65
|
-
Uses:
|
|
66
|
-
- Historical patterns
|
|
67
|
-
- Code trajectory analysis
|
|
68
|
-
- Dependency evolution
|
|
69
|
-
- Team velocity
|
|
70
|
-
- Industry trends
|
|
71
|
-
"""
|
|
72
|
-
predictions = []
|
|
73
|
-
|
|
74
|
-
# Example prediction logic
|
|
75
|
-
# In production, use ML models trained on historical data
|
|
76
|
-
|
|
77
|
-
self.logger.info(
|
|
78
|
-
f"{self.name} predicted {len(predictions)} future issues "
|
|
79
|
-
f"for {file_path} ({timeline_days} days ahead)",
|
|
80
|
-
)
|
|
81
|
-
return predictions
|
|
82
|
-
|
|
83
|
-
def suggest_fixes(self, issue: WizardIssue) -> str:
|
|
84
|
-
"""Suggest how to fix a api issue
|
|
85
|
-
|
|
86
|
-
Returns:
|
|
87
|
-
Detailed fix suggestion with code examples
|
|
88
|
-
|
|
89
|
-
"""
|
|
90
|
-
# Implementation depends on issue type
|
|
91
|
-
return f"Fix suggestion for {issue.category} issue: {issue.message}"
|
coach_wizards/base_wizard.py
DELETED
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
"""Base Coach Wizard - Foundation for all Coach wizards
|
|
2
|
-
|
|
3
|
-
Level 4 Anticipatory Empathy implementation using the Empathy Framework.
|
|
4
|
-
|
|
5
|
-
Copyright 2025 Smart AI Memory, LLC
|
|
6
|
-
Licensed under Fair Source 0.9
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
import logging
|
|
10
|
-
from abc import ABC, abstractmethod
|
|
11
|
-
from dataclasses import dataclass
|
|
12
|
-
from datetime import datetime
|
|
13
|
-
from typing import Any
|
|
14
|
-
|
|
15
|
-
logger = logging.getLogger(__name__)
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
@dataclass
|
|
19
|
-
class WizardIssue:
|
|
20
|
-
"""Represents an issue found by a wizard"""
|
|
21
|
-
|
|
22
|
-
severity: str # 'error', 'warning', 'info'
|
|
23
|
-
message: str
|
|
24
|
-
file_path: str
|
|
25
|
-
line_number: int | None
|
|
26
|
-
code_snippet: str | None
|
|
27
|
-
fix_suggestion: str | None
|
|
28
|
-
category: str
|
|
29
|
-
confidence: float # 0.0 to 1.0
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
@dataclass
|
|
33
|
-
class WizardPrediction:
|
|
34
|
-
"""Level 4 Anticipatory: Predicts future issues"""
|
|
35
|
-
|
|
36
|
-
predicted_date: datetime
|
|
37
|
-
issue_type: str
|
|
38
|
-
probability: float
|
|
39
|
-
impact: str # 'low', 'medium', 'high', 'critical'
|
|
40
|
-
prevention_steps: list[str]
|
|
41
|
-
reasoning: str
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
@dataclass
|
|
45
|
-
class WizardResult:
|
|
46
|
-
"""Result from running a wizard"""
|
|
47
|
-
|
|
48
|
-
wizard_name: str
|
|
49
|
-
issues: list[WizardIssue]
|
|
50
|
-
predictions: list[WizardPrediction]
|
|
51
|
-
summary: str
|
|
52
|
-
analyzed_files: int
|
|
53
|
-
analysis_time: float
|
|
54
|
-
recommendations: list[str]
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
class BaseCoachWizard(ABC):
|
|
58
|
-
"""Base class for all Coach wizards
|
|
59
|
-
|
|
60
|
-
Implements Level 4 Anticipatory Empathy:
|
|
61
|
-
- Analyzes current code
|
|
62
|
-
- Predicts future issues (30-90 days ahead)
|
|
63
|
-
- Provides prevention strategies
|
|
64
|
-
"""
|
|
65
|
-
|
|
66
|
-
def __init__(self, name: str, category: str, languages: list[str]):
|
|
67
|
-
self.name = name
|
|
68
|
-
self.category = category
|
|
69
|
-
self.languages = languages
|
|
70
|
-
self.logger = logging.getLogger(f"coach.{name}")
|
|
71
|
-
|
|
72
|
-
@abstractmethod
|
|
73
|
-
def analyze_code(self, code: str, file_path: str, language: str) -> list[WizardIssue]:
|
|
74
|
-
"""Analyze code for current issues
|
|
75
|
-
|
|
76
|
-
Args:
|
|
77
|
-
code: Source code to analyze
|
|
78
|
-
file_path: Path to the file being analyzed
|
|
79
|
-
language: Programming language
|
|
80
|
-
|
|
81
|
-
Returns:
|
|
82
|
-
List of issues found
|
|
83
|
-
|
|
84
|
-
"""
|
|
85
|
-
|
|
86
|
-
@abstractmethod
|
|
87
|
-
def predict_future_issues(
|
|
88
|
-
self,
|
|
89
|
-
code: str,
|
|
90
|
-
file_path: str,
|
|
91
|
-
project_context: dict[str, Any],
|
|
92
|
-
timeline_days: int = 90,
|
|
93
|
-
) -> list[WizardPrediction]:
|
|
94
|
-
"""Level 4 Anticipatory: Predict issues 30-90 days ahead
|
|
95
|
-
|
|
96
|
-
Args:
|
|
97
|
-
code: Source code to analyze
|
|
98
|
-
file_path: Path to the file
|
|
99
|
-
project_context: Project metadata (size, team, deployment frequency, etc.)
|
|
100
|
-
timeline_days: How far ahead to predict (default 90 days)
|
|
101
|
-
|
|
102
|
-
Returns:
|
|
103
|
-
List of predicted future issues
|
|
104
|
-
|
|
105
|
-
"""
|
|
106
|
-
|
|
107
|
-
@abstractmethod
|
|
108
|
-
def suggest_fixes(self, issue: WizardIssue) -> str:
|
|
109
|
-
"""Suggest how to fix an issue
|
|
110
|
-
|
|
111
|
-
Args:
|
|
112
|
-
issue: The issue to fix
|
|
113
|
-
|
|
114
|
-
Returns:
|
|
115
|
-
Fix suggestion with code examples
|
|
116
|
-
|
|
117
|
-
"""
|
|
118
|
-
|
|
119
|
-
def run_full_analysis(
|
|
120
|
-
self,
|
|
121
|
-
code: str,
|
|
122
|
-
file_path: str,
|
|
123
|
-
language: str,
|
|
124
|
-
project_context: dict[str, Any] | None = None,
|
|
125
|
-
) -> WizardResult:
|
|
126
|
-
"""Run complete analysis: current issues + future predictions
|
|
127
|
-
|
|
128
|
-
Args:
|
|
129
|
-
code: Source code to analyze
|
|
130
|
-
file_path: Path to the file
|
|
131
|
-
language: Programming language
|
|
132
|
-
project_context: Optional project context for predictions
|
|
133
|
-
|
|
134
|
-
Returns:
|
|
135
|
-
Complete wizard result
|
|
136
|
-
|
|
137
|
-
"""
|
|
138
|
-
start_time = datetime.now()
|
|
139
|
-
|
|
140
|
-
# Analyze current code
|
|
141
|
-
issues = self.analyze_code(code, file_path, language)
|
|
142
|
-
|
|
143
|
-
# Predict future issues (Level 4)
|
|
144
|
-
predictions = []
|
|
145
|
-
if project_context:
|
|
146
|
-
predictions = self.predict_future_issues(
|
|
147
|
-
code,
|
|
148
|
-
file_path,
|
|
149
|
-
project_context,
|
|
150
|
-
timeline_days=90,
|
|
151
|
-
)
|
|
152
|
-
|
|
153
|
-
# Generate recommendations
|
|
154
|
-
recommendations = self._generate_recommendations(issues, predictions)
|
|
155
|
-
|
|
156
|
-
# Calculate summary
|
|
157
|
-
summary = self._generate_summary(issues, predictions)
|
|
158
|
-
|
|
159
|
-
analysis_time = (datetime.now() - start_time).total_seconds()
|
|
160
|
-
|
|
161
|
-
return WizardResult(
|
|
162
|
-
wizard_name=self.name,
|
|
163
|
-
issues=issues,
|
|
164
|
-
predictions=predictions,
|
|
165
|
-
summary=summary,
|
|
166
|
-
analyzed_files=1,
|
|
167
|
-
analysis_time=analysis_time,
|
|
168
|
-
recommendations=recommendations,
|
|
169
|
-
)
|
|
170
|
-
|
|
171
|
-
def _generate_recommendations(
|
|
172
|
-
self,
|
|
173
|
-
issues: list[WizardIssue],
|
|
174
|
-
predictions: list[WizardPrediction],
|
|
175
|
-
) -> list[str]:
|
|
176
|
-
"""Generate actionable recommendations"""
|
|
177
|
-
recommendations = []
|
|
178
|
-
|
|
179
|
-
# Address current critical issues
|
|
180
|
-
critical_issues = [i for i in issues if i.severity == "error"]
|
|
181
|
-
if critical_issues:
|
|
182
|
-
recommendations.append(f"Fix {len(critical_issues)} critical issues immediately")
|
|
183
|
-
|
|
184
|
-
# Address predictions
|
|
185
|
-
high_probability_predictions = [p for p in predictions if p.probability > 0.7]
|
|
186
|
-
if high_probability_predictions:
|
|
187
|
-
recommendations.append(
|
|
188
|
-
f"Prevent {len(high_probability_predictions)} predicted issues with high probability",
|
|
189
|
-
)
|
|
190
|
-
|
|
191
|
-
return recommendations
|
|
192
|
-
|
|
193
|
-
def _generate_summary(
|
|
194
|
-
self,
|
|
195
|
-
issues: list[WizardIssue],
|
|
196
|
-
predictions: list[WizardPrediction],
|
|
197
|
-
) -> str:
|
|
198
|
-
"""Generate human-readable summary"""
|
|
199
|
-
error_count = len([i for i in issues if i.severity == "error"])
|
|
200
|
-
warning_count = len([i for i in issues if i.severity == "warning"])
|
|
201
|
-
prediction_count = len(predictions)
|
|
202
|
-
|
|
203
|
-
summary = f"{self.name} Analysis: "
|
|
204
|
-
summary += f"{error_count} errors, {warning_count} warnings found. "
|
|
205
|
-
|
|
206
|
-
if prediction_count > 0:
|
|
207
|
-
summary += f"{prediction_count} future issues predicted (Level 4 Anticipatory)."
|
|
208
|
-
|
|
209
|
-
return summary
|
coach_wizards/cicd_wizard.py
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"""CICDWizard - CI/CD pipeline optimization
|
|
2
|
-
|
|
3
|
-
Level 4 Anticipatory Empathy for DevOps using the Empathy Framework.
|
|
4
|
-
|
|
5
|
-
Copyright 2025 Smart AI Memory, LLC
|
|
6
|
-
Licensed under Fair Source 0.9
|
|
7
|
-
"""
|
|
8
|
-
|
|
9
|
-
from typing import Any
|
|
10
|
-
|
|
11
|
-
from .base_wizard import BaseCoachWizard, WizardIssue, WizardPrediction
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class CICDWizard(BaseCoachWizard):
|
|
15
|
-
"""CI/CD pipeline optimization
|
|
16
|
-
|
|
17
|
-
Detects:
|
|
18
|
-
- slow pipelines
|
|
19
|
-
- flaky tests
|
|
20
|
-
- deployment risks
|
|
21
|
-
- missing automation
|
|
22
|
-
|
|
23
|
-
Predicts (Level 4):
|
|
24
|
-
- deployment failures
|
|
25
|
-
- pipeline maintenance burden
|
|
26
|
-
- release delays
|
|
27
|
-
"""
|
|
28
|
-
|
|
29
|
-
def __init__(self):
|
|
30
|
-
super().__init__(
|
|
31
|
-
name="CICDWizard",
|
|
32
|
-
category="DevOps",
|
|
33
|
-
languages=["yaml", "groovy", "python", "bash"],
|
|
34
|
-
)
|
|
35
|
-
|
|
36
|
-
def analyze_code(self, code: str, file_path: str, language: str) -> list[WizardIssue]:
|
|
37
|
-
"""Analyze code for devops issues
|
|
38
|
-
|
|
39
|
-
This is a reference implementation. In production, integrate with:
|
|
40
|
-
- Static analysis tools
|
|
41
|
-
- Linters and security scanners
|
|
42
|
-
- Custom rule engines
|
|
43
|
-
- AI models (Claude, GPT-4)
|
|
44
|
-
"""
|
|
45
|
-
issues = []
|
|
46
|
-
|
|
47
|
-
# Example heuristic detection
|
|
48
|
-
lines = code.split("\n")
|
|
49
|
-
for _i, _line in enumerate(lines, 1):
|
|
50
|
-
# Add detection logic based on devops
|
|
51
|
-
pass
|
|
52
|
-
|
|
53
|
-
self.logger.info(f"{self.name} found {len(issues)} issues in {file_path}")
|
|
54
|
-
return issues
|
|
55
|
-
|
|
56
|
-
def predict_future_issues(
|
|
57
|
-
self,
|
|
58
|
-
code: str,
|
|
59
|
-
file_path: str,
|
|
60
|
-
project_context: dict[str, Any],
|
|
61
|
-
timeline_days: int = 90,
|
|
62
|
-
) -> list[WizardPrediction]:
|
|
63
|
-
"""Level 4 Anticipatory: Predict devops issues {timeline_days} days ahead
|
|
64
|
-
|
|
65
|
-
Uses:
|
|
66
|
-
- Historical patterns
|
|
67
|
-
- Code trajectory analysis
|
|
68
|
-
- Dependency evolution
|
|
69
|
-
- Team velocity
|
|
70
|
-
- Industry trends
|
|
71
|
-
"""
|
|
72
|
-
predictions = []
|
|
73
|
-
|
|
74
|
-
# Example prediction logic
|
|
75
|
-
# In production, use ML models trained on historical data
|
|
76
|
-
|
|
77
|
-
self.logger.info(
|
|
78
|
-
f"{self.name} predicted {len(predictions)} future issues "
|
|
79
|
-
f"for {file_path} ({timeline_days} days ahead)",
|
|
80
|
-
)
|
|
81
|
-
return predictions
|
|
82
|
-
|
|
83
|
-
def suggest_fixes(self, issue: WizardIssue) -> str:
|
|
84
|
-
"""Suggest how to fix a devops issue
|
|
85
|
-
|
|
86
|
-
Returns:
|
|
87
|
-
Detailed fix suggestion with code examples
|
|
88
|
-
|
|
89
|
-
"""
|
|
90
|
-
# Implementation depends on issue type
|
|
91
|
-
return f"Fix suggestion for {issue.category} issue: {issue.message}"
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# Code Reviewer Wizard
|
|
2
|
-
|
|
3
|
-
**Domain:** software
|
|
4
|
-
**Type:** Wizard
|
|
5
|
-
**Generated:** Pattern-Compose Methodology
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
|
|
9
|
-
Auto-generated wizard using proven patterns from the Empathy Framework.
|
|
10
|
-
|
|
11
|
-
## Patterns Used
|
|
12
|
-
|
|
13
|
-
- **Empathy Level**: 0-4 empathy level configuration
|
|
14
|
-
- **User Guidance**: Help text, examples, and prompts
|
|
15
|
-
- **Code Analysis Input**: Standard code analysis input (code, file_path, language)
|
|
16
|
-
- **Risk Assessment**: Level 4 Anticipatory risk analysis
|
|
17
|
-
- **Prediction**: Level 4 Anticipatory prediction of future issues
|
|
18
|
-
- **Config Validation**: Validate wizard configuration on initialization
|
|
19
|
-
|
|
20
|
-
## Usage
|
|
21
|
-
|
|
22
|
-
```python
|
|
23
|
-
from coach_wizards.code_reviewer_wizard import CodeReviewerWizard
|
|
24
|
-
|
|
25
|
-
wizard = CodeReviewerWizard()
|
|
26
|
-
result = await wizard.process(user_input="...")
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## API Endpoints
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# Process with wizard
|
|
33
|
-
POST /api/wizard/code_reviewer/process
|
|
34
|
-
{
|
|
35
|
-
"input": "your input here",
|
|
36
|
-
"context": {}
|
|
37
|
-
}
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Testing
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
# Run unit tests
|
|
44
|
-
pytest tests/unit/wizards/test_code_reviewer_wizard.py
|
|
45
|
-
|
|
46
|
-
# Run with coverage
|
|
47
|
-
pytest tests/unit/wizards/test_code_reviewer_wizard.py --cov
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Next Steps
|
|
51
|
-
|
|
52
|
-
1. Customize wizard logic as needed
|
|
53
|
-
2. Add domain-specific validation
|
|
54
|
-
3. Extend with additional features
|
|
55
|
-
4. Update tests for custom logic
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
**Generated by:** Empathy Framework - Wizard Factory
|
|
60
|
-
**Methodology:** Pattern-Compose
|