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.
Files changed (273) hide show
  1. empathy_framework-4.7.1.dist-info/METADATA +690 -0
  2. empathy_framework-4.7.1.dist-info/RECORD +379 -0
  3. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/top_level.txt +1 -2
  4. empathy_healthcare_plugin/monitors/monitoring/__init__.py +9 -9
  5. empathy_llm_toolkit/agent_factory/__init__.py +6 -6
  6. empathy_llm_toolkit/agent_factory/adapters/wizard_adapter.py +7 -10
  7. empathy_llm_toolkit/agents_md/__init__.py +22 -0
  8. empathy_llm_toolkit/agents_md/loader.py +218 -0
  9. empathy_llm_toolkit/agents_md/parser.py +271 -0
  10. empathy_llm_toolkit/agents_md/registry.py +307 -0
  11. empathy_llm_toolkit/commands/__init__.py +51 -0
  12. empathy_llm_toolkit/commands/context.py +375 -0
  13. empathy_llm_toolkit/commands/loader.py +301 -0
  14. empathy_llm_toolkit/commands/models.py +231 -0
  15. empathy_llm_toolkit/commands/parser.py +371 -0
  16. empathy_llm_toolkit/commands/registry.py +429 -0
  17. empathy_llm_toolkit/config/__init__.py +8 -8
  18. empathy_llm_toolkit/config/unified.py +3 -7
  19. empathy_llm_toolkit/context/__init__.py +22 -0
  20. empathy_llm_toolkit/context/compaction.py +455 -0
  21. empathy_llm_toolkit/context/manager.py +434 -0
  22. empathy_llm_toolkit/hooks/__init__.py +24 -0
  23. empathy_llm_toolkit/hooks/config.py +306 -0
  24. empathy_llm_toolkit/hooks/executor.py +289 -0
  25. empathy_llm_toolkit/hooks/registry.py +302 -0
  26. empathy_llm_toolkit/hooks/scripts/__init__.py +39 -0
  27. empathy_llm_toolkit/hooks/scripts/evaluate_session.py +201 -0
  28. empathy_llm_toolkit/hooks/scripts/first_time_init.py +285 -0
  29. empathy_llm_toolkit/hooks/scripts/pre_compact.py +207 -0
  30. empathy_llm_toolkit/hooks/scripts/session_end.py +183 -0
  31. empathy_llm_toolkit/hooks/scripts/session_start.py +163 -0
  32. empathy_llm_toolkit/hooks/scripts/suggest_compact.py +225 -0
  33. empathy_llm_toolkit/learning/__init__.py +30 -0
  34. empathy_llm_toolkit/learning/evaluator.py +438 -0
  35. empathy_llm_toolkit/learning/extractor.py +514 -0
  36. empathy_llm_toolkit/learning/storage.py +560 -0
  37. empathy_llm_toolkit/providers.py +4 -11
  38. empathy_llm_toolkit/security/__init__.py +17 -17
  39. empathy_llm_toolkit/utils/tokens.py +2 -5
  40. empathy_os/__init__.py +202 -70
  41. empathy_os/cache_monitor.py +5 -3
  42. empathy_os/cli/__init__.py +11 -55
  43. empathy_os/cli/__main__.py +29 -15
  44. empathy_os/cli/commands/inspection.py +21 -12
  45. empathy_os/cli/commands/memory.py +4 -12
  46. empathy_os/cli/commands/profiling.py +198 -0
  47. empathy_os/cli/commands/utilities.py +27 -7
  48. empathy_os/cli.py +28 -57
  49. empathy_os/cli_unified.py +525 -1164
  50. empathy_os/cost_tracker.py +9 -3
  51. empathy_os/dashboard/server.py +200 -2
  52. empathy_os/hot_reload/__init__.py +7 -7
  53. empathy_os/hot_reload/config.py +6 -7
  54. empathy_os/hot_reload/integration.py +35 -35
  55. empathy_os/hot_reload/reloader.py +57 -57
  56. empathy_os/hot_reload/watcher.py +28 -28
  57. empathy_os/hot_reload/websocket.py +2 -2
  58. empathy_os/memory/__init__.py +11 -4
  59. empathy_os/memory/claude_memory.py +1 -1
  60. empathy_os/memory/cross_session.py +8 -12
  61. empathy_os/memory/edges.py +6 -6
  62. empathy_os/memory/file_session.py +770 -0
  63. empathy_os/memory/graph.py +30 -30
  64. empathy_os/memory/nodes.py +6 -6
  65. empathy_os/memory/short_term.py +15 -9
  66. empathy_os/memory/unified.py +606 -140
  67. empathy_os/meta_workflows/agent_creator.py +3 -9
  68. empathy_os/meta_workflows/cli_meta_workflows.py +113 -53
  69. empathy_os/meta_workflows/form_engine.py +6 -18
  70. empathy_os/meta_workflows/intent_detector.py +64 -24
  71. empathy_os/meta_workflows/models.py +3 -1
  72. empathy_os/meta_workflows/pattern_learner.py +13 -31
  73. empathy_os/meta_workflows/plan_generator.py +55 -47
  74. empathy_os/meta_workflows/session_context.py +2 -3
  75. empathy_os/meta_workflows/workflow.py +20 -51
  76. empathy_os/models/cli.py +2 -2
  77. empathy_os/models/tasks.py +1 -2
  78. empathy_os/models/telemetry.py +4 -1
  79. empathy_os/models/token_estimator.py +3 -1
  80. empathy_os/monitoring/alerts.py +938 -9
  81. empathy_os/monitoring/alerts_cli.py +346 -183
  82. empathy_os/orchestration/execution_strategies.py +12 -29
  83. empathy_os/orchestration/pattern_learner.py +20 -26
  84. empathy_os/orchestration/real_tools.py +6 -15
  85. empathy_os/platform_utils.py +2 -1
  86. empathy_os/plugins/__init__.py +2 -2
  87. empathy_os/plugins/base.py +64 -64
  88. empathy_os/plugins/registry.py +32 -32
  89. empathy_os/project_index/index.py +49 -15
  90. empathy_os/project_index/models.py +1 -2
  91. empathy_os/project_index/reports.py +1 -1
  92. empathy_os/project_index/scanner.py +1 -0
  93. empathy_os/redis_memory.py +10 -7
  94. empathy_os/resilience/__init__.py +1 -1
  95. empathy_os/resilience/health.py +10 -10
  96. empathy_os/routing/__init__.py +7 -7
  97. empathy_os/routing/chain_executor.py +37 -37
  98. empathy_os/routing/classifier.py +36 -36
  99. empathy_os/routing/smart_router.py +40 -40
  100. empathy_os/routing/{wizard_registry.py → workflow_registry.py} +47 -47
  101. empathy_os/scaffolding/__init__.py +8 -8
  102. empathy_os/scaffolding/__main__.py +1 -1
  103. empathy_os/scaffolding/cli.py +28 -28
  104. empathy_os/socratic/__init__.py +3 -19
  105. empathy_os/socratic/ab_testing.py +25 -36
  106. empathy_os/socratic/blueprint.py +38 -38
  107. empathy_os/socratic/cli.py +34 -20
  108. empathy_os/socratic/collaboration.py +30 -28
  109. empathy_os/socratic/domain_templates.py +9 -1
  110. empathy_os/socratic/embeddings.py +17 -13
  111. empathy_os/socratic/engine.py +135 -70
  112. empathy_os/socratic/explainer.py +70 -60
  113. empathy_os/socratic/feedback.py +24 -19
  114. empathy_os/socratic/forms.py +15 -10
  115. empathy_os/socratic/generator.py +51 -35
  116. empathy_os/socratic/llm_analyzer.py +25 -23
  117. empathy_os/socratic/mcp_server.py +99 -159
  118. empathy_os/socratic/session.py +19 -13
  119. empathy_os/socratic/storage.py +98 -67
  120. empathy_os/socratic/success.py +38 -27
  121. empathy_os/socratic/visual_editor.py +51 -39
  122. empathy_os/socratic/web_ui.py +99 -66
  123. empathy_os/telemetry/cli.py +3 -1
  124. empathy_os/telemetry/usage_tracker.py +1 -3
  125. empathy_os/test_generator/__init__.py +3 -3
  126. empathy_os/test_generator/cli.py +28 -28
  127. empathy_os/test_generator/generator.py +64 -66
  128. empathy_os/test_generator/risk_analyzer.py +11 -11
  129. empathy_os/vscode_bridge 2.py +173 -0
  130. empathy_os/vscode_bridge.py +173 -0
  131. empathy_os/workflows/__init__.py +212 -120
  132. empathy_os/workflows/batch_processing.py +8 -24
  133. empathy_os/workflows/bug_predict.py +1 -1
  134. empathy_os/workflows/code_review.py +20 -5
  135. empathy_os/workflows/code_review_pipeline.py +13 -8
  136. empathy_os/workflows/keyboard_shortcuts/workflow.py +6 -2
  137. empathy_os/workflows/manage_documentation.py +1 -0
  138. empathy_os/workflows/orchestrated_health_check.py +6 -11
  139. empathy_os/workflows/orchestrated_release_prep.py +3 -3
  140. empathy_os/workflows/pr_review.py +18 -10
  141. empathy_os/workflows/progressive/README 2.md +454 -0
  142. empathy_os/workflows/progressive/__init__ 2.py +92 -0
  143. empathy_os/workflows/progressive/__init__.py +2 -12
  144. empathy_os/workflows/progressive/cli 2.py +242 -0
  145. empathy_os/workflows/progressive/cli.py +14 -37
  146. empathy_os/workflows/progressive/core 2.py +488 -0
  147. empathy_os/workflows/progressive/core.py +12 -12
  148. empathy_os/workflows/progressive/orchestrator 2.py +701 -0
  149. empathy_os/workflows/progressive/orchestrator.py +166 -144
  150. empathy_os/workflows/progressive/reports 2.py +528 -0
  151. empathy_os/workflows/progressive/reports.py +22 -31
  152. empathy_os/workflows/progressive/telemetry 2.py +280 -0
  153. empathy_os/workflows/progressive/telemetry.py +8 -14
  154. empathy_os/workflows/progressive/test_gen 2.py +514 -0
  155. empathy_os/workflows/progressive/test_gen.py +29 -48
  156. empathy_os/workflows/progressive/workflow 2.py +628 -0
  157. empathy_os/workflows/progressive/workflow.py +31 -70
  158. empathy_os/workflows/release_prep.py +21 -6
  159. empathy_os/workflows/release_prep_crew.py +1 -0
  160. empathy_os/workflows/secure_release.py +13 -6
  161. empathy_os/workflows/security_audit.py +8 -3
  162. empathy_os/workflows/test_coverage_boost_crew.py +3 -2
  163. empathy_os/workflows/test_maintenance_crew.py +1 -0
  164. empathy_os/workflows/test_runner.py +16 -12
  165. empathy_software_plugin/SOFTWARE_PLUGIN_README.md +25 -703
  166. empathy_software_plugin/cli.py +0 -122
  167. patterns/README.md +119 -0
  168. patterns/__init__.py +95 -0
  169. patterns/behavior.py +298 -0
  170. patterns/code_review_memory.json +441 -0
  171. patterns/core.py +97 -0
  172. patterns/debugging.json +3763 -0
  173. patterns/empathy.py +268 -0
  174. patterns/health_check_memory.json +505 -0
  175. patterns/input.py +161 -0
  176. patterns/memory_graph.json +8 -0
  177. patterns/refactoring_memory.json +1113 -0
  178. patterns/registry.py +663 -0
  179. patterns/security_memory.json +8 -0
  180. patterns/structural.py +415 -0
  181. patterns/validation.py +194 -0
  182. coach_wizards/__init__.py +0 -45
  183. coach_wizards/accessibility_wizard.py +0 -91
  184. coach_wizards/api_wizard.py +0 -91
  185. coach_wizards/base_wizard.py +0 -209
  186. coach_wizards/cicd_wizard.py +0 -91
  187. coach_wizards/code_reviewer_README.md +0 -60
  188. coach_wizards/code_reviewer_wizard.py +0 -180
  189. coach_wizards/compliance_wizard.py +0 -91
  190. coach_wizards/database_wizard.py +0 -91
  191. coach_wizards/debugging_wizard.py +0 -91
  192. coach_wizards/documentation_wizard.py +0 -91
  193. coach_wizards/generate_wizards.py +0 -347
  194. coach_wizards/localization_wizard.py +0 -173
  195. coach_wizards/migration_wizard.py +0 -91
  196. coach_wizards/monitoring_wizard.py +0 -91
  197. coach_wizards/observability_wizard.py +0 -91
  198. coach_wizards/performance_wizard.py +0 -91
  199. coach_wizards/prompt_engineering_wizard.py +0 -661
  200. coach_wizards/refactoring_wizard.py +0 -91
  201. coach_wizards/scaling_wizard.py +0 -90
  202. coach_wizards/security_wizard.py +0 -92
  203. coach_wizards/testing_wizard.py +0 -91
  204. empathy_framework-4.6.6.dist-info/METADATA +0 -1597
  205. empathy_framework-4.6.6.dist-info/RECORD +0 -410
  206. empathy_llm_toolkit/wizards/__init__.py +0 -43
  207. empathy_llm_toolkit/wizards/base_wizard.py +0 -364
  208. empathy_llm_toolkit/wizards/customer_support_wizard.py +0 -190
  209. empathy_llm_toolkit/wizards/healthcare_wizard.py +0 -378
  210. empathy_llm_toolkit/wizards/patient_assessment_README.md +0 -64
  211. empathy_llm_toolkit/wizards/patient_assessment_wizard.py +0 -193
  212. empathy_llm_toolkit/wizards/technology_wizard.py +0 -209
  213. empathy_os/wizard_factory_cli.py +0 -170
  214. empathy_software_plugin/wizards/__init__.py +0 -42
  215. empathy_software_plugin/wizards/advanced_debugging_wizard.py +0 -395
  216. empathy_software_plugin/wizards/agent_orchestration_wizard.py +0 -511
  217. empathy_software_plugin/wizards/ai_collaboration_wizard.py +0 -503
  218. empathy_software_plugin/wizards/ai_context_wizard.py +0 -441
  219. empathy_software_plugin/wizards/ai_documentation_wizard.py +0 -503
  220. empathy_software_plugin/wizards/base_wizard.py +0 -288
  221. empathy_software_plugin/wizards/book_chapter_wizard.py +0 -519
  222. empathy_software_plugin/wizards/code_review_wizard.py +0 -604
  223. empathy_software_plugin/wizards/debugging/__init__.py +0 -50
  224. empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py +0 -414
  225. empathy_software_plugin/wizards/debugging/config_loaders.py +0 -446
  226. empathy_software_plugin/wizards/debugging/fix_applier.py +0 -469
  227. empathy_software_plugin/wizards/debugging/language_patterns.py +0 -385
  228. empathy_software_plugin/wizards/debugging/linter_parsers.py +0 -470
  229. empathy_software_plugin/wizards/debugging/verification.py +0 -369
  230. empathy_software_plugin/wizards/enhanced_testing_wizard.py +0 -537
  231. empathy_software_plugin/wizards/memory_enhanced_debugging_wizard.py +0 -816
  232. empathy_software_plugin/wizards/multi_model_wizard.py +0 -501
  233. empathy_software_plugin/wizards/pattern_extraction_wizard.py +0 -422
  234. empathy_software_plugin/wizards/pattern_retriever_wizard.py +0 -400
  235. empathy_software_plugin/wizards/performance/__init__.py +0 -9
  236. empathy_software_plugin/wizards/performance/bottleneck_detector.py +0 -221
  237. empathy_software_plugin/wizards/performance/profiler_parsers.py +0 -278
  238. empathy_software_plugin/wizards/performance/trajectory_analyzer.py +0 -429
  239. empathy_software_plugin/wizards/performance_profiling_wizard.py +0 -305
  240. empathy_software_plugin/wizards/prompt_engineering_wizard.py +0 -425
  241. empathy_software_plugin/wizards/rag_pattern_wizard.py +0 -461
  242. empathy_software_plugin/wizards/security/__init__.py +0 -32
  243. empathy_software_plugin/wizards/security/exploit_analyzer.py +0 -290
  244. empathy_software_plugin/wizards/security/owasp_patterns.py +0 -241
  245. empathy_software_plugin/wizards/security/vulnerability_scanner.py +0 -604
  246. empathy_software_plugin/wizards/security_analysis_wizard.py +0 -322
  247. empathy_software_plugin/wizards/security_learning_wizard.py +0 -740
  248. empathy_software_plugin/wizards/tech_debt_wizard.py +0 -726
  249. empathy_software_plugin/wizards/testing/__init__.py +0 -27
  250. empathy_software_plugin/wizards/testing/coverage_analyzer.py +0 -459
  251. empathy_software_plugin/wizards/testing/quality_analyzer.py +0 -525
  252. empathy_software_plugin/wizards/testing/test_suggester.py +0 -533
  253. empathy_software_plugin/wizards/testing_wizard.py +0 -274
  254. wizards/__init__.py +0 -82
  255. wizards/admission_assessment_wizard.py +0 -644
  256. wizards/care_plan.py +0 -321
  257. wizards/clinical_assessment.py +0 -769
  258. wizards/discharge_planning.py +0 -77
  259. wizards/discharge_summary_wizard.py +0 -468
  260. wizards/dosage_calculation.py +0 -497
  261. wizards/incident_report_wizard.py +0 -454
  262. wizards/medication_reconciliation.py +0 -85
  263. wizards/nursing_assessment.py +0 -171
  264. wizards/patient_education.py +0 -654
  265. wizards/quality_improvement.py +0 -705
  266. wizards/sbar_report.py +0 -324
  267. wizards/sbar_wizard.py +0 -608
  268. wizards/shift_handoff_wizard.py +0 -535
  269. wizards/soap_note_wizard.py +0 -679
  270. wizards/treatment_plan.py +0 -15
  271. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/WHEEL +0 -0
  272. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/entry_points.txt +0 -0
  273. {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}"
@@ -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}"
@@ -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
@@ -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