empathy-framework 4.6.6__py3-none-any.whl → 4.7.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. empathy_framework-4.7.1.dist-info/METADATA +690 -0
  2. empathy_framework-4.7.1.dist-info/RECORD +379 -0
  3. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/top_level.txt +1 -2
  4. empathy_healthcare_plugin/monitors/monitoring/__init__.py +9 -9
  5. empathy_llm_toolkit/agent_factory/__init__.py +6 -6
  6. empathy_llm_toolkit/agent_factory/adapters/wizard_adapter.py +7 -10
  7. empathy_llm_toolkit/agents_md/__init__.py +22 -0
  8. empathy_llm_toolkit/agents_md/loader.py +218 -0
  9. empathy_llm_toolkit/agents_md/parser.py +271 -0
  10. empathy_llm_toolkit/agents_md/registry.py +307 -0
  11. empathy_llm_toolkit/commands/__init__.py +51 -0
  12. empathy_llm_toolkit/commands/context.py +375 -0
  13. empathy_llm_toolkit/commands/loader.py +301 -0
  14. empathy_llm_toolkit/commands/models.py +231 -0
  15. empathy_llm_toolkit/commands/parser.py +371 -0
  16. empathy_llm_toolkit/commands/registry.py +429 -0
  17. empathy_llm_toolkit/config/__init__.py +8 -8
  18. empathy_llm_toolkit/config/unified.py +3 -7
  19. empathy_llm_toolkit/context/__init__.py +22 -0
  20. empathy_llm_toolkit/context/compaction.py +455 -0
  21. empathy_llm_toolkit/context/manager.py +434 -0
  22. empathy_llm_toolkit/hooks/__init__.py +24 -0
  23. empathy_llm_toolkit/hooks/config.py +306 -0
  24. empathy_llm_toolkit/hooks/executor.py +289 -0
  25. empathy_llm_toolkit/hooks/registry.py +302 -0
  26. empathy_llm_toolkit/hooks/scripts/__init__.py +39 -0
  27. empathy_llm_toolkit/hooks/scripts/evaluate_session.py +201 -0
  28. empathy_llm_toolkit/hooks/scripts/first_time_init.py +285 -0
  29. empathy_llm_toolkit/hooks/scripts/pre_compact.py +207 -0
  30. empathy_llm_toolkit/hooks/scripts/session_end.py +183 -0
  31. empathy_llm_toolkit/hooks/scripts/session_start.py +163 -0
  32. empathy_llm_toolkit/hooks/scripts/suggest_compact.py +225 -0
  33. empathy_llm_toolkit/learning/__init__.py +30 -0
  34. empathy_llm_toolkit/learning/evaluator.py +438 -0
  35. empathy_llm_toolkit/learning/extractor.py +514 -0
  36. empathy_llm_toolkit/learning/storage.py +560 -0
  37. empathy_llm_toolkit/providers.py +4 -11
  38. empathy_llm_toolkit/security/__init__.py +17 -17
  39. empathy_llm_toolkit/utils/tokens.py +2 -5
  40. empathy_os/__init__.py +202 -70
  41. empathy_os/cache_monitor.py +5 -3
  42. empathy_os/cli/__init__.py +11 -55
  43. empathy_os/cli/__main__.py +29 -15
  44. empathy_os/cli/commands/inspection.py +21 -12
  45. empathy_os/cli/commands/memory.py +4 -12
  46. empathy_os/cli/commands/profiling.py +198 -0
  47. empathy_os/cli/commands/utilities.py +27 -7
  48. empathy_os/cli.py +28 -57
  49. empathy_os/cli_unified.py +525 -1164
  50. empathy_os/cost_tracker.py +9 -3
  51. empathy_os/dashboard/server.py +200 -2
  52. empathy_os/hot_reload/__init__.py +7 -7
  53. empathy_os/hot_reload/config.py +6 -7
  54. empathy_os/hot_reload/integration.py +35 -35
  55. empathy_os/hot_reload/reloader.py +57 -57
  56. empathy_os/hot_reload/watcher.py +28 -28
  57. empathy_os/hot_reload/websocket.py +2 -2
  58. empathy_os/memory/__init__.py +11 -4
  59. empathy_os/memory/claude_memory.py +1 -1
  60. empathy_os/memory/cross_session.py +8 -12
  61. empathy_os/memory/edges.py +6 -6
  62. empathy_os/memory/file_session.py +770 -0
  63. empathy_os/memory/graph.py +30 -30
  64. empathy_os/memory/nodes.py +6 -6
  65. empathy_os/memory/short_term.py +15 -9
  66. empathy_os/memory/unified.py +606 -140
  67. empathy_os/meta_workflows/agent_creator.py +3 -9
  68. empathy_os/meta_workflows/cli_meta_workflows.py +113 -53
  69. empathy_os/meta_workflows/form_engine.py +6 -18
  70. empathy_os/meta_workflows/intent_detector.py +64 -24
  71. empathy_os/meta_workflows/models.py +3 -1
  72. empathy_os/meta_workflows/pattern_learner.py +13 -31
  73. empathy_os/meta_workflows/plan_generator.py +55 -47
  74. empathy_os/meta_workflows/session_context.py +2 -3
  75. empathy_os/meta_workflows/workflow.py +20 -51
  76. empathy_os/models/cli.py +2 -2
  77. empathy_os/models/tasks.py +1 -2
  78. empathy_os/models/telemetry.py +4 -1
  79. empathy_os/models/token_estimator.py +3 -1
  80. empathy_os/monitoring/alerts.py +938 -9
  81. empathy_os/monitoring/alerts_cli.py +346 -183
  82. empathy_os/orchestration/execution_strategies.py +12 -29
  83. empathy_os/orchestration/pattern_learner.py +20 -26
  84. empathy_os/orchestration/real_tools.py +6 -15
  85. empathy_os/platform_utils.py +2 -1
  86. empathy_os/plugins/__init__.py +2 -2
  87. empathy_os/plugins/base.py +64 -64
  88. empathy_os/plugins/registry.py +32 -32
  89. empathy_os/project_index/index.py +49 -15
  90. empathy_os/project_index/models.py +1 -2
  91. empathy_os/project_index/reports.py +1 -1
  92. empathy_os/project_index/scanner.py +1 -0
  93. empathy_os/redis_memory.py +10 -7
  94. empathy_os/resilience/__init__.py +1 -1
  95. empathy_os/resilience/health.py +10 -10
  96. empathy_os/routing/__init__.py +7 -7
  97. empathy_os/routing/chain_executor.py +37 -37
  98. empathy_os/routing/classifier.py +36 -36
  99. empathy_os/routing/smart_router.py +40 -40
  100. empathy_os/routing/{wizard_registry.py → workflow_registry.py} +47 -47
  101. empathy_os/scaffolding/__init__.py +8 -8
  102. empathy_os/scaffolding/__main__.py +1 -1
  103. empathy_os/scaffolding/cli.py +28 -28
  104. empathy_os/socratic/__init__.py +3 -19
  105. empathy_os/socratic/ab_testing.py +25 -36
  106. empathy_os/socratic/blueprint.py +38 -38
  107. empathy_os/socratic/cli.py +34 -20
  108. empathy_os/socratic/collaboration.py +30 -28
  109. empathy_os/socratic/domain_templates.py +9 -1
  110. empathy_os/socratic/embeddings.py +17 -13
  111. empathy_os/socratic/engine.py +135 -70
  112. empathy_os/socratic/explainer.py +70 -60
  113. empathy_os/socratic/feedback.py +24 -19
  114. empathy_os/socratic/forms.py +15 -10
  115. empathy_os/socratic/generator.py +51 -35
  116. empathy_os/socratic/llm_analyzer.py +25 -23
  117. empathy_os/socratic/mcp_server.py +99 -159
  118. empathy_os/socratic/session.py +19 -13
  119. empathy_os/socratic/storage.py +98 -67
  120. empathy_os/socratic/success.py +38 -27
  121. empathy_os/socratic/visual_editor.py +51 -39
  122. empathy_os/socratic/web_ui.py +99 -66
  123. empathy_os/telemetry/cli.py +3 -1
  124. empathy_os/telemetry/usage_tracker.py +1 -3
  125. empathy_os/test_generator/__init__.py +3 -3
  126. empathy_os/test_generator/cli.py +28 -28
  127. empathy_os/test_generator/generator.py +64 -66
  128. empathy_os/test_generator/risk_analyzer.py +11 -11
  129. empathy_os/vscode_bridge 2.py +173 -0
  130. empathy_os/vscode_bridge.py +173 -0
  131. empathy_os/workflows/__init__.py +212 -120
  132. empathy_os/workflows/batch_processing.py +8 -24
  133. empathy_os/workflows/bug_predict.py +1 -1
  134. empathy_os/workflows/code_review.py +20 -5
  135. empathy_os/workflows/code_review_pipeline.py +13 -8
  136. empathy_os/workflows/keyboard_shortcuts/workflow.py +6 -2
  137. empathy_os/workflows/manage_documentation.py +1 -0
  138. empathy_os/workflows/orchestrated_health_check.py +6 -11
  139. empathy_os/workflows/orchestrated_release_prep.py +3 -3
  140. empathy_os/workflows/pr_review.py +18 -10
  141. empathy_os/workflows/progressive/README 2.md +454 -0
  142. empathy_os/workflows/progressive/__init__ 2.py +92 -0
  143. empathy_os/workflows/progressive/__init__.py +2 -12
  144. empathy_os/workflows/progressive/cli 2.py +242 -0
  145. empathy_os/workflows/progressive/cli.py +14 -37
  146. empathy_os/workflows/progressive/core 2.py +488 -0
  147. empathy_os/workflows/progressive/core.py +12 -12
  148. empathy_os/workflows/progressive/orchestrator 2.py +701 -0
  149. empathy_os/workflows/progressive/orchestrator.py +166 -144
  150. empathy_os/workflows/progressive/reports 2.py +528 -0
  151. empathy_os/workflows/progressive/reports.py +22 -31
  152. empathy_os/workflows/progressive/telemetry 2.py +280 -0
  153. empathy_os/workflows/progressive/telemetry.py +8 -14
  154. empathy_os/workflows/progressive/test_gen 2.py +514 -0
  155. empathy_os/workflows/progressive/test_gen.py +29 -48
  156. empathy_os/workflows/progressive/workflow 2.py +628 -0
  157. empathy_os/workflows/progressive/workflow.py +31 -70
  158. empathy_os/workflows/release_prep.py +21 -6
  159. empathy_os/workflows/release_prep_crew.py +1 -0
  160. empathy_os/workflows/secure_release.py +13 -6
  161. empathy_os/workflows/security_audit.py +8 -3
  162. empathy_os/workflows/test_coverage_boost_crew.py +3 -2
  163. empathy_os/workflows/test_maintenance_crew.py +1 -0
  164. empathy_os/workflows/test_runner.py +16 -12
  165. empathy_software_plugin/SOFTWARE_PLUGIN_README.md +25 -703
  166. empathy_software_plugin/cli.py +0 -122
  167. patterns/README.md +119 -0
  168. patterns/__init__.py +95 -0
  169. patterns/behavior.py +298 -0
  170. patterns/code_review_memory.json +441 -0
  171. patterns/core.py +97 -0
  172. patterns/debugging.json +3763 -0
  173. patterns/empathy.py +268 -0
  174. patterns/health_check_memory.json +505 -0
  175. patterns/input.py +161 -0
  176. patterns/memory_graph.json +8 -0
  177. patterns/refactoring_memory.json +1113 -0
  178. patterns/registry.py +663 -0
  179. patterns/security_memory.json +8 -0
  180. patterns/structural.py +415 -0
  181. patterns/validation.py +194 -0
  182. coach_wizards/__init__.py +0 -45
  183. coach_wizards/accessibility_wizard.py +0 -91
  184. coach_wizards/api_wizard.py +0 -91
  185. coach_wizards/base_wizard.py +0 -209
  186. coach_wizards/cicd_wizard.py +0 -91
  187. coach_wizards/code_reviewer_README.md +0 -60
  188. coach_wizards/code_reviewer_wizard.py +0 -180
  189. coach_wizards/compliance_wizard.py +0 -91
  190. coach_wizards/database_wizard.py +0 -91
  191. coach_wizards/debugging_wizard.py +0 -91
  192. coach_wizards/documentation_wizard.py +0 -91
  193. coach_wizards/generate_wizards.py +0 -347
  194. coach_wizards/localization_wizard.py +0 -173
  195. coach_wizards/migration_wizard.py +0 -91
  196. coach_wizards/monitoring_wizard.py +0 -91
  197. coach_wizards/observability_wizard.py +0 -91
  198. coach_wizards/performance_wizard.py +0 -91
  199. coach_wizards/prompt_engineering_wizard.py +0 -661
  200. coach_wizards/refactoring_wizard.py +0 -91
  201. coach_wizards/scaling_wizard.py +0 -90
  202. coach_wizards/security_wizard.py +0 -92
  203. coach_wizards/testing_wizard.py +0 -91
  204. empathy_framework-4.6.6.dist-info/METADATA +0 -1597
  205. empathy_framework-4.6.6.dist-info/RECORD +0 -410
  206. empathy_llm_toolkit/wizards/__init__.py +0 -43
  207. empathy_llm_toolkit/wizards/base_wizard.py +0 -364
  208. empathy_llm_toolkit/wizards/customer_support_wizard.py +0 -190
  209. empathy_llm_toolkit/wizards/healthcare_wizard.py +0 -378
  210. empathy_llm_toolkit/wizards/patient_assessment_README.md +0 -64
  211. empathy_llm_toolkit/wizards/patient_assessment_wizard.py +0 -193
  212. empathy_llm_toolkit/wizards/technology_wizard.py +0 -209
  213. empathy_os/wizard_factory_cli.py +0 -170
  214. empathy_software_plugin/wizards/__init__.py +0 -42
  215. empathy_software_plugin/wizards/advanced_debugging_wizard.py +0 -395
  216. empathy_software_plugin/wizards/agent_orchestration_wizard.py +0 -511
  217. empathy_software_plugin/wizards/ai_collaboration_wizard.py +0 -503
  218. empathy_software_plugin/wizards/ai_context_wizard.py +0 -441
  219. empathy_software_plugin/wizards/ai_documentation_wizard.py +0 -503
  220. empathy_software_plugin/wizards/base_wizard.py +0 -288
  221. empathy_software_plugin/wizards/book_chapter_wizard.py +0 -519
  222. empathy_software_plugin/wizards/code_review_wizard.py +0 -604
  223. empathy_software_plugin/wizards/debugging/__init__.py +0 -50
  224. empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py +0 -414
  225. empathy_software_plugin/wizards/debugging/config_loaders.py +0 -446
  226. empathy_software_plugin/wizards/debugging/fix_applier.py +0 -469
  227. empathy_software_plugin/wizards/debugging/language_patterns.py +0 -385
  228. empathy_software_plugin/wizards/debugging/linter_parsers.py +0 -470
  229. empathy_software_plugin/wizards/debugging/verification.py +0 -369
  230. empathy_software_plugin/wizards/enhanced_testing_wizard.py +0 -537
  231. empathy_software_plugin/wizards/memory_enhanced_debugging_wizard.py +0 -816
  232. empathy_software_plugin/wizards/multi_model_wizard.py +0 -501
  233. empathy_software_plugin/wizards/pattern_extraction_wizard.py +0 -422
  234. empathy_software_plugin/wizards/pattern_retriever_wizard.py +0 -400
  235. empathy_software_plugin/wizards/performance/__init__.py +0 -9
  236. empathy_software_plugin/wizards/performance/bottleneck_detector.py +0 -221
  237. empathy_software_plugin/wizards/performance/profiler_parsers.py +0 -278
  238. empathy_software_plugin/wizards/performance/trajectory_analyzer.py +0 -429
  239. empathy_software_plugin/wizards/performance_profiling_wizard.py +0 -305
  240. empathy_software_plugin/wizards/prompt_engineering_wizard.py +0 -425
  241. empathy_software_plugin/wizards/rag_pattern_wizard.py +0 -461
  242. empathy_software_plugin/wizards/security/__init__.py +0 -32
  243. empathy_software_plugin/wizards/security/exploit_analyzer.py +0 -290
  244. empathy_software_plugin/wizards/security/owasp_patterns.py +0 -241
  245. empathy_software_plugin/wizards/security/vulnerability_scanner.py +0 -604
  246. empathy_software_plugin/wizards/security_analysis_wizard.py +0 -322
  247. empathy_software_plugin/wizards/security_learning_wizard.py +0 -740
  248. empathy_software_plugin/wizards/tech_debt_wizard.py +0 -726
  249. empathy_software_plugin/wizards/testing/__init__.py +0 -27
  250. empathy_software_plugin/wizards/testing/coverage_analyzer.py +0 -459
  251. empathy_software_plugin/wizards/testing/quality_analyzer.py +0 -525
  252. empathy_software_plugin/wizards/testing/test_suggester.py +0 -533
  253. empathy_software_plugin/wizards/testing_wizard.py +0 -274
  254. wizards/__init__.py +0 -82
  255. wizards/admission_assessment_wizard.py +0 -644
  256. wizards/care_plan.py +0 -321
  257. wizards/clinical_assessment.py +0 -769
  258. wizards/discharge_planning.py +0 -77
  259. wizards/discharge_summary_wizard.py +0 -468
  260. wizards/dosage_calculation.py +0 -497
  261. wizards/incident_report_wizard.py +0 -454
  262. wizards/medication_reconciliation.py +0 -85
  263. wizards/nursing_assessment.py +0 -171
  264. wizards/patient_education.py +0 -654
  265. wizards/quality_improvement.py +0 -705
  266. wizards/sbar_report.py +0 -324
  267. wizards/sbar_wizard.py +0 -608
  268. wizards/shift_handoff_wizard.py +0 -535
  269. wizards/soap_note_wizard.py +0 -679
  270. wizards/treatment_plan.py +0 -15
  271. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/WHEEL +0 -0
  272. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/entry_points.txt +0 -0
  273. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,441 @@
1
+ {
2
+ "version": "1.0",
3
+ "updated_at": "2026-01-21T21:33:09.498043",
4
+ "node_count": 27,
5
+ "edge_count": 0,
6
+ "nodes": [
7
+ {
8
+ "id": "code_review_20251223080004_775d99bcc60f",
9
+ "type": "pattern",
10
+ "name": "review:Review of 1 files",
11
+ "description": "Code review passed with no issues identified.",
12
+ "source_wizard": "code_review_crew",
13
+ "source_file": "",
14
+ "source_line": null,
15
+ "severity": "",
16
+ "confidence": 1.0,
17
+ "metadata": {},
18
+ "tags": [],
19
+ "created_at": "2025-12-23T08:00:04.071026",
20
+ "updated_at": "2025-12-23T08:00:04.071029",
21
+ "status": "open"
22
+ },
23
+ {
24
+ "id": "code_review_20251223123355_b83ec54f38d1",
25
+ "type": "pattern",
26
+ "name": "review:Review of 0 files",
27
+ "description": "Code review passed with no issues identified.",
28
+ "source_wizard": "code_review_crew",
29
+ "source_file": "",
30
+ "source_line": null,
31
+ "severity": "",
32
+ "confidence": 1.0,
33
+ "metadata": {},
34
+ "tags": [],
35
+ "created_at": "2025-12-23T12:33:55.701270",
36
+ "updated_at": "2025-12-23T12:33:55.701509",
37
+ "status": "open"
38
+ },
39
+ {
40
+ "id": "code_review_20251223123457_b83ec54f38d1",
41
+ "type": "pattern",
42
+ "name": "review:Review of 0 files",
43
+ "description": "Code review passed with no issues identified.",
44
+ "source_wizard": "code_review_crew",
45
+ "source_file": "",
46
+ "source_line": null,
47
+ "severity": "",
48
+ "confidence": 1.0,
49
+ "metadata": {},
50
+ "tags": [],
51
+ "created_at": "2025-12-23T12:34:57.179231",
52
+ "updated_at": "2025-12-23T12:34:57.179232",
53
+ "status": "open"
54
+ },
55
+ {
56
+ "id": "code_review_20251223123725_b83ec54f38d1",
57
+ "type": "pattern",
58
+ "name": "review:Review of 0 files",
59
+ "description": "Code review passed with no issues identified.",
60
+ "source_wizard": "code_review_crew",
61
+ "source_file": "",
62
+ "source_line": null,
63
+ "severity": "",
64
+ "confidence": 1.0,
65
+ "metadata": {},
66
+ "tags": [],
67
+ "created_at": "2025-12-23T12:37:25.438909",
68
+ "updated_at": "2025-12-23T12:37:25.438911",
69
+ "status": "open"
70
+ },
71
+ {
72
+ "id": "code_review_20251223181131_b83ec54f38d1",
73
+ "type": "pattern",
74
+ "name": "review:Review of 0 files",
75
+ "description": "Code review passed with no issues identified.",
76
+ "source_wizard": "code_review_crew",
77
+ "source_file": "",
78
+ "source_line": null,
79
+ "severity": "",
80
+ "confidence": 1.0,
81
+ "metadata": {},
82
+ "tags": [],
83
+ "created_at": "2025-12-23T18:11:31.823242",
84
+ "updated_at": "2025-12-23T18:11:31.823244",
85
+ "status": "open"
86
+ },
87
+ {
88
+ "id": "code_review_20251223181248_b83ec54f38d1",
89
+ "type": "pattern",
90
+ "name": "review:Review of 0 files",
91
+ "description": "Code review passed with no issues identified.",
92
+ "source_wizard": "code_review_crew",
93
+ "source_file": "",
94
+ "source_line": null,
95
+ "severity": "",
96
+ "confidence": 1.0,
97
+ "metadata": {},
98
+ "tags": [],
99
+ "created_at": "2025-12-23T18:12:48.761103",
100
+ "updated_at": "2025-12-23T18:12:48.761104",
101
+ "status": "open"
102
+ },
103
+ {
104
+ "id": "code_review_20251225125631_b83ec54f38d1",
105
+ "type": "pattern",
106
+ "name": "review:Review of 0 files",
107
+ "description": "Code review passed with no issues identified.",
108
+ "source_wizard": "code_review_crew",
109
+ "source_file": "",
110
+ "source_line": null,
111
+ "severity": "",
112
+ "confidence": 1.0,
113
+ "metadata": {},
114
+ "tags": [],
115
+ "created_at": "2025-12-25T12:56:31.509518",
116
+ "updated_at": "2025-12-25T12:56:31.509519",
117
+ "status": "open"
118
+ },
119
+ {
120
+ "id": "code_review_20251225133512_b83ec54f38d1",
121
+ "type": "pattern",
122
+ "name": "review:Review of 0 files",
123
+ "description": "Code review passed with no issues identified.",
124
+ "source_wizard": "code_review_crew",
125
+ "source_file": "",
126
+ "source_line": null,
127
+ "severity": "",
128
+ "confidence": 1.0,
129
+ "metadata": {},
130
+ "tags": [],
131
+ "created_at": "2025-12-25T13:35:12.459565",
132
+ "updated_at": "2025-12-25T13:35:12.459566",
133
+ "status": "open"
134
+ },
135
+ {
136
+ "id": "code_review_20251225223538_b83ec54f38d1",
137
+ "type": "pattern",
138
+ "name": "review:Review of 0 files",
139
+ "description": "Code review passed with no issues identified.",
140
+ "source_wizard": "code_review_crew",
141
+ "source_file": "",
142
+ "source_line": null,
143
+ "severity": "",
144
+ "confidence": 1.0,
145
+ "metadata": {},
146
+ "tags": [],
147
+ "created_at": "2025-12-25T22:35:38.342576",
148
+ "updated_at": "2025-12-25T22:35:38.342578",
149
+ "status": "open"
150
+ },
151
+ {
152
+ "id": "code_review_20251225224302_b83ec54f38d1",
153
+ "type": "pattern",
154
+ "name": "review:Review of 0 files",
155
+ "description": "Code review passed with no issues identified.",
156
+ "source_wizard": "code_review_crew",
157
+ "source_file": "",
158
+ "source_line": null,
159
+ "severity": "",
160
+ "confidence": 1.0,
161
+ "metadata": {},
162
+ "tags": [],
163
+ "created_at": "2025-12-25T22:43:02.040549",
164
+ "updated_at": "2025-12-25T22:43:02.040550",
165
+ "status": "open"
166
+ },
167
+ {
168
+ "id": "code_review_20251225224917_b83ec54f38d1",
169
+ "type": "pattern",
170
+ "name": "review:Review of 0 files",
171
+ "description": "Code review passed with no issues identified.",
172
+ "source_wizard": "code_review_crew",
173
+ "source_file": "",
174
+ "source_line": null,
175
+ "severity": "",
176
+ "confidence": 1.0,
177
+ "metadata": {},
178
+ "tags": [],
179
+ "created_at": "2025-12-25T22:49:17.964648",
180
+ "updated_at": "2025-12-25T22:49:17.964650",
181
+ "status": "open"
182
+ },
183
+ {
184
+ "id": "code_review_20251225225441_b83ec54f38d1",
185
+ "type": "pattern",
186
+ "name": "review:Review of 0 files",
187
+ "description": "Code review passed with no issues identified.",
188
+ "source_wizard": "code_review_crew",
189
+ "source_file": "",
190
+ "source_line": null,
191
+ "severity": "",
192
+ "confidence": 1.0,
193
+ "metadata": {},
194
+ "tags": [],
195
+ "created_at": "2025-12-25T22:54:41.746375",
196
+ "updated_at": "2025-12-25T22:54:41.746376",
197
+ "status": "open"
198
+ },
199
+ {
200
+ "id": "code_review_20251225225802_b83ec54f38d1",
201
+ "type": "pattern",
202
+ "name": "review:Review of 0 files",
203
+ "description": "Code review passed with no issues identified.",
204
+ "source_wizard": "code_review_crew",
205
+ "source_file": "",
206
+ "source_line": null,
207
+ "severity": "",
208
+ "confidence": 1.0,
209
+ "metadata": {},
210
+ "tags": [],
211
+ "created_at": "2025-12-25T22:58:02.875126",
212
+ "updated_at": "2025-12-25T22:58:02.875128",
213
+ "status": "open"
214
+ },
215
+ {
216
+ "id": "code_review_20251225230106_b83ec54f38d1",
217
+ "type": "pattern",
218
+ "name": "review:Review of 0 files",
219
+ "description": "Code review passed with no issues identified.",
220
+ "source_wizard": "code_review_crew",
221
+ "source_file": "",
222
+ "source_line": null,
223
+ "severity": "",
224
+ "confidence": 1.0,
225
+ "metadata": {},
226
+ "tags": [],
227
+ "created_at": "2025-12-25T23:01:06.006464",
228
+ "updated_at": "2025-12-25T23:01:06.006466",
229
+ "status": "open"
230
+ },
231
+ {
232
+ "id": "code_review_20251226001258_b83ec54f38d1",
233
+ "type": "pattern",
234
+ "name": "review:Review of 0 files",
235
+ "description": "Code review passed with no issues identified.",
236
+ "source_wizard": "code_review_crew",
237
+ "source_file": "",
238
+ "source_line": null,
239
+ "severity": "",
240
+ "confidence": 1.0,
241
+ "metadata": {},
242
+ "tags": [],
243
+ "created_at": "2025-12-26T00:12:58.628510",
244
+ "updated_at": "2025-12-26T00:12:58.628514",
245
+ "status": "open"
246
+ },
247
+ {
248
+ "id": "code_review_20251226132743_b83ec54f38d1",
249
+ "type": "pattern",
250
+ "name": "review:Review of 0 files",
251
+ "description": "Code review passed with no issues identified.",
252
+ "source_wizard": "code_review_crew",
253
+ "source_file": "",
254
+ "source_line": null,
255
+ "severity": "",
256
+ "confidence": 1.0,
257
+ "metadata": {},
258
+ "tags": [],
259
+ "created_at": "2025-12-26T13:27:43.005241",
260
+ "updated_at": "2025-12-26T13:27:43.005243",
261
+ "status": "open"
262
+ },
263
+ {
264
+ "id": "code_review_20251227104634_b83ec54f38d1",
265
+ "type": "pattern",
266
+ "name": "review:Review of 0 files",
267
+ "description": "Code review passed with no issues identified.",
268
+ "source_wizard": "code_review_crew",
269
+ "source_file": "",
270
+ "source_line": null,
271
+ "severity": "",
272
+ "confidence": 1.0,
273
+ "metadata": {},
274
+ "tags": [],
275
+ "created_at": "2025-12-27T10:46:34.415666",
276
+ "updated_at": "2025-12-27T10:46:34.415668",
277
+ "status": "open"
278
+ },
279
+ {
280
+ "id": "code_review_20251227134956_b83ec54f38d1",
281
+ "type": "pattern",
282
+ "name": "review:Review of 0 files",
283
+ "description": "Code review passed with no issues identified.",
284
+ "source_wizard": "code_review_crew",
285
+ "source_file": "",
286
+ "source_line": null,
287
+ "severity": "",
288
+ "confidence": 1.0,
289
+ "metadata": {},
290
+ "tags": [],
291
+ "created_at": "2025-12-27T13:49:56.473522",
292
+ "updated_at": "2025-12-27T13:49:56.473523",
293
+ "status": "open"
294
+ },
295
+ {
296
+ "id": "code_review_20251229001439_b83ec54f38d1",
297
+ "type": "pattern",
298
+ "name": "review:Review of 0 files",
299
+ "description": "Code review passed with no issues identified.",
300
+ "source_wizard": "code_review_crew",
301
+ "source_file": "",
302
+ "source_line": null,
303
+ "severity": "",
304
+ "confidence": 1.0,
305
+ "metadata": {},
306
+ "tags": [],
307
+ "created_at": "2025-12-29T00:14:39.654519",
308
+ "updated_at": "2025-12-29T00:14:39.654522",
309
+ "status": "open"
310
+ },
311
+ {
312
+ "id": "code_review_20251229015608_b83ec54f38d1",
313
+ "type": "pattern",
314
+ "name": "review:Review of 0 files",
315
+ "description": "Code review passed with no issues identified.",
316
+ "source_wizard": "code_review_crew",
317
+ "source_file": "",
318
+ "source_line": null,
319
+ "severity": "",
320
+ "confidence": 1.0,
321
+ "metadata": {},
322
+ "tags": [],
323
+ "created_at": "2025-12-29T01:56:08.710859",
324
+ "updated_at": "2025-12-29T01:56:08.710860",
325
+ "status": "open"
326
+ },
327
+ {
328
+ "id": "code_review_20251231031131_b83ec54f38d1",
329
+ "type": "pattern",
330
+ "name": "review:Review of 0 files",
331
+ "description": "Code review passed with no issues identified.",
332
+ "source_wizard": "code_review_crew",
333
+ "source_file": "",
334
+ "source_line": null,
335
+ "severity": "",
336
+ "confidence": 1.0,
337
+ "metadata": {},
338
+ "tags": [],
339
+ "created_at": "2025-12-31T03:11:31.928522",
340
+ "updated_at": "2025-12-31T03:11:31.928526",
341
+ "status": "open"
342
+ },
343
+ {
344
+ "id": "code_review_20251231031259_b83ec54f38d1",
345
+ "type": "pattern",
346
+ "name": "review:Review of 0 files",
347
+ "description": "Code review passed with no issues identified.",
348
+ "source_wizard": "code_review_crew",
349
+ "source_file": "",
350
+ "source_line": null,
351
+ "severity": "",
352
+ "confidence": 1.0,
353
+ "metadata": {},
354
+ "tags": [],
355
+ "created_at": "2025-12-31T03:12:59.248006",
356
+ "updated_at": "2025-12-31T03:12:59.248008",
357
+ "status": "open"
358
+ },
359
+ {
360
+ "id": "code_review_20260106002821_b83ec54f38d1",
361
+ "type": "pattern",
362
+ "name": "review:Review of 0 files",
363
+ "description": "Code review passed with no issues identified.",
364
+ "source_wizard": "code_review_crew",
365
+ "source_file": "",
366
+ "source_line": null,
367
+ "severity": "",
368
+ "confidence": 1.0,
369
+ "metadata": {},
370
+ "tags": [],
371
+ "created_at": "2026-01-06T00:28:21.590516",
372
+ "updated_at": "2026-01-06T00:28:21.590518",
373
+ "status": "open"
374
+ },
375
+ {
376
+ "id": "code_review_20260110044523_b83ec54f38d1",
377
+ "type": "pattern",
378
+ "name": "review:Review of 0 files",
379
+ "description": "Code review passed with no issues identified.",
380
+ "source_wizard": "code_review_crew",
381
+ "source_file": "",
382
+ "source_line": null,
383
+ "severity": "",
384
+ "confidence": 1.0,
385
+ "metadata": {},
386
+ "tags": [],
387
+ "created_at": "2026-01-10T04:45:23.803937",
388
+ "updated_at": "2026-01-10T04:45:23.803938",
389
+ "status": "open"
390
+ },
391
+ {
392
+ "id": "code_review_20260121210401_b83ec54f38d1",
393
+ "type": "pattern",
394
+ "name": "review:Review of 0 files",
395
+ "description": "Code review passed with no issues identified.",
396
+ "source_wizard": "code_review_crew",
397
+ "source_file": "",
398
+ "source_line": null,
399
+ "severity": "",
400
+ "confidence": 1.0,
401
+ "metadata": {},
402
+ "tags": [],
403
+ "created_at": "2026-01-21T21:04:01.549503",
404
+ "updated_at": "2026-01-21T21:04:01.549504",
405
+ "status": "open"
406
+ },
407
+ {
408
+ "id": "code_review_20260121210716_b83ec54f38d1",
409
+ "type": "pattern",
410
+ "name": "review:Review of 0 files",
411
+ "description": "Code review passed with no issues identified.",
412
+ "source_wizard": "code_review_crew",
413
+ "source_file": "",
414
+ "source_line": null,
415
+ "severity": "",
416
+ "confidence": 1.0,
417
+ "metadata": {},
418
+ "tags": [],
419
+ "created_at": "2026-01-21T21:07:16.256485",
420
+ "updated_at": "2026-01-21T21:07:16.256486",
421
+ "status": "open"
422
+ },
423
+ {
424
+ "id": "code_review_20260121213309_b83ec54f38d1",
425
+ "type": "pattern",
426
+ "name": "review:Review of 0 files",
427
+ "description": "Code review passed with no issues identified.",
428
+ "source_wizard": "code_review_crew",
429
+ "source_file": "",
430
+ "source_line": null,
431
+ "severity": "",
432
+ "confidence": 1.0,
433
+ "metadata": {},
434
+ "tags": [],
435
+ "created_at": "2026-01-21T21:33:09.496535",
436
+ "updated_at": "2026-01-21T21:33:09.496535",
437
+ "status": "open"
438
+ }
439
+ ],
440
+ "edges": []
441
+ }
patterns/core.py ADDED
@@ -0,0 +1,97 @@
1
+ """Core pattern models for the Wizard Factory Pattern Library.
2
+
3
+ This module provides the base classes and enums used by all wizard patterns.
4
+ Patterns are extracted from 78 existing wizards and encoded as Pydantic models
5
+ for type safety, validation, and code generation.
6
+
7
+ Copyright 2025 Smart AI Memory, LLC
8
+ Licensed under Fair Source 0.9
9
+ """
10
+
11
+ from enum import Enum
12
+ from typing import Any
13
+
14
+ from pydantic import BaseModel, Field
15
+
16
+
17
+ class PatternCategory(str, Enum):
18
+ """Categories of wizard patterns."""
19
+
20
+ STRUCTURAL = "structural"
21
+ INPUT = "input"
22
+ VALIDATION = "validation"
23
+ BEHAVIOR = "behavior"
24
+ EMPATHY = "empathy"
25
+
26
+
27
+ class BasePattern(BaseModel):
28
+ """Base class for all wizard patterns.
29
+
30
+ All wizard patterns inherit from this base class, providing:
31
+ - Unique identification
32
+ - Categorization
33
+ - Reusability metrics
34
+ - Examples of usage in existing wizards
35
+ """
36
+
37
+ id: str = Field(..., description="Unique pattern identifier (e.g., 'linear_flow')")
38
+ name: str = Field(..., description="Human-readable pattern name")
39
+ category: PatternCategory = Field(..., description="Pattern category")
40
+ description: str = Field(..., description="Detailed pattern description")
41
+ frequency: int = Field(..., description="Number of wizards using this pattern", ge=0)
42
+ reusability_score: float = Field(
43
+ ...,
44
+ description="Reusability score (0.0-1.0)",
45
+ ge=0.0,
46
+ le=1.0,
47
+ )
48
+ examples: list[str] = Field(
49
+ default_factory=list,
50
+ description="List of wizard IDs using this pattern",
51
+ )
52
+
53
+ class Config:
54
+ """Pydantic config."""
55
+
56
+ use_enum_values = True
57
+
58
+ def to_dict(self) -> dict[str, Any]:
59
+ """Convert pattern to dictionary."""
60
+ return self.model_dump()
61
+
62
+ @classmethod
63
+ def from_dict(cls, data: dict[str, Any]) -> "BasePattern":
64
+ """Create pattern from dictionary."""
65
+ return cls(**data)
66
+
67
+
68
+ class CodeGeneratorMixin:
69
+ """Mixin for patterns that can generate code."""
70
+
71
+ def generate_code(self) -> str:
72
+ """Generate code from this pattern.
73
+
74
+ Returns:
75
+ Generated code as a string
76
+
77
+ Raises:
78
+ NotImplementedError: If code generation is not implemented
79
+
80
+ """
81
+ raise NotImplementedError(f"{self.__class__.__name__} does not implement code generation")
82
+
83
+
84
+ class ValidationMixin:
85
+ """Mixin for patterns that can validate wizard configurations."""
86
+
87
+ def validate_config(self, config: dict[str, Any]) -> tuple[bool, list[str]]:
88
+ """Validate a wizard configuration against this pattern.
89
+
90
+ Args:
91
+ config: Wizard configuration to validate
92
+
93
+ Returns:
94
+ Tuple of (is_valid, list_of_errors)
95
+
96
+ """
97
+ raise NotImplementedError(f"{self.__class__.__name__} does not implement validation")