empathy-framework 3.2.3__py3-none-any.whl → 3.8.2__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 (328) hide show
  1. coach_wizards/__init__.py +11 -12
  2. coach_wizards/accessibility_wizard.py +12 -12
  3. coach_wizards/api_wizard.py +12 -12
  4. coach_wizards/base_wizard.py +26 -20
  5. coach_wizards/cicd_wizard.py +15 -13
  6. coach_wizards/code_reviewer_README.md +60 -0
  7. coach_wizards/code_reviewer_wizard.py +180 -0
  8. coach_wizards/compliance_wizard.py +12 -12
  9. coach_wizards/database_wizard.py +12 -12
  10. coach_wizards/debugging_wizard.py +12 -12
  11. coach_wizards/documentation_wizard.py +12 -12
  12. coach_wizards/generate_wizards.py +1 -2
  13. coach_wizards/localization_wizard.py +101 -19
  14. coach_wizards/migration_wizard.py +12 -12
  15. coach_wizards/monitoring_wizard.py +12 -12
  16. coach_wizards/observability_wizard.py +12 -12
  17. coach_wizards/performance_wizard.py +12 -12
  18. coach_wizards/prompt_engineering_wizard.py +22 -25
  19. coach_wizards/refactoring_wizard.py +12 -12
  20. coach_wizards/scaling_wizard.py +12 -12
  21. coach_wizards/security_wizard.py +12 -12
  22. coach_wizards/testing_wizard.py +12 -12
  23. {empathy_framework-3.2.3.dist-info → empathy_framework-3.8.2.dist-info}/METADATA +513 -58
  24. empathy_framework-3.8.2.dist-info/RECORD +333 -0
  25. empathy_framework-3.8.2.dist-info/entry_points.txt +22 -0
  26. {empathy_framework-3.2.3.dist-info → empathy_framework-3.8.2.dist-info}/top_level.txt +5 -1
  27. empathy_healthcare_plugin/__init__.py +1 -2
  28. empathy_healthcare_plugin/monitors/__init__.py +9 -0
  29. empathy_healthcare_plugin/monitors/clinical_protocol_monitor.py +315 -0
  30. empathy_healthcare_plugin/monitors/monitoring/__init__.py +44 -0
  31. empathy_healthcare_plugin/monitors/monitoring/protocol_checker.py +300 -0
  32. empathy_healthcare_plugin/monitors/monitoring/protocol_loader.py +214 -0
  33. empathy_healthcare_plugin/monitors/monitoring/sensor_parsers.py +306 -0
  34. empathy_healthcare_plugin/monitors/monitoring/trajectory_analyzer.py +389 -0
  35. empathy_llm_toolkit/__init__.py +7 -7
  36. empathy_llm_toolkit/agent_factory/__init__.py +53 -0
  37. empathy_llm_toolkit/agent_factory/adapters/__init__.py +85 -0
  38. empathy_llm_toolkit/agent_factory/adapters/autogen_adapter.py +312 -0
  39. empathy_llm_toolkit/agent_factory/adapters/crewai_adapter.py +454 -0
  40. empathy_llm_toolkit/agent_factory/adapters/haystack_adapter.py +298 -0
  41. empathy_llm_toolkit/agent_factory/adapters/langchain_adapter.py +362 -0
  42. empathy_llm_toolkit/agent_factory/adapters/langgraph_adapter.py +333 -0
  43. empathy_llm_toolkit/agent_factory/adapters/native.py +228 -0
  44. empathy_llm_toolkit/agent_factory/adapters/wizard_adapter.py +426 -0
  45. empathy_llm_toolkit/agent_factory/base.py +305 -0
  46. empathy_llm_toolkit/agent_factory/crews/__init__.py +67 -0
  47. empathy_llm_toolkit/agent_factory/crews/code_review.py +1113 -0
  48. empathy_llm_toolkit/agent_factory/crews/health_check.py +1246 -0
  49. empathy_llm_toolkit/agent_factory/crews/refactoring.py +1128 -0
  50. empathy_llm_toolkit/agent_factory/crews/security_audit.py +1018 -0
  51. empathy_llm_toolkit/agent_factory/decorators.py +286 -0
  52. empathy_llm_toolkit/agent_factory/factory.py +558 -0
  53. empathy_llm_toolkit/agent_factory/framework.py +192 -0
  54. empathy_llm_toolkit/agent_factory/memory_integration.py +324 -0
  55. empathy_llm_toolkit/agent_factory/resilient.py +320 -0
  56. empathy_llm_toolkit/claude_memory.py +14 -15
  57. empathy_llm_toolkit/cli/__init__.py +8 -0
  58. empathy_llm_toolkit/cli/sync_claude.py +487 -0
  59. empathy_llm_toolkit/code_health.py +177 -22
  60. empathy_llm_toolkit/config/__init__.py +29 -0
  61. empathy_llm_toolkit/config/unified.py +295 -0
  62. empathy_llm_toolkit/contextual_patterns.py +11 -12
  63. empathy_llm_toolkit/core.py +51 -49
  64. empathy_llm_toolkit/git_pattern_extractor.py +16 -12
  65. empathy_llm_toolkit/levels.py +6 -13
  66. empathy_llm_toolkit/pattern_confidence.py +14 -18
  67. empathy_llm_toolkit/pattern_resolver.py +10 -12
  68. empathy_llm_toolkit/pattern_summary.py +13 -11
  69. empathy_llm_toolkit/providers.py +194 -28
  70. empathy_llm_toolkit/routing/__init__.py +32 -0
  71. empathy_llm_toolkit/routing/model_router.py +362 -0
  72. empathy_llm_toolkit/security/IMPLEMENTATION_SUMMARY.md +413 -0
  73. empathy_llm_toolkit/security/PHASE2_COMPLETE.md +384 -0
  74. empathy_llm_toolkit/security/PHASE2_SECRETS_DETECTOR_COMPLETE.md +271 -0
  75. empathy_llm_toolkit/security/QUICK_REFERENCE.md +316 -0
  76. empathy_llm_toolkit/security/README.md +262 -0
  77. empathy_llm_toolkit/security/__init__.py +62 -0
  78. empathy_llm_toolkit/security/audit_logger.py +929 -0
  79. empathy_llm_toolkit/security/audit_logger_example.py +152 -0
  80. empathy_llm_toolkit/security/pii_scrubber.py +640 -0
  81. empathy_llm_toolkit/security/secrets_detector.py +678 -0
  82. empathy_llm_toolkit/security/secrets_detector_example.py +304 -0
  83. empathy_llm_toolkit/security/secure_memdocs.py +1192 -0
  84. empathy_llm_toolkit/security/secure_memdocs_example.py +278 -0
  85. empathy_llm_toolkit/session_status.py +18 -20
  86. empathy_llm_toolkit/state.py +20 -21
  87. empathy_llm_toolkit/wizards/__init__.py +38 -0
  88. empathy_llm_toolkit/wizards/base_wizard.py +364 -0
  89. empathy_llm_toolkit/wizards/customer_support_wizard.py +190 -0
  90. empathy_llm_toolkit/wizards/healthcare_wizard.py +362 -0
  91. empathy_llm_toolkit/wizards/patient_assessment_README.md +64 -0
  92. empathy_llm_toolkit/wizards/patient_assessment_wizard.py +193 -0
  93. empathy_llm_toolkit/wizards/technology_wizard.py +194 -0
  94. empathy_os/__init__.py +76 -77
  95. empathy_os/adaptive/__init__.py +13 -0
  96. empathy_os/adaptive/task_complexity.py +127 -0
  97. empathy_os/{monitoring.py → agent_monitoring.py} +27 -27
  98. empathy_os/cache/__init__.py +117 -0
  99. empathy_os/cache/base.py +166 -0
  100. empathy_os/cache/dependency_manager.py +253 -0
  101. empathy_os/cache/hash_only.py +248 -0
  102. empathy_os/cache/hybrid.py +390 -0
  103. empathy_os/cache/storage.py +282 -0
  104. empathy_os/cli.py +515 -109
  105. empathy_os/cli_unified.py +189 -42
  106. empathy_os/config/__init__.py +63 -0
  107. empathy_os/config/xml_config.py +239 -0
  108. empathy_os/config.py +87 -36
  109. empathy_os/coordination.py +48 -54
  110. empathy_os/core.py +90 -99
  111. empathy_os/cost_tracker.py +20 -23
  112. empathy_os/dashboard/__init__.py +15 -0
  113. empathy_os/dashboard/server.py +743 -0
  114. empathy_os/discovery.py +9 -11
  115. empathy_os/emergence.py +20 -21
  116. empathy_os/exceptions.py +18 -30
  117. empathy_os/feedback_loops.py +27 -30
  118. empathy_os/levels.py +31 -34
  119. empathy_os/leverage_points.py +27 -28
  120. empathy_os/logging_config.py +11 -12
  121. empathy_os/memory/__init__.py +195 -0
  122. empathy_os/memory/claude_memory.py +466 -0
  123. empathy_os/memory/config.py +224 -0
  124. empathy_os/memory/control_panel.py +1298 -0
  125. empathy_os/memory/edges.py +179 -0
  126. empathy_os/memory/graph.py +567 -0
  127. empathy_os/memory/long_term.py +1194 -0
  128. empathy_os/memory/nodes.py +179 -0
  129. empathy_os/memory/redis_bootstrap.py +540 -0
  130. empathy_os/memory/security/__init__.py +31 -0
  131. empathy_os/memory/security/audit_logger.py +930 -0
  132. empathy_os/memory/security/pii_scrubber.py +640 -0
  133. empathy_os/memory/security/secrets_detector.py +678 -0
  134. empathy_os/memory/short_term.py +2119 -0
  135. empathy_os/memory/storage/__init__.py +15 -0
  136. empathy_os/memory/summary_index.py +583 -0
  137. empathy_os/memory/unified.py +619 -0
  138. empathy_os/metrics/__init__.py +12 -0
  139. empathy_os/metrics/prompt_metrics.py +190 -0
  140. empathy_os/models/__init__.py +136 -0
  141. empathy_os/models/__main__.py +13 -0
  142. empathy_os/models/cli.py +655 -0
  143. empathy_os/models/empathy_executor.py +354 -0
  144. empathy_os/models/executor.py +252 -0
  145. empathy_os/models/fallback.py +671 -0
  146. empathy_os/models/provider_config.py +563 -0
  147. empathy_os/models/registry.py +382 -0
  148. empathy_os/models/tasks.py +302 -0
  149. empathy_os/models/telemetry.py +548 -0
  150. empathy_os/models/token_estimator.py +378 -0
  151. empathy_os/models/validation.py +274 -0
  152. empathy_os/monitoring/__init__.py +52 -0
  153. empathy_os/monitoring/alerts.py +23 -0
  154. empathy_os/monitoring/alerts_cli.py +268 -0
  155. empathy_os/monitoring/multi_backend.py +271 -0
  156. empathy_os/monitoring/otel_backend.py +363 -0
  157. empathy_os/optimization/__init__.py +19 -0
  158. empathy_os/optimization/context_optimizer.py +272 -0
  159. empathy_os/pattern_library.py +29 -28
  160. empathy_os/persistence.py +30 -34
  161. empathy_os/platform_utils.py +261 -0
  162. empathy_os/plugins/__init__.py +28 -0
  163. empathy_os/plugins/base.py +361 -0
  164. empathy_os/plugins/registry.py +268 -0
  165. empathy_os/project_index/__init__.py +30 -0
  166. empathy_os/project_index/cli.py +335 -0
  167. empathy_os/project_index/crew_integration.py +430 -0
  168. empathy_os/project_index/index.py +425 -0
  169. empathy_os/project_index/models.py +501 -0
  170. empathy_os/project_index/reports.py +473 -0
  171. empathy_os/project_index/scanner.py +538 -0
  172. empathy_os/prompts/__init__.py +61 -0
  173. empathy_os/prompts/config.py +77 -0
  174. empathy_os/prompts/context.py +177 -0
  175. empathy_os/prompts/parser.py +285 -0
  176. empathy_os/prompts/registry.py +313 -0
  177. empathy_os/prompts/templates.py +208 -0
  178. empathy_os/redis_config.py +144 -58
  179. empathy_os/redis_memory.py +53 -56
  180. empathy_os/resilience/__init__.py +56 -0
  181. empathy_os/resilience/circuit_breaker.py +256 -0
  182. empathy_os/resilience/fallback.py +179 -0
  183. empathy_os/resilience/health.py +300 -0
  184. empathy_os/resilience/retry.py +209 -0
  185. empathy_os/resilience/timeout.py +135 -0
  186. empathy_os/routing/__init__.py +43 -0
  187. empathy_os/routing/chain_executor.py +433 -0
  188. empathy_os/routing/classifier.py +217 -0
  189. empathy_os/routing/smart_router.py +234 -0
  190. empathy_os/routing/wizard_registry.py +307 -0
  191. empathy_os/templates.py +12 -11
  192. empathy_os/trust/__init__.py +28 -0
  193. empathy_os/trust/circuit_breaker.py +579 -0
  194. empathy_os/trust_building.py +44 -36
  195. empathy_os/validation/__init__.py +19 -0
  196. empathy_os/validation/xml_validator.py +281 -0
  197. empathy_os/wizard_factory_cli.py +170 -0
  198. empathy_os/{workflows.py → workflow_commands.py} +123 -31
  199. empathy_os/workflows/__init__.py +360 -0
  200. empathy_os/workflows/base.py +1660 -0
  201. empathy_os/workflows/bug_predict.py +962 -0
  202. empathy_os/workflows/code_review.py +960 -0
  203. empathy_os/workflows/code_review_adapters.py +310 -0
  204. empathy_os/workflows/code_review_pipeline.py +720 -0
  205. empathy_os/workflows/config.py +600 -0
  206. empathy_os/workflows/dependency_check.py +648 -0
  207. empathy_os/workflows/document_gen.py +1069 -0
  208. empathy_os/workflows/documentation_orchestrator.py +1205 -0
  209. empathy_os/workflows/health_check.py +679 -0
  210. empathy_os/workflows/keyboard_shortcuts/__init__.py +39 -0
  211. empathy_os/workflows/keyboard_shortcuts/generators.py +386 -0
  212. empathy_os/workflows/keyboard_shortcuts/parsers.py +414 -0
  213. empathy_os/workflows/keyboard_shortcuts/prompts.py +295 -0
  214. empathy_os/workflows/keyboard_shortcuts/schema.py +193 -0
  215. empathy_os/workflows/keyboard_shortcuts/workflow.py +505 -0
  216. empathy_os/workflows/manage_documentation.py +804 -0
  217. empathy_os/workflows/new_sample_workflow1.py +146 -0
  218. empathy_os/workflows/new_sample_workflow1_README.md +150 -0
  219. empathy_os/workflows/perf_audit.py +687 -0
  220. empathy_os/workflows/pr_review.py +748 -0
  221. empathy_os/workflows/progress.py +445 -0
  222. empathy_os/workflows/progress_server.py +322 -0
  223. empathy_os/workflows/refactor_plan.py +693 -0
  224. empathy_os/workflows/release_prep.py +808 -0
  225. empathy_os/workflows/research_synthesis.py +404 -0
  226. empathy_os/workflows/secure_release.py +585 -0
  227. empathy_os/workflows/security_adapters.py +297 -0
  228. empathy_os/workflows/security_audit.py +1046 -0
  229. empathy_os/workflows/step_config.py +234 -0
  230. empathy_os/workflows/test5.py +125 -0
  231. empathy_os/workflows/test5_README.md +158 -0
  232. empathy_os/workflows/test_gen.py +1855 -0
  233. empathy_os/workflows/test_lifecycle.py +526 -0
  234. empathy_os/workflows/test_maintenance.py +626 -0
  235. empathy_os/workflows/test_maintenance_cli.py +590 -0
  236. empathy_os/workflows/test_maintenance_crew.py +821 -0
  237. empathy_os/workflows/xml_enhanced_crew.py +285 -0
  238. empathy_software_plugin/__init__.py +1 -2
  239. empathy_software_plugin/cli/__init__.py +120 -0
  240. empathy_software_plugin/cli/inspect.py +362 -0
  241. empathy_software_plugin/cli.py +35 -26
  242. empathy_software_plugin/plugin.py +4 -8
  243. empathy_software_plugin/wizards/__init__.py +42 -0
  244. empathy_software_plugin/wizards/advanced_debugging_wizard.py +392 -0
  245. empathy_software_plugin/wizards/agent_orchestration_wizard.py +511 -0
  246. empathy_software_plugin/wizards/ai_collaboration_wizard.py +503 -0
  247. empathy_software_plugin/wizards/ai_context_wizard.py +441 -0
  248. empathy_software_plugin/wizards/ai_documentation_wizard.py +503 -0
  249. empathy_software_plugin/wizards/base_wizard.py +288 -0
  250. empathy_software_plugin/wizards/book_chapter_wizard.py +519 -0
  251. empathy_software_plugin/wizards/code_review_wizard.py +606 -0
  252. empathy_software_plugin/wizards/debugging/__init__.py +50 -0
  253. empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py +414 -0
  254. empathy_software_plugin/wizards/debugging/config_loaders.py +442 -0
  255. empathy_software_plugin/wizards/debugging/fix_applier.py +469 -0
  256. empathy_software_plugin/wizards/debugging/language_patterns.py +383 -0
  257. empathy_software_plugin/wizards/debugging/linter_parsers.py +470 -0
  258. empathy_software_plugin/wizards/debugging/verification.py +369 -0
  259. empathy_software_plugin/wizards/enhanced_testing_wizard.py +537 -0
  260. empathy_software_plugin/wizards/memory_enhanced_debugging_wizard.py +816 -0
  261. empathy_software_plugin/wizards/multi_model_wizard.py +501 -0
  262. empathy_software_plugin/wizards/pattern_extraction_wizard.py +422 -0
  263. empathy_software_plugin/wizards/pattern_retriever_wizard.py +400 -0
  264. empathy_software_plugin/wizards/performance/__init__.py +9 -0
  265. empathy_software_plugin/wizards/performance/bottleneck_detector.py +221 -0
  266. empathy_software_plugin/wizards/performance/profiler_parsers.py +278 -0
  267. empathy_software_plugin/wizards/performance/trajectory_analyzer.py +429 -0
  268. empathy_software_plugin/wizards/performance_profiling_wizard.py +305 -0
  269. empathy_software_plugin/wizards/prompt_engineering_wizard.py +425 -0
  270. empathy_software_plugin/wizards/rag_pattern_wizard.py +461 -0
  271. empathy_software_plugin/wizards/security/__init__.py +32 -0
  272. empathy_software_plugin/wizards/security/exploit_analyzer.py +290 -0
  273. empathy_software_plugin/wizards/security/owasp_patterns.py +241 -0
  274. empathy_software_plugin/wizards/security/vulnerability_scanner.py +604 -0
  275. empathy_software_plugin/wizards/security_analysis_wizard.py +322 -0
  276. empathy_software_plugin/wizards/security_learning_wizard.py +740 -0
  277. empathy_software_plugin/wizards/tech_debt_wizard.py +726 -0
  278. empathy_software_plugin/wizards/testing/__init__.py +27 -0
  279. empathy_software_plugin/wizards/testing/coverage_analyzer.py +459 -0
  280. empathy_software_plugin/wizards/testing/quality_analyzer.py +531 -0
  281. empathy_software_plugin/wizards/testing/test_suggester.py +533 -0
  282. empathy_software_plugin/wizards/testing_wizard.py +274 -0
  283. hot_reload/README.md +473 -0
  284. hot_reload/__init__.py +62 -0
  285. hot_reload/config.py +84 -0
  286. hot_reload/integration.py +228 -0
  287. hot_reload/reloader.py +298 -0
  288. hot_reload/watcher.py +179 -0
  289. hot_reload/websocket.py +176 -0
  290. scaffolding/README.md +589 -0
  291. scaffolding/__init__.py +35 -0
  292. scaffolding/__main__.py +14 -0
  293. scaffolding/cli.py +240 -0
  294. test_generator/__init__.py +38 -0
  295. test_generator/__main__.py +14 -0
  296. test_generator/cli.py +226 -0
  297. test_generator/generator.py +325 -0
  298. test_generator/risk_analyzer.py +216 -0
  299. workflow_patterns/__init__.py +33 -0
  300. workflow_patterns/behavior.py +249 -0
  301. workflow_patterns/core.py +76 -0
  302. workflow_patterns/output.py +99 -0
  303. workflow_patterns/registry.py +255 -0
  304. workflow_patterns/structural.py +288 -0
  305. workflow_scaffolding/__init__.py +11 -0
  306. workflow_scaffolding/__main__.py +12 -0
  307. workflow_scaffolding/cli.py +206 -0
  308. workflow_scaffolding/generator.py +265 -0
  309. agents/code_inspection/patterns/inspection/recurring_B112.json +0 -18
  310. agents/code_inspection/patterns/inspection/recurring_F541.json +0 -16
  311. agents/code_inspection/patterns/inspection/recurring_FORMAT.json +0 -25
  312. agents/code_inspection/patterns/inspection/recurring_bug_20250822_def456.json +0 -16
  313. agents/code_inspection/patterns/inspection/recurring_bug_20250915_abc123.json +0 -16
  314. agents/code_inspection/patterns/inspection/recurring_bug_20251212_3c5b9951.json +0 -16
  315. agents/code_inspection/patterns/inspection/recurring_bug_20251212_97c0f72f.json +0 -16
  316. agents/code_inspection/patterns/inspection/recurring_bug_20251212_a0871d53.json +0 -16
  317. agents/code_inspection/patterns/inspection/recurring_bug_20251212_a9b6ec41.json +0 -16
  318. agents/code_inspection/patterns/inspection/recurring_bug_null_001.json +0 -16
  319. agents/code_inspection/patterns/inspection/recurring_builtin.json +0 -16
  320. agents/compliance_anticipation_agent.py +0 -1427
  321. agents/epic_integration_wizard.py +0 -541
  322. agents/trust_building_behaviors.py +0 -891
  323. empathy_framework-3.2.3.dist-info/RECORD +0 -104
  324. empathy_framework-3.2.3.dist-info/entry_points.txt +0 -7
  325. empathy_llm_toolkit/htmlcov/status.json +0 -1
  326. empathy_llm_toolkit/security/htmlcov/status.json +0 -1
  327. {empathy_framework-3.2.3.dist-info → empathy_framework-3.8.2.dist-info}/WHEEL +0 -0
  328. {empathy_framework-3.2.3.dist-info → empathy_framework-3.8.2.dist-info}/licenses/LICENSE +0 -0
@@ -1,5 +1,4 @@
1
- """
2
- Prompt Engineering Wizard
1
+ """Prompt Engineering Wizard
3
2
 
4
3
  Helps developers craft better prompts for any AI task.
5
4
  Can also optimize prompts used internally by other wizards.
@@ -59,8 +58,7 @@ class OptimizedPrompt:
59
58
 
60
59
 
61
60
  class PromptEngineeringWizard(BaseCoachWizard):
62
- """
63
- Wizard for crafting and optimizing prompts.
61
+ """Wizard for crafting and optimizing prompts.
64
62
 
65
63
  Provides tools for:
66
64
  - Analyzing existing prompts for improvements
@@ -166,7 +164,7 @@ class PromptEngineeringWizard(BaseCoachWizard):
166
164
  fix_suggestion="Consider restructuring with role, context, and output format",
167
165
  category="prompt_quality",
168
166
  confidence=0.9,
169
- )
167
+ ),
170
168
  )
171
169
 
172
170
  if not analysis.has_role:
@@ -180,7 +178,7 @@ class PromptEngineeringWizard(BaseCoachWizard):
180
178
  fix_suggestion="Add 'You are a...' or 'Act as a...' at the start",
181
179
  category="prompt_structure",
182
180
  confidence=0.8,
183
- )
181
+ ),
184
182
  )
185
183
 
186
184
  if not analysis.has_output_format:
@@ -194,7 +192,7 @@ class PromptEngineeringWizard(BaseCoachWizard):
194
192
  fix_suggestion="Add output format specification (JSON, markdown, etc.)",
195
193
  category="prompt_structure",
196
194
  confidence=0.7,
197
- )
195
+ ),
198
196
  )
199
197
 
200
198
  for suggestion in analysis.suggestions:
@@ -208,7 +206,7 @@ class PromptEngineeringWizard(BaseCoachWizard):
208
206
  fix_suggestion=None,
209
207
  category="prompt_improvement",
210
208
  confidence=0.6,
211
- )
209
+ ),
212
210
  )
213
211
 
214
212
  return issues
@@ -238,7 +236,7 @@ class PromptEngineeringWizard(BaseCoachWizard):
238
236
  "Create test cases for expected outputs",
239
237
  ],
240
238
  reasoning="Low clarity prompts tend to drift from intended behavior over time",
241
- )
239
+ ),
242
240
  )
243
241
 
244
242
  # Predict cost issues for verbose prompts
@@ -255,7 +253,7 @@ class PromptEngineeringWizard(BaseCoachWizard):
255
253
  "Cache common responses",
256
254
  ],
257
255
  reasoning=f"Prompt uses {analysis.token_count} tokens - costs will escalate with scale",
258
- )
256
+ ),
259
257
  )
260
258
 
261
259
  return predictions
@@ -278,7 +276,7 @@ class PromptEngineeringWizard(BaseCoachWizard):
278
276
  "Important: Focus only on security-related issues. Do not suggest style changes."
279
277
  """
280
278
 
281
- elif issue.category == "prompt_structure":
279
+ if issue.category == "prompt_structure":
282
280
  if "role" in issue.message.lower():
283
281
  return """Add a role definition at the start of your prompt:
284
282
 
@@ -288,7 +286,7 @@ Examples:
288
286
  - "As an experienced technical writer, help document this API."
289
287
  """
290
288
 
291
- elif "output" in issue.message.lower():
289
+ if "output" in issue.message.lower():
292
290
  return """Specify the output format clearly:
293
291
 
294
292
  Examples:
@@ -300,14 +298,14 @@ Examples:
300
298
  return issue.fix_suggestion or "Review and improve the prompt structure."
301
299
 
302
300
  def analyze_prompt(self, prompt: str) -> PromptAnalysis:
303
- """
304
- Analyze an existing prompt for improvements.
301
+ """Analyze an existing prompt for improvements.
305
302
 
306
303
  Args:
307
304
  prompt: The prompt to analyze
308
305
 
309
306
  Returns:
310
307
  PromptAnalysis with scores and suggestions
308
+
311
309
  """
312
310
  prompt_lower = prompt.lower()
313
311
  token_count = len(prompt) // self.CHARS_PER_TOKEN
@@ -434,8 +432,7 @@ Examples:
434
432
  constraints: list[str] | None = None,
435
433
  examples: list[dict[str, str]] | None = None,
436
434
  ) -> str:
437
- """
438
- Generate an optimized prompt for a task.
435
+ """Generate an optimized prompt for a task.
439
436
 
440
437
  Args:
441
438
  task: The main task to accomplish
@@ -447,6 +444,7 @@ Examples:
447
444
 
448
445
  Returns:
449
446
  Generated prompt string
447
+
450
448
  """
451
449
  parts = []
452
450
 
@@ -491,8 +489,7 @@ Examples:
491
489
  examples: list[dict[str, str]],
492
490
  position: str = "end",
493
491
  ) -> str:
494
- """
495
- Add few-shot examples to a prompt.
492
+ """Add few-shot examples to a prompt.
496
493
 
497
494
  Args:
498
495
  prompt: Original prompt
@@ -501,6 +498,7 @@ Examples:
501
498
 
502
499
  Returns:
503
500
  Prompt with examples added
501
+
504
502
  """
505
503
  example_section = "\n## Examples\n"
506
504
  for i, ex in enumerate(examples, 1):
@@ -512,7 +510,7 @@ Examples:
512
510
 
513
511
  if position == "start":
514
512
  return example_section + "\n" + prompt
515
- elif position == "after_context" and "Context" in prompt:
513
+ if position == "after_context" and "Context" in prompt:
516
514
  # Insert after context section
517
515
  parts = prompt.split("## Task")
518
516
  if len(parts) == 2:
@@ -525,8 +523,7 @@ Examples:
525
523
  prompt: str,
526
524
  target_reduction: float = 0.2,
527
525
  ) -> OptimizedPrompt:
528
- """
529
- Reduce token count while preserving intent.
526
+ """Reduce token count while preserving intent.
530
527
 
531
528
  Args:
532
529
  prompt: Original prompt
@@ -534,6 +531,7 @@ Examples:
534
531
 
535
532
  Returns:
536
533
  OptimizedPrompt with original and optimized versions
534
+
537
535
  """
538
536
  original_tokens = len(prompt) // self.CHARS_PER_TOKEN
539
537
  changes = []
@@ -593,8 +591,7 @@ Examples:
593
591
  prompt: str,
594
592
  reasoning_type: str = "step_by_step",
595
593
  ) -> str:
596
- """
597
- Add Chain-of-Thought scaffolding for complex reasoning.
594
+ """Add Chain-of-Thought scaffolding for complex reasoning.
598
595
 
599
596
  Args:
600
597
  prompt: Original prompt
@@ -606,6 +603,7 @@ Examples:
606
603
 
607
604
  Returns:
608
605
  Prompt with CoT scaffolding
606
+
609
607
  """
610
608
  cot_scaffolds = {
611
609
  "step_by_step": """
@@ -660,5 +658,4 @@ Present your findings systematically.""",
660
658
  if "## Task" in prompt:
661
659
  parts = prompt.split("## Task")
662
660
  return parts[0] + "\n## Reasoning Process" + scaffold + "\n\n## Task" + parts[1]
663
- else:
664
- return prompt + "\n\n## Reasoning Process" + scaffold
661
+ return prompt + "\n\n## Reasoning Process" + scaffold
@@ -1,5 +1,4 @@
1
- """
2
- RefactoringWizard - Code quality and refactoring opportunities
1
+ """RefactoringWizard - Code quality and refactoring opportunities
3
2
 
4
3
  Level 4 Anticipatory Empathy for Code Quality using the Empathy Framework.
5
4
 
@@ -13,8 +12,7 @@ from .base_wizard import BaseCoachWizard, WizardIssue, WizardPrediction
13
12
 
14
13
 
15
14
  class RefactoringWizard(BaseCoachWizard):
16
- """
17
- Code quality and refactoring opportunities
15
+ """Code quality and refactoring opportunities
18
16
 
19
17
  Detects:
20
18
  - code smells
@@ -36,8 +34,7 @@ class RefactoringWizard(BaseCoachWizard):
36
34
  )
37
35
 
38
36
  def analyze_code(self, code: str, file_path: str, language: str) -> list[WizardIssue]:
39
- """
40
- Analyze code for code quality issues
37
+ """Analyze code for code quality issues
41
38
 
42
39
  This is a reference implementation. In production, integrate with:
43
40
  - Static analysis tools
@@ -57,10 +54,13 @@ class RefactoringWizard(BaseCoachWizard):
57
54
  return issues
58
55
 
59
56
  def predict_future_issues(
60
- self, code: str, file_path: str, project_context: dict[str, Any], timeline_days: int = 90
57
+ self,
58
+ code: str,
59
+ file_path: str,
60
+ project_context: dict[str, Any],
61
+ timeline_days: int = 90,
61
62
  ) -> list[WizardPrediction]:
62
- """
63
- Level 4 Anticipatory: Predict code quality issues {timeline_days} days ahead
63
+ """Level 4 Anticipatory: Predict code quality issues {timeline_days} days ahead
64
64
 
65
65
  Uses:
66
66
  - Historical patterns
@@ -76,16 +76,16 @@ class RefactoringWizard(BaseCoachWizard):
76
76
 
77
77
  self.logger.info(
78
78
  f"{self.name} predicted {len(predictions)} future issues "
79
- f"for {file_path} ({timeline_days} days ahead)"
79
+ f"for {file_path} ({timeline_days} days ahead)",
80
80
  )
81
81
  return predictions
82
82
 
83
83
  def suggest_fixes(self, issue: WizardIssue) -> str:
84
- """
85
- Suggest how to fix a code quality issue
84
+ """Suggest how to fix a code quality issue
86
85
 
87
86
  Returns:
88
87
  Detailed fix suggestion with code examples
88
+
89
89
  """
90
90
  # Implementation depends on issue type
91
91
  return f"Fix suggestion for {issue.category} issue: {issue.message}"
@@ -1,5 +1,4 @@
1
- """
2
- ScalingWizard - Scalability and architecture analysis
1
+ """ScalingWizard - Scalability and architecture analysis
3
2
 
4
3
  Level 4 Anticipatory Empathy for Scalability using the Empathy Framework.
5
4
 
@@ -13,8 +12,7 @@ from .base_wizard import BaseCoachWizard, WizardIssue, WizardPrediction
13
12
 
14
13
 
15
14
  class ScalingWizard(BaseCoachWizard):
16
- """
17
- Scalability and architecture analysis
15
+ """Scalability and architecture analysis
18
16
 
19
17
  Detects:
20
18
  - single points of failure
@@ -35,8 +33,7 @@ class ScalingWizard(BaseCoachWizard):
35
33
  )
36
34
 
37
35
  def analyze_code(self, code: str, file_path: str, language: str) -> list[WizardIssue]:
38
- """
39
- Analyze code for scalability issues
36
+ """Analyze code for scalability issues
40
37
 
41
38
  This is a reference implementation. In production, integrate with:
42
39
  - Static analysis tools
@@ -56,10 +53,13 @@ class ScalingWizard(BaseCoachWizard):
56
53
  return issues
57
54
 
58
55
  def predict_future_issues(
59
- self, code: str, file_path: str, project_context: dict[str, Any], timeline_days: int = 90
56
+ self,
57
+ code: str,
58
+ file_path: str,
59
+ project_context: dict[str, Any],
60
+ timeline_days: int = 90,
60
61
  ) -> list[WizardPrediction]:
61
- """
62
- Level 4 Anticipatory: Predict scalability issues {timeline_days} days ahead
62
+ """Level 4 Anticipatory: Predict scalability issues {timeline_days} days ahead
63
63
 
64
64
  Uses:
65
65
  - Historical patterns
@@ -75,16 +75,16 @@ class ScalingWizard(BaseCoachWizard):
75
75
 
76
76
  self.logger.info(
77
77
  f"{self.name} predicted {len(predictions)} future issues "
78
- f"for {file_path} ({timeline_days} days ahead)"
78
+ f"for {file_path} ({timeline_days} days ahead)",
79
79
  )
80
80
  return predictions
81
81
 
82
82
  def suggest_fixes(self, issue: WizardIssue) -> str:
83
- """
84
- Suggest how to fix a scalability issue
83
+ """Suggest how to fix a scalability issue
85
84
 
86
85
  Returns:
87
86
  Detailed fix suggestion with code examples
87
+
88
88
  """
89
89
  # Implementation depends on issue type
90
90
  return f"Fix suggestion for {issue.category} issue: {issue.message}"
@@ -1,5 +1,4 @@
1
- """
2
- SecurityWizard - Security vulnerability detection and prevention
1
+ """SecurityWizard - Security vulnerability detection and prevention
3
2
 
4
3
  Level 4 Anticipatory Empathy for Security using the Empathy Framework.
5
4
 
@@ -13,8 +12,7 @@ from .base_wizard import BaseCoachWizard, WizardIssue, WizardPrediction
13
12
 
14
13
 
15
14
  class SecurityWizard(BaseCoachWizard):
16
- """
17
- Security vulnerability detection and prevention
15
+ """Security vulnerability detection and prevention
18
16
 
19
17
  Detects:
20
18
  - SQL injection
@@ -37,8 +35,7 @@ class SecurityWizard(BaseCoachWizard):
37
35
  )
38
36
 
39
37
  def analyze_code(self, code: str, file_path: str, language: str) -> list[WizardIssue]:
40
- """
41
- Analyze code for security issues
38
+ """Analyze code for security issues
42
39
 
43
40
  This is a reference implementation. In production, integrate with:
44
41
  - Static analysis tools
@@ -58,10 +55,13 @@ class SecurityWizard(BaseCoachWizard):
58
55
  return issues
59
56
 
60
57
  def predict_future_issues(
61
- self, code: str, file_path: str, project_context: dict[str, Any], timeline_days: int = 90
58
+ self,
59
+ code: str,
60
+ file_path: str,
61
+ project_context: dict[str, Any],
62
+ timeline_days: int = 90,
62
63
  ) -> list[WizardPrediction]:
63
- """
64
- Level 4 Anticipatory: Predict security issues {timeline_days} days ahead
64
+ """Level 4 Anticipatory: Predict security issues {timeline_days} days ahead
65
65
 
66
66
  Uses:
67
67
  - Historical patterns
@@ -77,16 +77,16 @@ class SecurityWizard(BaseCoachWizard):
77
77
 
78
78
  self.logger.info(
79
79
  f"{self.name} predicted {len(predictions)} future issues "
80
- f"for {file_path} ({timeline_days} days ahead)"
80
+ f"for {file_path} ({timeline_days} days ahead)",
81
81
  )
82
82
  return predictions
83
83
 
84
84
  def suggest_fixes(self, issue: WizardIssue) -> str:
85
- """
86
- Suggest how to fix a security issue
85
+ """Suggest how to fix a security issue
87
86
 
88
87
  Returns:
89
88
  Detailed fix suggestion with code examples
89
+
90
90
  """
91
91
  # Implementation depends on issue type
92
92
  return f"Fix suggestion for {issue.category} issue: {issue.message}"
@@ -1,5 +1,4 @@
1
- """
2
- TestingWizard - Test coverage and quality analysis
1
+ """TestingWizard - Test coverage and quality analysis
3
2
 
4
3
  Level 4 Anticipatory Empathy for Testing using the Empathy Framework.
5
4
 
@@ -13,8 +12,7 @@ from .base_wizard import BaseCoachWizard, WizardIssue, WizardPrediction
13
12
 
14
13
 
15
14
  class TestingWizard(BaseCoachWizard):
16
- """
17
- Test coverage and quality analysis
15
+ """Test coverage and quality analysis
18
16
 
19
17
  Detects:
20
18
  - untested code paths
@@ -36,8 +34,7 @@ class TestingWizard(BaseCoachWizard):
36
34
  )
37
35
 
38
36
  def analyze_code(self, code: str, file_path: str, language: str) -> list[WizardIssue]:
39
- """
40
- Analyze code for testing issues
37
+ """Analyze code for testing issues
41
38
 
42
39
  This is a reference implementation. In production, integrate with:
43
40
  - Static analysis tools
@@ -57,10 +54,13 @@ class TestingWizard(BaseCoachWizard):
57
54
  return issues
58
55
 
59
56
  def predict_future_issues(
60
- self, code: str, file_path: str, project_context: dict[str, Any], timeline_days: int = 90
57
+ self,
58
+ code: str,
59
+ file_path: str,
60
+ project_context: dict[str, Any],
61
+ timeline_days: int = 90,
61
62
  ) -> list[WizardPrediction]:
62
- """
63
- Level 4 Anticipatory: Predict testing issues {timeline_days} days ahead
63
+ """Level 4 Anticipatory: Predict testing issues {timeline_days} days ahead
64
64
 
65
65
  Uses:
66
66
  - Historical patterns
@@ -76,16 +76,16 @@ class TestingWizard(BaseCoachWizard):
76
76
 
77
77
  self.logger.info(
78
78
  f"{self.name} predicted {len(predictions)} future issues "
79
- f"for {file_path} ({timeline_days} days ahead)"
79
+ f"for {file_path} ({timeline_days} days ahead)",
80
80
  )
81
81
  return predictions
82
82
 
83
83
  def suggest_fixes(self, issue: WizardIssue) -> str:
84
- """
85
- Suggest how to fix a testing issue
84
+ """Suggest how to fix a testing issue
86
85
 
87
86
  Returns:
88
87
  Detailed fix suggestion with code examples
88
+
89
89
  """
90
90
  # Implementation depends on issue type
91
91
  return f"Fix suggestion for {issue.category} issue: {issue.message}"