empathy-framework 4.6.6__py3-none-any.whl → 4.7.0__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 (247) hide show
  1. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/METADATA +7 -6
  2. empathy_framework-4.7.0.dist-info/RECORD +354 -0
  3. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/top_level.txt +0 -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.py +173 -0
  130. empathy_os/workflows/__init__.py +212 -120
  131. empathy_os/workflows/batch_processing.py +8 -24
  132. empathy_os/workflows/bug_predict.py +1 -1
  133. empathy_os/workflows/code_review.py +20 -5
  134. empathy_os/workflows/code_review_pipeline.py +13 -8
  135. empathy_os/workflows/keyboard_shortcuts/workflow.py +6 -2
  136. empathy_os/workflows/manage_documentation.py +1 -0
  137. empathy_os/workflows/orchestrated_health_check.py +6 -11
  138. empathy_os/workflows/orchestrated_release_prep.py +3 -3
  139. empathy_os/workflows/pr_review.py +18 -10
  140. empathy_os/workflows/progressive/__init__.py +2 -12
  141. empathy_os/workflows/progressive/cli.py +14 -37
  142. empathy_os/workflows/progressive/core.py +12 -12
  143. empathy_os/workflows/progressive/orchestrator.py +166 -144
  144. empathy_os/workflows/progressive/reports.py +22 -31
  145. empathy_os/workflows/progressive/telemetry.py +8 -14
  146. empathy_os/workflows/progressive/test_gen.py +29 -48
  147. empathy_os/workflows/progressive/workflow.py +31 -70
  148. empathy_os/workflows/release_prep.py +21 -6
  149. empathy_os/workflows/release_prep_crew.py +1 -0
  150. empathy_os/workflows/secure_release.py +13 -6
  151. empathy_os/workflows/security_audit.py +8 -3
  152. empathy_os/workflows/test_coverage_boost_crew.py +3 -2
  153. empathy_os/workflows/test_maintenance_crew.py +1 -0
  154. empathy_os/workflows/test_runner.py +16 -12
  155. empathy_software_plugin/SOFTWARE_PLUGIN_README.md +25 -703
  156. empathy_software_plugin/cli.py +0 -122
  157. coach_wizards/__init__.py +0 -45
  158. coach_wizards/accessibility_wizard.py +0 -91
  159. coach_wizards/api_wizard.py +0 -91
  160. coach_wizards/base_wizard.py +0 -209
  161. coach_wizards/cicd_wizard.py +0 -91
  162. coach_wizards/code_reviewer_README.md +0 -60
  163. coach_wizards/code_reviewer_wizard.py +0 -180
  164. coach_wizards/compliance_wizard.py +0 -91
  165. coach_wizards/database_wizard.py +0 -91
  166. coach_wizards/debugging_wizard.py +0 -91
  167. coach_wizards/documentation_wizard.py +0 -91
  168. coach_wizards/generate_wizards.py +0 -347
  169. coach_wizards/localization_wizard.py +0 -173
  170. coach_wizards/migration_wizard.py +0 -91
  171. coach_wizards/monitoring_wizard.py +0 -91
  172. coach_wizards/observability_wizard.py +0 -91
  173. coach_wizards/performance_wizard.py +0 -91
  174. coach_wizards/prompt_engineering_wizard.py +0 -661
  175. coach_wizards/refactoring_wizard.py +0 -91
  176. coach_wizards/scaling_wizard.py +0 -90
  177. coach_wizards/security_wizard.py +0 -92
  178. coach_wizards/testing_wizard.py +0 -91
  179. empathy_framework-4.6.6.dist-info/RECORD +0 -410
  180. empathy_llm_toolkit/wizards/__init__.py +0 -43
  181. empathy_llm_toolkit/wizards/base_wizard.py +0 -364
  182. empathy_llm_toolkit/wizards/customer_support_wizard.py +0 -190
  183. empathy_llm_toolkit/wizards/healthcare_wizard.py +0 -378
  184. empathy_llm_toolkit/wizards/patient_assessment_README.md +0 -64
  185. empathy_llm_toolkit/wizards/patient_assessment_wizard.py +0 -193
  186. empathy_llm_toolkit/wizards/technology_wizard.py +0 -209
  187. empathy_os/wizard_factory_cli.py +0 -170
  188. empathy_software_plugin/wizards/__init__.py +0 -42
  189. empathy_software_plugin/wizards/advanced_debugging_wizard.py +0 -395
  190. empathy_software_plugin/wizards/agent_orchestration_wizard.py +0 -511
  191. empathy_software_plugin/wizards/ai_collaboration_wizard.py +0 -503
  192. empathy_software_plugin/wizards/ai_context_wizard.py +0 -441
  193. empathy_software_plugin/wizards/ai_documentation_wizard.py +0 -503
  194. empathy_software_plugin/wizards/base_wizard.py +0 -288
  195. empathy_software_plugin/wizards/book_chapter_wizard.py +0 -519
  196. empathy_software_plugin/wizards/code_review_wizard.py +0 -604
  197. empathy_software_plugin/wizards/debugging/__init__.py +0 -50
  198. empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py +0 -414
  199. empathy_software_plugin/wizards/debugging/config_loaders.py +0 -446
  200. empathy_software_plugin/wizards/debugging/fix_applier.py +0 -469
  201. empathy_software_plugin/wizards/debugging/language_patterns.py +0 -385
  202. empathy_software_plugin/wizards/debugging/linter_parsers.py +0 -470
  203. empathy_software_plugin/wizards/debugging/verification.py +0 -369
  204. empathy_software_plugin/wizards/enhanced_testing_wizard.py +0 -537
  205. empathy_software_plugin/wizards/memory_enhanced_debugging_wizard.py +0 -816
  206. empathy_software_plugin/wizards/multi_model_wizard.py +0 -501
  207. empathy_software_plugin/wizards/pattern_extraction_wizard.py +0 -422
  208. empathy_software_plugin/wizards/pattern_retriever_wizard.py +0 -400
  209. empathy_software_plugin/wizards/performance/__init__.py +0 -9
  210. empathy_software_plugin/wizards/performance/bottleneck_detector.py +0 -221
  211. empathy_software_plugin/wizards/performance/profiler_parsers.py +0 -278
  212. empathy_software_plugin/wizards/performance/trajectory_analyzer.py +0 -429
  213. empathy_software_plugin/wizards/performance_profiling_wizard.py +0 -305
  214. empathy_software_plugin/wizards/prompt_engineering_wizard.py +0 -425
  215. empathy_software_plugin/wizards/rag_pattern_wizard.py +0 -461
  216. empathy_software_plugin/wizards/security/__init__.py +0 -32
  217. empathy_software_plugin/wizards/security/exploit_analyzer.py +0 -290
  218. empathy_software_plugin/wizards/security/owasp_patterns.py +0 -241
  219. empathy_software_plugin/wizards/security/vulnerability_scanner.py +0 -604
  220. empathy_software_plugin/wizards/security_analysis_wizard.py +0 -322
  221. empathy_software_plugin/wizards/security_learning_wizard.py +0 -740
  222. empathy_software_plugin/wizards/tech_debt_wizard.py +0 -726
  223. empathy_software_plugin/wizards/testing/__init__.py +0 -27
  224. empathy_software_plugin/wizards/testing/coverage_analyzer.py +0 -459
  225. empathy_software_plugin/wizards/testing/quality_analyzer.py +0 -525
  226. empathy_software_plugin/wizards/testing/test_suggester.py +0 -533
  227. empathy_software_plugin/wizards/testing_wizard.py +0 -274
  228. wizards/__init__.py +0 -82
  229. wizards/admission_assessment_wizard.py +0 -644
  230. wizards/care_plan.py +0 -321
  231. wizards/clinical_assessment.py +0 -769
  232. wizards/discharge_planning.py +0 -77
  233. wizards/discharge_summary_wizard.py +0 -468
  234. wizards/dosage_calculation.py +0 -497
  235. wizards/incident_report_wizard.py +0 -454
  236. wizards/medication_reconciliation.py +0 -85
  237. wizards/nursing_assessment.py +0 -171
  238. wizards/patient_education.py +0 -654
  239. wizards/quality_improvement.py +0 -705
  240. wizards/sbar_report.py +0 -324
  241. wizards/sbar_wizard.py +0 -608
  242. wizards/shift_handoff_wizard.py +0 -535
  243. wizards/soap_note_wizard.py +0 -679
  244. wizards/treatment_plan.py +0 -15
  245. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/WHEEL +0 -0
  246. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/entry_points.txt +0 -0
  247. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.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}"