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
@@ -0,0 +1,198 @@
1
+ """Profiling commands for Empathy Framework CLI.
2
+
3
+ Performance profiling and memory analysis commands.
4
+
5
+ Usage:
6
+ empathy profile memory-scan # Scan for memory leaks
7
+ empathy profile memory-scan --json # JSON output for CI
8
+ empathy profile memory-test # Profile memory module
9
+
10
+ Copyright 2025 Smart-AI-Memory
11
+ Licensed under Fair Source License 0.9
12
+ """
13
+
14
+ import subprocess
15
+ import sys
16
+ from pathlib import Path
17
+
18
+ import typer
19
+ from rich.console import Console
20
+
21
+ console = Console()
22
+
23
+ # Create the profile command group
24
+ profile_app = typer.Typer(
25
+ name="profile",
26
+ help="Performance profiling and memory analysis",
27
+ no_args_is_help=True,
28
+ )
29
+
30
+
31
+ @profile_app.command("memory-scan")
32
+ def memory_scan(
33
+ path: Path = typer.Argument(
34
+ Path("src"),
35
+ help="Directory to scan for memory issues",
36
+ ),
37
+ feature: str = typer.Option(
38
+ None,
39
+ "--feature",
40
+ "-f",
41
+ help="Scan files related to a specific feature",
42
+ ),
43
+ min_severity: str = typer.Option(
44
+ "MEDIUM",
45
+ "--min-severity",
46
+ "-s",
47
+ help="Minimum severity to report (HIGH, MEDIUM, LOW)",
48
+ ),
49
+ top: int = typer.Option(
50
+ 10,
51
+ "--top",
52
+ "-t",
53
+ help="Number of hot files to show",
54
+ ),
55
+ json_output: bool = typer.Option(
56
+ False,
57
+ "--json",
58
+ "-j",
59
+ help="Output in JSON format",
60
+ ),
61
+ run_profile: bool = typer.Option(
62
+ False,
63
+ "--profile",
64
+ "-p",
65
+ help="Run dynamic memory profiling on hot files",
66
+ ),
67
+ ) -> None:
68
+ """Scan codebase for memory leak patterns.
69
+
70
+ Detects common memory issues like:
71
+ - sorted()[:N] patterns (should use heapq)
72
+ - get_all_* methods that load entire datasets
73
+ - Unbounded caches without eviction
74
+ - Large list comprehensions that could be generators
75
+
76
+ Examples:
77
+ empathy profile memory-scan # Scan src/
78
+ empathy profile memory-scan src/empathy_os # Scan specific dir
79
+ empathy profile memory-scan --feature "cache" # Scan cache-related files
80
+ empathy profile memory-scan --json > report.json # CI integration
81
+ """
82
+ scanner_path = (
83
+ Path(__file__).parent.parent.parent.parent.parent / "benchmarks" / "memory_leak_scanner.py"
84
+ )
85
+
86
+ if not scanner_path.exists():
87
+ console.print("[red]Error:[/red] Memory leak scanner not found at expected path")
88
+ console.print(f"Expected: {scanner_path}")
89
+ raise typer.Exit(1)
90
+
91
+ args = [sys.executable, str(scanner_path), "--path", str(path)]
92
+
93
+ if feature:
94
+ args.extend(["--feature", feature])
95
+ if min_severity:
96
+ args.extend(["--min-severity", min_severity])
97
+ if top:
98
+ args.extend(["--top", str(top)])
99
+ if json_output:
100
+ args.append("--json")
101
+ if run_profile:
102
+ args.append("--profile")
103
+
104
+ subprocess.run(args, check=False)
105
+
106
+
107
+ @profile_app.command("memory-test")
108
+ def memory_test(
109
+ module: str = typer.Argument(
110
+ "unified",
111
+ help="Memory module to profile (unified, short_term, graph)",
112
+ ),
113
+ ) -> None:
114
+ """Run memory profiling tests on memory modules.
115
+
116
+ Profiles the specified memory module and reports memory usage
117
+ for key operations like search, store, and retrieve.
118
+
119
+ Examples:
120
+ empathy profile memory-test # Profile unified memory
121
+ empathy profile memory-test unified # Same as above
122
+ """
123
+ try:
124
+ import memory_profiler # noqa: F401 - check if installed
125
+ except ImportError:
126
+ console.print("[yellow]Installing memory_profiler...[/yellow]")
127
+ subprocess.run([sys.executable, "-m", "pip", "install", "memory_profiler"], check=True)
128
+
129
+ profile_script = (
130
+ Path(__file__).parent.parent.parent.parent.parent
131
+ / "benchmarks"
132
+ / "profile_unified_memory.py"
133
+ )
134
+
135
+ if not profile_script.exists():
136
+ console.print("[red]Error:[/red] Memory profiling script not found")
137
+ console.print(f"Expected: {profile_script}")
138
+ raise typer.Exit(1)
139
+
140
+ console.print(f"[bold]Profiling memory module: {module}[/bold]\n")
141
+ subprocess.run([sys.executable, "-m", "memory_profiler", str(profile_script)], check=False)
142
+
143
+
144
+ @profile_app.command("hot-files")
145
+ def hot_files(
146
+ path: Path = typer.Argument(
147
+ Path("src"),
148
+ help="Directory to analyze",
149
+ ),
150
+ top: int = typer.Option(
151
+ 15,
152
+ "--top",
153
+ "-t",
154
+ help="Number of files to show",
155
+ ),
156
+ ) -> None:
157
+ """Show files most likely to have memory issues.
158
+
159
+ Quick scan that ranks files by risk score based on
160
+ detected memory leak patterns.
161
+
162
+ Examples:
163
+ empathy profile hot-files # Scan src/
164
+ empathy profile hot-files --top 20 # Show top 20
165
+ """
166
+ scanner_path = (
167
+ Path(__file__).parent.parent.parent.parent.parent / "benchmarks" / "memory_leak_scanner.py"
168
+ )
169
+
170
+ if not scanner_path.exists():
171
+ console.print("[red]Error:[/red] Memory leak scanner not found")
172
+ raise typer.Exit(1)
173
+
174
+ args = [
175
+ sys.executable,
176
+ str(scanner_path),
177
+ "--path",
178
+ str(path),
179
+ "--min-severity",
180
+ "MEDIUM",
181
+ "--top",
182
+ str(top),
183
+ ]
184
+ subprocess.run(args, check=False)
185
+
186
+
187
+ @profile_app.callback()
188
+ def callback() -> None:
189
+ """Performance profiling and memory analysis tools.
190
+
191
+ Use these commands to identify memory leaks, inefficient patterns,
192
+ and performance bottlenecks in your codebase.
193
+
194
+ [bold]Quick Start:[/bold]
195
+ empathy profile memory-scan Scan for memory issues
196
+ empathy profile hot-files Show riskiest files
197
+ empathy profile memory-test Profile memory module
198
+ """
@@ -9,16 +9,27 @@ Licensed under Fair Source License 0.9
9
9
  import subprocess
10
10
  import sys
11
11
 
12
+ import typer
12
13
  from rich.panel import Panel
13
14
 
14
15
  from empathy_os.cli.core import console
15
16
 
17
+ # Create the utilities Typer app
18
+ utilities_app = typer.Typer(
19
+ help="Utility tools - project init, cheatsheet, dashboard, costs",
20
+ no_args_is_help=True,
21
+ )
16
22
 
17
- def sync_claude(source: str = "patterns") -> None:
23
+
24
+ @utilities_app.command("sync-claude")
25
+ def sync_claude(
26
+ source: str = typer.Option("patterns", "--source", "-s", help="Source to sync"),
27
+ ) -> None:
18
28
  """Sync patterns to Claude Code memory."""
19
29
  subprocess.run(["empathy-sync-claude", "--source", source], check=False)
20
30
 
21
31
 
32
+ @utilities_app.command("cheatsheet")
22
33
  def cheatsheet() -> None:
23
34
  """Show quick reference for all commands."""
24
35
  console.print(
@@ -49,9 +60,14 @@ def cheatsheet() -> None:
49
60
  empathy inspect . Deep analysis (SARIF)
50
61
  empathy fix-all Auto-fix everything
51
62
 
63
+ [bold]Profiling[/bold]
64
+ empathy profile memory-scan Scan for memory leaks
65
+ empathy profile hot-files Show riskiest files
66
+ empathy profile memory-test Profile memory module
67
+
52
68
  [bold]Pattern Learning[/bold]
53
69
  empathy learn --analyze 20 Learn from commits
54
- empathy sync-claude Sync to Claude Code
70
+ empathy utilities sync-claude Sync to Claude Code
55
71
 
56
72
  [bold]Workflows[/bold]
57
73
  empathy workflow list Show available workflows
@@ -59,11 +75,11 @@ def cheatsheet() -> None:
59
75
  empathy workflow create <name> -p <patterns> Create workflow (12x faster)
60
76
  empathy workflow list-patterns List available patterns
61
77
 
62
- [bold]Wizards[/bold]
63
- empathy wizard list Show available wizards
64
- empathy wizard run <name> Execute a wizard
65
- empathy wizard create <name> -d <domain> Create wizard (12x faster)
66
- empathy wizard list-patterns List available patterns
78
+ [bold]Workflows[/bold]
79
+ empathy workflow list Show available workflows
80
+ empathy workflow run <name> Execute a workflow
81
+ empathy workflow create <name> -d <domain> Create workflow (12x faster)
82
+ empathy workflow list-patterns List available patterns
67
83
 
68
84
  [bold]Usage Telemetry[/bold]
69
85
  empathy telemetry show View recent LLM calls & costs
@@ -74,21 +90,25 @@ def cheatsheet() -> None:
74
90
  )
75
91
 
76
92
 
93
+ @utilities_app.command("dashboard")
77
94
  def dashboard() -> None:
78
95
  """Launch visual dashboard."""
79
96
  subprocess.run([sys.executable, "-m", "empathy_os.cli", "dashboard"], check=False)
80
97
 
81
98
 
99
+ @utilities_app.command("costs")
82
100
  def costs() -> None:
83
101
  """View API cost tracking."""
84
102
  subprocess.run([sys.executable, "-m", "empathy_os.cli", "costs"], check=False)
85
103
 
86
104
 
105
+ @utilities_app.command("init")
87
106
  def init() -> None:
88
107
  """Create a new configuration file."""
89
108
  subprocess.run([sys.executable, "-m", "empathy_os.cli", "init"], check=False)
90
109
 
91
110
 
111
+ @utilities_app.command("status")
92
112
  def status() -> None:
93
113
  """What needs attention now."""
94
114
  subprocess.run([sys.executable, "-m", "empathy_os.cli", "status"], check=False)
empathy_os/cli.py CHANGED
@@ -4,7 +4,7 @@ Provides CLI commands for:
4
4
  - Running interactive REPL (empathy run)
5
5
  - Inspecting patterns, metrics, state (empathy inspect)
6
6
  - Exporting/importing patterns (empathy export/import)
7
- - Interactive setup wizard (empathy wizard)
7
+ - Interactive setup workflow (empathy workflow)
8
8
  - Configuration management
9
9
  - Power user workflows: morning, ship, fix-all, learn (v2.4+)
10
10
 
@@ -29,7 +29,6 @@ from empathy_os.pattern_library import PatternLibrary
29
29
  from empathy_os.persistence import MetricsCollector, PatternPersistence, StateManager
30
30
  from empathy_os.platform_utils import setup_asyncio_policy
31
31
  from empathy_os.templates import cmd_new
32
- from empathy_os.wizard_factory_cli import add_wizard_factory_commands
33
32
  from empathy_os.workflows import (
34
33
  cmd_fix_all,
35
34
  cmd_learn,
@@ -84,7 +83,7 @@ logger = get_logger(__name__)
84
83
  CHEATSHEET = {
85
84
  "Getting Started": [
86
85
  ("empathy init", "Create a new config file"),
87
- ("empathy wizard", "Interactive setup wizard"),
86
+ ("empathy workflow", "Interactive setup workflow"),
88
87
  ("empathy run", "Interactive REPL mode"),
89
88
  ],
90
89
  "Daily Workflow": [
@@ -443,7 +442,7 @@ First, let's create a configuration file for your project.
443
442
  Run: empathy init
444
443
 
445
444
  This creates empathy.config.yaml with sensible defaults.
446
- Alternatively, use 'empathy wizard' for an interactive setup.
445
+ Alternatively, use 'empathy workflow' for an interactive setup.
447
446
  """,
448
447
  "check": lambda: _file_exists("empathy.config.yaml")
449
448
  or _file_exists("empathy.config.yml"),
@@ -822,8 +821,8 @@ def cmd_orchestrate(args):
822
821
 
823
822
  from empathy_os.workflows.orchestrated_health_check import OrchestratedHealthCheckWorkflow
824
823
  from empathy_os.workflows.orchestrated_release_prep import OrchestratedReleasePrepWorkflow
825
- # test_coverage_boost removed - feature disabled in v4.0.0 (being redesigned)
826
824
 
825
+ # test_coverage_boost removed - feature disabled in v4.0.0 (being redesigned)
827
826
  # Get workflow type
828
827
  workflow_type = args.workflow
829
828
 
@@ -1356,50 +1355,24 @@ def cmd_status(args):
1356
1355
  def cmd_review(args):
1357
1356
  """Pattern-based code review against historical bugs.
1358
1357
 
1359
- Analyzes code changes against learned patterns to identify potential issues.
1358
+ Note: This command has been deprecated. The underlying workflow module
1359
+ has been removed. Use 'empathy workflow run bug-predict' instead.
1360
1360
 
1361
1361
  Args:
1362
- args: Namespace object from argparse with attributes:
1363
- - files (list[str]): Files to review (default: recent changes).
1364
- - staged (bool): If True, review staged changes only.
1365
- - severity (str): Minimum severity threshold for findings.
1366
- - patterns_dir (str): Path to patterns directory.
1367
- - json (bool): If True, output as JSON format.
1362
+ args: Namespace object from argparse.
1368
1363
 
1369
1364
  Returns:
1370
- None: Prints review findings and recommendations.
1365
+ None: Prints deprecation message.
1371
1366
  """
1372
- import asyncio
1373
-
1374
- from empathy_software_plugin.wizards.code_review_wizard import CodeReviewWizard
1375
-
1376
- wizard = CodeReviewWizard(patterns_dir=args.patterns_dir)
1377
-
1378
- # Run the async analysis
1379
- result = asyncio.run(
1380
- wizard.analyze(
1381
- {
1382
- "files": args.files,
1383
- "staged_only": args.staged,
1384
- "severity_threshold": args.severity,
1385
- },
1386
- ),
1387
- )
1388
-
1389
- # Output results
1390
- if args.json:
1391
- import json
1392
-
1393
- print(json.dumps(result, indent=2, default=str))
1394
- else:
1395
- print(wizard.format_terminal_output(result))
1396
-
1397
- # Show recommendations
1398
- recommendations = result.get("recommendations", [])
1399
- if recommendations and result.get("findings"):
1400
- print("\nRecommendations:")
1401
- for rec in recommendations:
1402
- print(f" • {rec}")
1367
+ print("⚠️ The 'review' command has been deprecated.")
1368
+ print()
1369
+ print("The CodeReviewWorkflow module has been removed.")
1370
+ print("Please use one of these alternatives:")
1371
+ print()
1372
+ print(" empathy workflow run bug-predict # Scan for risky patterns")
1373
+ print(" ruff check <files> # Fast linting")
1374
+ print(" bandit -r <path> # Security scanning")
1375
+ print()
1403
1376
 
1404
1377
 
1405
1378
  def cmd_health(args):
@@ -1823,7 +1796,7 @@ def cmd_inspect(args):
1823
1796
  print(f" Success rate: {pattern.success_rate:.0%}")
1824
1797
  except FileNotFoundError:
1825
1798
  print(f"✗ Pattern library not found: {db_path}")
1826
- print(" Tip: Use 'empathy-framework wizard' to set up your first project")
1799
+ print(" Tip: Use 'empathy-framework workflow' to set up your first project")
1827
1800
  sys.exit(1)
1828
1801
  except (ValueError, KeyError) as e:
1829
1802
  # Invalid pattern data format
@@ -2046,8 +2019,8 @@ def cmd_import(args):
2046
2019
  print()
2047
2020
 
2048
2021
 
2049
- def cmd_wizard(args):
2050
- """Interactive setup wizard.
2022
+ def cmd_workflow(args):
2023
+ """Interactive setup workflow.
2051
2024
 
2052
2025
  Guides user through initial framework configuration step by step.
2053
2026
 
@@ -2057,7 +2030,7 @@ def cmd_wizard(args):
2057
2030
  Returns:
2058
2031
  None: Creates empathy.config.yml with user's choices.
2059
2032
  """
2060
- print("🧙 Empathy Framework Setup Wizard")
2033
+ print("🧙 Empathy Framework Setup Workflow")
2061
2034
  print("=" * 50)
2062
2035
  print("\nI'll help you set up your Empathy Framework configuration.\n")
2063
2036
 
@@ -2140,7 +2113,7 @@ def cmd_wizard(args):
2140
2113
 
2141
2114
  # Write YAML config
2142
2115
  yaml_content = f"""# Empathy Framework Configuration
2143
- # Generated by setup wizard
2116
+ # Generated by setup workflow
2144
2117
 
2145
2118
  # Core settings
2146
2119
  user_id: "{config["user_id"]}"
@@ -2605,6 +2578,7 @@ def cmd_workflow(args):
2605
2578
  # Initialize workflow with provider and optional tier fallback
2606
2579
  # Note: Not all workflows support enable_tier_fallback, so we check first
2607
2580
  import inspect
2581
+
2608
2582
  use_tier_fallback = getattr(args, "use_recommended_tier", False)
2609
2583
 
2610
2584
  # Get the workflow's __init__ signature to know what params it accepts
@@ -3203,12 +3177,12 @@ def main():
3203
3177
  parser_import.add_argument("--db", help="Database path (default: .empathy/patterns.db)")
3204
3178
  parser_import.set_defaults(func=cmd_import)
3205
3179
 
3206
- # Wizard command (Interactive setup)
3207
- parser_wizard = subparsers.add_parser(
3208
- "wizard",
3209
- help="Interactive setup wizard for creating configuration",
3180
+ # Workflow command (Interactive setup)
3181
+ parser_workflow = subparsers.add_parser(
3182
+ "workflow",
3183
+ help="Interactive setup workflow for creating configuration",
3210
3184
  )
3211
- parser_wizard.set_defaults(func=cmd_wizard)
3185
+ parser_workflow.set_defaults(func=cmd_workflow)
3212
3186
 
3213
3187
  # Provider command (Model provider configuration)
3214
3188
  parser_provider = subparsers.add_parser(
@@ -3956,9 +3930,6 @@ def main():
3956
3930
  )
3957
3931
  parser_orchestrate.set_defaults(func=cmd_orchestrate)
3958
3932
 
3959
- # Wizard Factory commands (create wizards 12x faster)
3960
- add_wizard_factory_commands(subparsers)
3961
-
3962
3933
  # Parse arguments
3963
3934
  args = parser.parse_args()
3964
3935