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,347 +0,0 @@
1
- #!/usr/bin/env python3
2
- """Generate all 16 Coach wizards from template.
3
-
4
- This script generates the 16 specialized Coach wizards.
5
- This is a development/build utility, excluded from coverage via .coveragerc.
6
- """
7
-
8
- WIZARD_SPECS = [
9
- {
10
- "name": "SecurityWizard",
11
- "filename": "security_wizard.py",
12
- "description": "Security vulnerability detection and prevention",
13
- "category": "Security",
14
- "languages": ["python", "javascript", "typescript", "java", "go", "rust"],
15
- "detects": ["SQL injection", "XSS", "CSRF", "insecure dependencies", "hardcoded secrets"],
16
- "predicts": ["emerging vulnerabilities", "dependency risks", "attack surface growth"],
17
- },
18
- {
19
- "name": "PerformanceWizard",
20
- "filename": "performance_wizard.py",
21
- "description": "Performance optimization and bottleneck detection",
22
- "category": "Performance",
23
- "languages": ["python", "javascript", "typescript", "java", "go", "rust", "cpp"],
24
- "detects": [
25
- "N+1 queries",
26
- "inefficient algorithms",
27
- "memory leaks",
28
- "slow database queries",
29
- ],
30
- "predicts": ["scalability bottlenecks", "response time degradation", "resource exhaustion"],
31
- },
32
- {
33
- "name": "AccessibilityWizard",
34
- "filename": "accessibility_wizard.py",
35
- "description": "Web accessibility (WCAG) compliance",
36
- "category": "Accessibility",
37
- "languages": ["html", "jsx", "tsx", "vue", "svelte"],
38
- "detects": [
39
- "missing alt text",
40
- "no ARIA labels",
41
- "insufficient color contrast",
42
- "keyboard navigation issues",
43
- ],
44
- "predicts": ["compliance violations", "user experience degradation", "legal exposure"],
45
- },
46
- {
47
- "name": "TestingWizard",
48
- "filename": "testing_wizard.py",
49
- "description": "Test coverage and quality analysis",
50
- "category": "Testing",
51
- "languages": ["python", "javascript", "typescript", "java", "go", "rust"],
52
- "detects": [
53
- "untested code paths",
54
- "missing edge cases",
55
- "flaky tests",
56
- "low code coverage",
57
- ],
58
- "predicts": ["production bugs", "regression risks", "test maintenance burden"],
59
- },
60
- {
61
- "name": "RefactoringWizard",
62
- "filename": "refactoring_wizard.py",
63
- "description": "Code quality and refactoring opportunities",
64
- "category": "Code Quality",
65
- "languages": ["python", "javascript", "typescript", "java", "go", "rust", "cpp"],
66
- "detects": ["code smells", "high complexity", "duplicated code", "god classes"],
67
- "predicts": [
68
- "maintenance burden increase",
69
- "bug introduction risk",
70
- "team velocity impact",
71
- ],
72
- },
73
- {
74
- "name": "DatabaseWizard",
75
- "filename": "database_wizard.py",
76
- "description": "Database optimization and schema analysis",
77
- "category": "Database",
78
- "languages": ["sql", "python", "javascript", "typescript", "java", "go"],
79
- "detects": ["missing indexes", "N+1 queries", "inefficient joins", "schema issues"],
80
- "predicts": ["query performance degradation", "data growth impact", "scaling limitations"],
81
- },
82
- {
83
- "name": "APIWizard",
84
- "filename": "api_wizard.py",
85
- "description": "API design and integration analysis",
86
- "category": "API",
87
- "languages": ["python", "javascript", "typescript", "java", "go", "rust"],
88
- "detects": [
89
- "inconsistent endpoints",
90
- "missing validation",
91
- "poor error handling",
92
- "versioning issues",
93
- ],
94
- "predicts": [
95
- "breaking changes impact",
96
- "backward compatibility issues",
97
- "integration failures",
98
- ],
99
- },
100
- {
101
- "name": "DebuggingWizard",
102
- "filename": "debugging_wizard.py",
103
- "description": "Error detection and debugging assistance",
104
- "category": "Debugging",
105
- "languages": ["python", "javascript", "typescript", "java", "go", "rust", "cpp"],
106
- "detects": [
107
- "potential null references",
108
- "unhandled exceptions",
109
- "race conditions",
110
- "logic errors",
111
- ],
112
- "predicts": ["runtime errors", "production incidents", "debugging complexity"],
113
- },
114
- {
115
- "name": "ScalingWizard",
116
- "filename": "scaling_wizard.py",
117
- "description": "Scalability and architecture analysis",
118
- "category": "Scalability",
119
- "languages": ["python", "javascript", "typescript", "java", "go", "rust"],
120
- "detects": ["single points of failure", "synchronous bottlenecks", "resource constraints"],
121
- "predicts": ["load handling capacity", "scaling challenges", "architecture limitations"],
122
- },
123
- {
124
- "name": "ObservabilityWizard",
125
- "filename": "observability_wizard.py",
126
- "description": "Logging, metrics, and tracing analysis",
127
- "category": "Observability",
128
- "languages": ["python", "javascript", "typescript", "java", "go", "rust"],
129
- "detects": ["missing logs", "no metrics", "poor error tracking", "lack of tracing"],
130
- "predicts": ["debugging difficulties", "incident response delays", "unknown unknowns"],
131
- },
132
- {
133
- "name": "CICDWizard",
134
- "filename": "cicd_wizard.py",
135
- "description": "CI/CD pipeline optimization",
136
- "category": "DevOps",
137
- "languages": ["yaml", "groovy", "python", "bash"],
138
- "detects": ["slow pipelines", "flaky tests", "deployment risks", "missing automation"],
139
- "predicts": ["deployment failures", "pipeline maintenance burden", "release delays"],
140
- },
141
- {
142
- "name": "DocumentationWizard",
143
- "filename": "documentation_wizard.py",
144
- "description": "Documentation quality and completeness",
145
- "category": "Documentation",
146
- "languages": ["python", "javascript", "typescript", "java", "go", "rust", "markdown"],
147
- "detects": ["missing docstrings", "outdated docs", "unclear explanations", "no examples"],
148
- "predicts": ["knowledge loss", "onboarding difficulties", "support burden"],
149
- },
150
- {
151
- "name": "ComplianceWizard",
152
- "filename": "compliance_wizard.py",
153
- "description": "Regulatory and compliance checking",
154
- "category": "Compliance",
155
- "languages": ["python", "javascript", "typescript", "java", "go"],
156
- "detects": ["PII handling issues", "GDPR violations", "SOC 2 gaps", "audit trail missing"],
157
- "predicts": ["regulatory audits", "compliance violations", "legal exposure"],
158
- },
159
- {
160
- "name": "MigrationWizard",
161
- "filename": "migration_wizard.py",
162
- "description": "Code migration and upgrade assistance",
163
- "category": "Migration",
164
- "languages": ["python", "javascript", "typescript", "java", "go", "rust"],
165
- "detects": ["deprecated APIs", "breaking changes", "incompatibilities", "migration risks"],
166
- "predicts": ["upgrade complexity", "compatibility issues", "migration timeline"],
167
- },
168
- {
169
- "name": "MonitoringWizard",
170
- "filename": "monitoring_wizard.py",
171
- "description": "System monitoring and alerting",
172
- "category": "Monitoring",
173
- "languages": ["python", "javascript", "typescript", "java", "go", "yaml"],
174
- "detects": ["missing alerts", "alert fatigue", "no SLOs", "blind spots"],
175
- "predicts": ["undetected incidents", "alert storm risk", "monitoring gaps"],
176
- },
177
- {
178
- "name": "LocalizationWizard",
179
- "filename": "localization_wizard.py",
180
- "description": "Internationalization and localization",
181
- "category": "Localization",
182
- "languages": ["python", "javascript", "typescript", "java", "go", "html", "jsx", "tsx"],
183
- "detects": ["hardcoded strings", "missing translations", "locale issues", "RTL problems"],
184
- "predicts": [
185
- "i18n technical debt",
186
- "translation maintenance burden",
187
- "locale coverage gaps",
188
- ],
189
- },
190
- ]
191
-
192
- WIZARD_TEMPLATE = '''"""
193
- {name} - {description}
194
-
195
- Level 4 Anticipatory Empathy for {category} using the Empathy Framework.
196
-
197
- Copyright 2025 Smart AI Memory, LLC
198
- Licensed under Fair Source 0.9
199
- """
200
-
201
- from typing import List, Dict, Any
202
- from datetime import datetime, timedelta
203
- from .base_wizard import BaseCoachWizard, WizardIssue, WizardPrediction
204
-
205
-
206
- class {name}(BaseCoachWizard):
207
- """
208
- {description}
209
-
210
- Detects:
211
- {detects_list}
212
-
213
- Predicts (Level 4):
214
- {predicts_list}
215
- """
216
-
217
- def __init__(self):
218
- super().__init__(
219
- name="{name}",
220
- category="{category}",
221
- languages={languages}
222
- )
223
-
224
- def analyze_code(self, code: str, file_path: str, language: str) -> List[WizardIssue]:
225
- """
226
- Analyze code for {category_lower} issues
227
-
228
- This is a reference implementation. In production, integrate with:
229
- - Static analysis tools
230
- - Linters and security scanners
231
- - Custom rule engines
232
- - AI models (Claude, GPT-4)
233
- """
234
- issues = []
235
-
236
- # Example heuristic detection
237
- lines = code.split('\\n')
238
- for i, line in enumerate(lines, 1):
239
- # Add detection logic based on {category_lower}
240
- pass
241
-
242
- self.logger.info(f"{{self.name}} found {{len(issues)}} issues in {{file_path}}")
243
- return issues
244
-
245
- def predict_future_issues(self,
246
- code: str,
247
- file_path: str,
248
- project_context: Dict[str, Any],
249
- timeline_days: int = 90) -> List[WizardPrediction]:
250
- """
251
- Level 4 Anticipatory: Predict {category_lower} issues {{timeline_days}} days ahead
252
-
253
- Uses:
254
- - Historical patterns
255
- - Code trajectory analysis
256
- - Dependency evolution
257
- - Team velocity
258
- - Industry trends
259
- """
260
- predictions = []
261
-
262
- # Example prediction logic
263
- # In production, use ML models trained on historical data
264
-
265
- self.logger.info(
266
- f"{{self.name}} predicted {{len(predictions)}} future issues "
267
- f"for {{file_path}} ({{timeline_days}} days ahead)"
268
- )
269
- return predictions
270
-
271
- def suggest_fixes(self, issue: WizardIssue) -> str:
272
- """
273
- Suggest how to fix a {category_lower} issue
274
-
275
- Returns:
276
- Detailed fix suggestion with code examples
277
- """
278
- # Implementation depends on issue type
279
- return f"Fix suggestion for {{issue.category}} issue: {{issue.message}}"
280
-
281
-
282
- # Example usage
283
- if __name__ == "__main__":
284
- wizard = {name}()
285
-
286
- # Example code to analyze
287
- sample_code = '''
288
- # Add sample code relevant to {category_lower}
289
- """
290
-
291
- result = wizard.run_full_analysis(
292
- code=sample_code,
293
- file_path="example.py",
294
- language="python",
295
- project_context={{
296
- "team_size": 10,
297
- "deployment_frequency": "daily",
298
- "code_churn_rate": 0.15
299
- }}
300
- )
301
-
302
- print(f"Analysis: {{result.summary}}")
303
- print(f"Issues found: {{len(result.issues)}}")
304
- print(f"Predictions: {{len(result.predictions)}}")
305
- """
306
-
307
-
308
- def generate_wizard(spec):
309
- """Generate a wizard file from spec"""
310
- detects_list = "\n".join([f" - {d}" for d in spec["detects"]])
311
- predicts_list = "\n".join([f" - {p}" for p in spec["predicts"]])
312
-
313
- content = WIZARD_TEMPLATE.format(
314
- name=spec["name"],
315
- filename=spec["filename"],
316
- description=spec["description"],
317
- category=spec["category"],
318
- category_lower=spec["category"].lower(),
319
- languages=spec["languages"],
320
- detects_list=detects_list,
321
- predicts_list=predicts_list,
322
- )
323
-
324
- with open(spec["filename"], "w") as f:
325
- f.write(content)
326
-
327
- print(f"✓ Generated {spec['filename']}")
328
-
329
-
330
- def main():
331
- """Generate all 16 Coach wizards"""
332
- print("Generating 16 Coach wizards...")
333
- print()
334
-
335
- for spec in WIZARD_SPECS:
336
- generate_wizard(spec)
337
-
338
- print()
339
- print("✓ All 16 Coach wizards generated successfully!")
340
- print()
341
- print("Wizards created:")
342
- for spec in WIZARD_SPECS:
343
- print(f" - {spec['name']}: {spec['description']}")
344
-
345
-
346
- if __name__ == "__main__":
347
- main()
@@ -1,173 +0,0 @@
1
- """LocalizationWizard - Internationalization and localization
2
-
3
- Level 4 Anticipatory Empathy for Localization 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 LocalizationWizard(BaseCoachWizard):
15
- """Internationalization and localization
16
-
17
- Detects:
18
- - hardcoded strings
19
- - missing translations
20
- - locale issues
21
- - RTL problems
22
-
23
- Predicts (Level 4):
24
- - i18n technical debt
25
- - translation maintenance burden
26
- - locale coverage gaps
27
- """
28
-
29
- def __init__(self):
30
- super().__init__(
31
- name="LocalizationWizard",
32
- category="Localization",
33
- languages=["python", "javascript", "typescript", "java", "go", "html", "jsx", "tsx"],
34
- )
35
-
36
- def analyze_code(self, code: str, file_path: str, language: str) -> list[WizardIssue]:
37
- """Analyze code for localization 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: list[WizardIssue] = []
46
-
47
- # Use generator-based iteration to avoid large list copies
48
- # splitlines() is more memory-efficient than split("\n")
49
- for line_num, line in enumerate(code.splitlines(), 1):
50
- # Detect hardcoded strings (basic heuristic)
51
- issue = self._check_hardcoded_string(line, line_num, file_path, language)
52
- if issue:
53
- issues.append(issue)
54
-
55
- self.logger.info(f"{self.name} found {len(issues)} issues in {file_path}")
56
- return issues
57
-
58
- def _check_hardcoded_string(
59
- self,
60
- line: str,
61
- line_num: int,
62
- file_path: str,
63
- language: str,
64
- ) -> WizardIssue | None:
65
- """Check a single line for hardcoded user-facing strings."""
66
- # Skip comments and imports
67
- stripped = line.strip()
68
- if not stripped or stripped.startswith(("#", "//", "/*", "*", "import", "from")):
69
- return None
70
-
71
- # Basic detection patterns by language
72
- # In production, use language-specific AST parsing
73
- patterns = {
74
- "python": self._check_python_hardcoded,
75
- "javascript": self._check_js_hardcoded,
76
- "typescript": self._check_js_hardcoded,
77
- "jsx": self._check_js_hardcoded,
78
- "tsx": self._check_js_hardcoded,
79
- }
80
-
81
- checker = patterns.get(language)
82
- if checker:
83
- return checker(line, line_num, file_path)
84
- return None
85
-
86
- def _check_python_hardcoded(
87
- self,
88
- line: str,
89
- line_num: int,
90
- file_path: str,
91
- ) -> WizardIssue | None:
92
- """Check Python code for hardcoded UI strings."""
93
- # Look for print() or raise with string literals
94
- # Skip logging, docstrings, and comments
95
- if "print(" in line or "raise " in line:
96
- # Check for quoted strings that look like UI text
97
- if '"' in line or "'" in line:
98
- # Basic heuristic: strings > 10 chars that aren't paths/URLs
99
- import re
100
-
101
- strings = re.findall(r'["\']([^"\']{10,})["\']', line)
102
- for s in strings:
103
- if not s.startswith(("/", "http", "\\", ".")):
104
- return WizardIssue(
105
- category="hardcoded_string",
106
- severity="warning",
107
- message=f"Potential hardcoded UI string: '{s[:30]}...'",
108
- file_path=file_path,
109
- line_number=line_num,
110
- code_snippet=line.strip(),
111
- fix_suggestion="Consider using i18n translation function",
112
- confidence=0.7,
113
- )
114
- return None
115
-
116
- def _check_js_hardcoded(self, line: str, line_num: int, file_path: str) -> WizardIssue | None:
117
- """Check JavaScript/TypeScript for hardcoded UI strings."""
118
- # Look for JSX text content or string assignments
119
- import re
120
-
121
- # Check for text in JSX elements: <div>Hello World</div>
122
- jsx_text = re.search(r">([A-Z][^<]{5,})<", line)
123
- if jsx_text:
124
- text = jsx_text.group(1).strip()
125
- if text and not text.startswith("{"):
126
- return WizardIssue(
127
- category="hardcoded_string",
128
- severity="warning",
129
- message=f"Hardcoded JSX text: '{text[:30]}...'",
130
- file_path=file_path,
131
- line_number=line_num,
132
- code_snippet=line.strip(),
133
- fix_suggestion="Use i18n: {t('key')} instead of hardcoded text",
134
- confidence=0.8,
135
- )
136
- return None
137
-
138
- def predict_future_issues(
139
- self,
140
- code: str,
141
- file_path: str,
142
- project_context: dict[str, Any],
143
- timeline_days: int = 90,
144
- ) -> list[WizardPrediction]:
145
- """Level 4 Anticipatory: Predict localization issues {timeline_days} days ahead
146
-
147
- Uses:
148
- - Historical patterns
149
- - Code trajectory analysis
150
- - Dependency evolution
151
- - Team velocity
152
- - Industry trends
153
- """
154
- predictions: list[WizardPrediction] = []
155
-
156
- # Example prediction logic
157
- # In production, use ML models trained on historical data
158
-
159
- self.logger.info(
160
- f"{self.name} predicted {len(predictions)} future issues "
161
- f"for {file_path} ({timeline_days} days ahead)",
162
- )
163
- return predictions
164
-
165
- def suggest_fixes(self, issue: WizardIssue) -> str:
166
- """Suggest how to fix a localization issue
167
-
168
- Returns:
169
- Detailed fix suggestion with code examples
170
-
171
- """
172
- # Implementation depends on issue type
173
- return f"Fix suggestion for {issue.category} issue: {issue.message}"
@@ -1,91 +0,0 @@
1
- """MigrationWizard - Code migration and upgrade assistance
2
-
3
- Level 4 Anticipatory Empathy for Migration 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 MigrationWizard(BaseCoachWizard):
15
- """Code migration and upgrade assistance
16
-
17
- Detects:
18
- - deprecated APIs
19
- - breaking changes
20
- - incompatibilities
21
- - migration risks
22
-
23
- Predicts (Level 4):
24
- - upgrade complexity
25
- - compatibility issues
26
- - migration timeline
27
- """
28
-
29
- def __init__(self):
30
- super().__init__(
31
- name="MigrationWizard",
32
- category="Migration",
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 migration 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 migration
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 migration 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 migration 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}"