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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/METADATA +7 -6
  2. empathy_framework-4.7.0.dist-info/RECORD +354 -0
  3. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/top_level.txt +0 -2
  4. empathy_healthcare_plugin/monitors/monitoring/__init__.py +9 -9
  5. empathy_llm_toolkit/agent_factory/__init__.py +6 -6
  6. empathy_llm_toolkit/agent_factory/adapters/wizard_adapter.py +7 -10
  7. empathy_llm_toolkit/agents_md/__init__.py +22 -0
  8. empathy_llm_toolkit/agents_md/loader.py +218 -0
  9. empathy_llm_toolkit/agents_md/parser.py +271 -0
  10. empathy_llm_toolkit/agents_md/registry.py +307 -0
  11. empathy_llm_toolkit/commands/__init__.py +51 -0
  12. empathy_llm_toolkit/commands/context.py +375 -0
  13. empathy_llm_toolkit/commands/loader.py +301 -0
  14. empathy_llm_toolkit/commands/models.py +231 -0
  15. empathy_llm_toolkit/commands/parser.py +371 -0
  16. empathy_llm_toolkit/commands/registry.py +429 -0
  17. empathy_llm_toolkit/config/__init__.py +8 -8
  18. empathy_llm_toolkit/config/unified.py +3 -7
  19. empathy_llm_toolkit/context/__init__.py +22 -0
  20. empathy_llm_toolkit/context/compaction.py +455 -0
  21. empathy_llm_toolkit/context/manager.py +434 -0
  22. empathy_llm_toolkit/hooks/__init__.py +24 -0
  23. empathy_llm_toolkit/hooks/config.py +306 -0
  24. empathy_llm_toolkit/hooks/executor.py +289 -0
  25. empathy_llm_toolkit/hooks/registry.py +302 -0
  26. empathy_llm_toolkit/hooks/scripts/__init__.py +39 -0
  27. empathy_llm_toolkit/hooks/scripts/evaluate_session.py +201 -0
  28. empathy_llm_toolkit/hooks/scripts/first_time_init.py +285 -0
  29. empathy_llm_toolkit/hooks/scripts/pre_compact.py +207 -0
  30. empathy_llm_toolkit/hooks/scripts/session_end.py +183 -0
  31. empathy_llm_toolkit/hooks/scripts/session_start.py +163 -0
  32. empathy_llm_toolkit/hooks/scripts/suggest_compact.py +225 -0
  33. empathy_llm_toolkit/learning/__init__.py +30 -0
  34. empathy_llm_toolkit/learning/evaluator.py +438 -0
  35. empathy_llm_toolkit/learning/extractor.py +514 -0
  36. empathy_llm_toolkit/learning/storage.py +560 -0
  37. empathy_llm_toolkit/providers.py +4 -11
  38. empathy_llm_toolkit/security/__init__.py +17 -17
  39. empathy_llm_toolkit/utils/tokens.py +2 -5
  40. empathy_os/__init__.py +202 -70
  41. empathy_os/cache_monitor.py +5 -3
  42. empathy_os/cli/__init__.py +11 -55
  43. empathy_os/cli/__main__.py +29 -15
  44. empathy_os/cli/commands/inspection.py +21 -12
  45. empathy_os/cli/commands/memory.py +4 -12
  46. empathy_os/cli/commands/profiling.py +198 -0
  47. empathy_os/cli/commands/utilities.py +27 -7
  48. empathy_os/cli.py +28 -57
  49. empathy_os/cli_unified.py +525 -1164
  50. empathy_os/cost_tracker.py +9 -3
  51. empathy_os/dashboard/server.py +200 -2
  52. empathy_os/hot_reload/__init__.py +7 -7
  53. empathy_os/hot_reload/config.py +6 -7
  54. empathy_os/hot_reload/integration.py +35 -35
  55. empathy_os/hot_reload/reloader.py +57 -57
  56. empathy_os/hot_reload/watcher.py +28 -28
  57. empathy_os/hot_reload/websocket.py +2 -2
  58. empathy_os/memory/__init__.py +11 -4
  59. empathy_os/memory/claude_memory.py +1 -1
  60. empathy_os/memory/cross_session.py +8 -12
  61. empathy_os/memory/edges.py +6 -6
  62. empathy_os/memory/file_session.py +770 -0
  63. empathy_os/memory/graph.py +30 -30
  64. empathy_os/memory/nodes.py +6 -6
  65. empathy_os/memory/short_term.py +15 -9
  66. empathy_os/memory/unified.py +606 -140
  67. empathy_os/meta_workflows/agent_creator.py +3 -9
  68. empathy_os/meta_workflows/cli_meta_workflows.py +113 -53
  69. empathy_os/meta_workflows/form_engine.py +6 -18
  70. empathy_os/meta_workflows/intent_detector.py +64 -24
  71. empathy_os/meta_workflows/models.py +3 -1
  72. empathy_os/meta_workflows/pattern_learner.py +13 -31
  73. empathy_os/meta_workflows/plan_generator.py +55 -47
  74. empathy_os/meta_workflows/session_context.py +2 -3
  75. empathy_os/meta_workflows/workflow.py +20 -51
  76. empathy_os/models/cli.py +2 -2
  77. empathy_os/models/tasks.py +1 -2
  78. empathy_os/models/telemetry.py +4 -1
  79. empathy_os/models/token_estimator.py +3 -1
  80. empathy_os/monitoring/alerts.py +938 -9
  81. empathy_os/monitoring/alerts_cli.py +346 -183
  82. empathy_os/orchestration/execution_strategies.py +12 -29
  83. empathy_os/orchestration/pattern_learner.py +20 -26
  84. empathy_os/orchestration/real_tools.py +6 -15
  85. empathy_os/platform_utils.py +2 -1
  86. empathy_os/plugins/__init__.py +2 -2
  87. empathy_os/plugins/base.py +64 -64
  88. empathy_os/plugins/registry.py +32 -32
  89. empathy_os/project_index/index.py +49 -15
  90. empathy_os/project_index/models.py +1 -2
  91. empathy_os/project_index/reports.py +1 -1
  92. empathy_os/project_index/scanner.py +1 -0
  93. empathy_os/redis_memory.py +10 -7
  94. empathy_os/resilience/__init__.py +1 -1
  95. empathy_os/resilience/health.py +10 -10
  96. empathy_os/routing/__init__.py +7 -7
  97. empathy_os/routing/chain_executor.py +37 -37
  98. empathy_os/routing/classifier.py +36 -36
  99. empathy_os/routing/smart_router.py +40 -40
  100. empathy_os/routing/{wizard_registry.py → workflow_registry.py} +47 -47
  101. empathy_os/scaffolding/__init__.py +8 -8
  102. empathy_os/scaffolding/__main__.py +1 -1
  103. empathy_os/scaffolding/cli.py +28 -28
  104. empathy_os/socratic/__init__.py +3 -19
  105. empathy_os/socratic/ab_testing.py +25 -36
  106. empathy_os/socratic/blueprint.py +38 -38
  107. empathy_os/socratic/cli.py +34 -20
  108. empathy_os/socratic/collaboration.py +30 -28
  109. empathy_os/socratic/domain_templates.py +9 -1
  110. empathy_os/socratic/embeddings.py +17 -13
  111. empathy_os/socratic/engine.py +135 -70
  112. empathy_os/socratic/explainer.py +70 -60
  113. empathy_os/socratic/feedback.py +24 -19
  114. empathy_os/socratic/forms.py +15 -10
  115. empathy_os/socratic/generator.py +51 -35
  116. empathy_os/socratic/llm_analyzer.py +25 -23
  117. empathy_os/socratic/mcp_server.py +99 -159
  118. empathy_os/socratic/session.py +19 -13
  119. empathy_os/socratic/storage.py +98 -67
  120. empathy_os/socratic/success.py +38 -27
  121. empathy_os/socratic/visual_editor.py +51 -39
  122. empathy_os/socratic/web_ui.py +99 -66
  123. empathy_os/telemetry/cli.py +3 -1
  124. empathy_os/telemetry/usage_tracker.py +1 -3
  125. empathy_os/test_generator/__init__.py +3 -3
  126. empathy_os/test_generator/cli.py +28 -28
  127. empathy_os/test_generator/generator.py +64 -66
  128. empathy_os/test_generator/risk_analyzer.py +11 -11
  129. empathy_os/vscode_bridge.py +173 -0
  130. empathy_os/workflows/__init__.py +212 -120
  131. empathy_os/workflows/batch_processing.py +8 -24
  132. empathy_os/workflows/bug_predict.py +1 -1
  133. empathy_os/workflows/code_review.py +20 -5
  134. empathy_os/workflows/code_review_pipeline.py +13 -8
  135. empathy_os/workflows/keyboard_shortcuts/workflow.py +6 -2
  136. empathy_os/workflows/manage_documentation.py +1 -0
  137. empathy_os/workflows/orchestrated_health_check.py +6 -11
  138. empathy_os/workflows/orchestrated_release_prep.py +3 -3
  139. empathy_os/workflows/pr_review.py +18 -10
  140. empathy_os/workflows/progressive/__init__.py +2 -12
  141. empathy_os/workflows/progressive/cli.py +14 -37
  142. empathy_os/workflows/progressive/core.py +12 -12
  143. empathy_os/workflows/progressive/orchestrator.py +166 -144
  144. empathy_os/workflows/progressive/reports.py +22 -31
  145. empathy_os/workflows/progressive/telemetry.py +8 -14
  146. empathy_os/workflows/progressive/test_gen.py +29 -48
  147. empathy_os/workflows/progressive/workflow.py +31 -70
  148. empathy_os/workflows/release_prep.py +21 -6
  149. empathy_os/workflows/release_prep_crew.py +1 -0
  150. empathy_os/workflows/secure_release.py +13 -6
  151. empathy_os/workflows/security_audit.py +8 -3
  152. empathy_os/workflows/test_coverage_boost_crew.py +3 -2
  153. empathy_os/workflows/test_maintenance_crew.py +1 -0
  154. empathy_os/workflows/test_runner.py +16 -12
  155. empathy_software_plugin/SOFTWARE_PLUGIN_README.md +25 -703
  156. empathy_software_plugin/cli.py +0 -122
  157. coach_wizards/__init__.py +0 -45
  158. coach_wizards/accessibility_wizard.py +0 -91
  159. coach_wizards/api_wizard.py +0 -91
  160. coach_wizards/base_wizard.py +0 -209
  161. coach_wizards/cicd_wizard.py +0 -91
  162. coach_wizards/code_reviewer_README.md +0 -60
  163. coach_wizards/code_reviewer_wizard.py +0 -180
  164. coach_wizards/compliance_wizard.py +0 -91
  165. coach_wizards/database_wizard.py +0 -91
  166. coach_wizards/debugging_wizard.py +0 -91
  167. coach_wizards/documentation_wizard.py +0 -91
  168. coach_wizards/generate_wizards.py +0 -347
  169. coach_wizards/localization_wizard.py +0 -173
  170. coach_wizards/migration_wizard.py +0 -91
  171. coach_wizards/monitoring_wizard.py +0 -91
  172. coach_wizards/observability_wizard.py +0 -91
  173. coach_wizards/performance_wizard.py +0 -91
  174. coach_wizards/prompt_engineering_wizard.py +0 -661
  175. coach_wizards/refactoring_wizard.py +0 -91
  176. coach_wizards/scaling_wizard.py +0 -90
  177. coach_wizards/security_wizard.py +0 -92
  178. coach_wizards/testing_wizard.py +0 -91
  179. empathy_framework-4.6.6.dist-info/RECORD +0 -410
  180. empathy_llm_toolkit/wizards/__init__.py +0 -43
  181. empathy_llm_toolkit/wizards/base_wizard.py +0 -364
  182. empathy_llm_toolkit/wizards/customer_support_wizard.py +0 -190
  183. empathy_llm_toolkit/wizards/healthcare_wizard.py +0 -378
  184. empathy_llm_toolkit/wizards/patient_assessment_README.md +0 -64
  185. empathy_llm_toolkit/wizards/patient_assessment_wizard.py +0 -193
  186. empathy_llm_toolkit/wizards/technology_wizard.py +0 -209
  187. empathy_os/wizard_factory_cli.py +0 -170
  188. empathy_software_plugin/wizards/__init__.py +0 -42
  189. empathy_software_plugin/wizards/advanced_debugging_wizard.py +0 -395
  190. empathy_software_plugin/wizards/agent_orchestration_wizard.py +0 -511
  191. empathy_software_plugin/wizards/ai_collaboration_wizard.py +0 -503
  192. empathy_software_plugin/wizards/ai_context_wizard.py +0 -441
  193. empathy_software_plugin/wizards/ai_documentation_wizard.py +0 -503
  194. empathy_software_plugin/wizards/base_wizard.py +0 -288
  195. empathy_software_plugin/wizards/book_chapter_wizard.py +0 -519
  196. empathy_software_plugin/wizards/code_review_wizard.py +0 -604
  197. empathy_software_plugin/wizards/debugging/__init__.py +0 -50
  198. empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py +0 -414
  199. empathy_software_plugin/wizards/debugging/config_loaders.py +0 -446
  200. empathy_software_plugin/wizards/debugging/fix_applier.py +0 -469
  201. empathy_software_plugin/wizards/debugging/language_patterns.py +0 -385
  202. empathy_software_plugin/wizards/debugging/linter_parsers.py +0 -470
  203. empathy_software_plugin/wizards/debugging/verification.py +0 -369
  204. empathy_software_plugin/wizards/enhanced_testing_wizard.py +0 -537
  205. empathy_software_plugin/wizards/memory_enhanced_debugging_wizard.py +0 -816
  206. empathy_software_plugin/wizards/multi_model_wizard.py +0 -501
  207. empathy_software_plugin/wizards/pattern_extraction_wizard.py +0 -422
  208. empathy_software_plugin/wizards/pattern_retriever_wizard.py +0 -400
  209. empathy_software_plugin/wizards/performance/__init__.py +0 -9
  210. empathy_software_plugin/wizards/performance/bottleneck_detector.py +0 -221
  211. empathy_software_plugin/wizards/performance/profiler_parsers.py +0 -278
  212. empathy_software_plugin/wizards/performance/trajectory_analyzer.py +0 -429
  213. empathy_software_plugin/wizards/performance_profiling_wizard.py +0 -305
  214. empathy_software_plugin/wizards/prompt_engineering_wizard.py +0 -425
  215. empathy_software_plugin/wizards/rag_pattern_wizard.py +0 -461
  216. empathy_software_plugin/wizards/security/__init__.py +0 -32
  217. empathy_software_plugin/wizards/security/exploit_analyzer.py +0 -290
  218. empathy_software_plugin/wizards/security/owasp_patterns.py +0 -241
  219. empathy_software_plugin/wizards/security/vulnerability_scanner.py +0 -604
  220. empathy_software_plugin/wizards/security_analysis_wizard.py +0 -322
  221. empathy_software_plugin/wizards/security_learning_wizard.py +0 -740
  222. empathy_software_plugin/wizards/tech_debt_wizard.py +0 -726
  223. empathy_software_plugin/wizards/testing/__init__.py +0 -27
  224. empathy_software_plugin/wizards/testing/coverage_analyzer.py +0 -459
  225. empathy_software_plugin/wizards/testing/quality_analyzer.py +0 -525
  226. empathy_software_plugin/wizards/testing/test_suggester.py +0 -533
  227. empathy_software_plugin/wizards/testing_wizard.py +0 -274
  228. wizards/__init__.py +0 -82
  229. wizards/admission_assessment_wizard.py +0 -644
  230. wizards/care_plan.py +0 -321
  231. wizards/clinical_assessment.py +0 -769
  232. wizards/discharge_planning.py +0 -77
  233. wizards/discharge_summary_wizard.py +0 -468
  234. wizards/dosage_calculation.py +0 -497
  235. wizards/incident_report_wizard.py +0 -454
  236. wizards/medication_reconciliation.py +0 -85
  237. wizards/nursing_assessment.py +0 -171
  238. wizards/patient_education.py +0 -654
  239. wizards/quality_improvement.py +0 -705
  240. wizards/sbar_report.py +0 -324
  241. wizards/sbar_wizard.py +0 -608
  242. wizards/shift_handoff_wizard.py +0 -535
  243. wizards/soap_note_wizard.py +0 -679
  244. wizards/treatment_plan.py +0 -15
  245. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/WHEEL +0 -0
  246. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/entry_points.txt +0 -0
  247. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,503 +0,0 @@
1
- """AI Collaboration Pattern Wizard - Level 4 Anticipatory Empathy
2
-
3
- Alerts developers when their AI integration patterns will become problematic.
4
-
5
- In our experience developing the Empathy Framework itself, we discovered
6
- that the WAY you collaborate with AI matters as much as WHAT you ask it to do.
7
- This wizard learned to recognize when reactive patterns will limit effectiveness.
8
-
9
- Copyright 2025 Smart AI Memory, LLC
10
- Licensed under Fair Source 0.9
11
- """
12
-
13
- import os
14
- import sys
15
- from typing import Any
16
-
17
- sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "..", "src"))
18
-
19
- from empathy_os.plugins import BaseWizard
20
-
21
-
22
- class AICollaborationWizard(BaseWizard):
23
- """Level 4 Anticipatory: Analyzes HOW developers work with AI.
24
-
25
- Meta-insight: This wizard applies the Empathy Framework to itself.
26
- It helps developers progress from Level 1 (reactive AI usage) to
27
- Level 4 (anticipatory AI partnership).
28
-
29
- What We Learned Building This Framework:
30
- - Most developers start at Level 1 (ask AI, get answer, done)
31
- - Level 3 patterns (proactive AI) require structural changes
32
- - Level 4 patterns (anticipatory AI) transform productivity
33
- - Early pattern adoption prevents later refactoring
34
- """
35
-
36
- def __init__(self):
37
- super().__init__(
38
- name="AI Collaboration Pattern Wizard",
39
- domain="software",
40
- empathy_level=4,
41
- category="ai_development",
42
- )
43
-
44
- def get_required_context(self) -> list[str]:
45
- """Required context for analysis"""
46
- return [
47
- "ai_integration_files", # Files with AI API calls
48
- "project_path", # Project root
49
- "ai_usage_patterns", # How AI is currently used
50
- ]
51
-
52
- async def analyze(self, context: dict[str, Any]) -> dict[str, Any]:
53
- """Analyze AI collaboration patterns and predict limitations.
54
-
55
- Meta: This wizard helps developers build systems like the
56
- Empathy Framework itself - systems that transcend reactive AI.
57
- """
58
- self.validate_context(context)
59
-
60
- integration_files = context["ai_integration_files"]
61
- usage_patterns = context.get("ai_usage_patterns", [])
62
-
63
- # Analyze current patterns
64
- issues = await self._analyze_collaboration_maturity(integration_files, usage_patterns)
65
-
66
- # Level 4: Predict when current patterns will limit growth
67
- predictions = await self._predict_collaboration_bottlenecks(
68
- integration_files,
69
- usage_patterns,
70
- context,
71
- )
72
-
73
- recommendations = self._generate_recommendations(issues, predictions)
74
- patterns = self._extract_patterns(issues, predictions)
75
-
76
- return {
77
- "issues": issues,
78
- "predictions": predictions,
79
- "recommendations": recommendations,
80
- "patterns": patterns,
81
- "confidence": 0.90, # High confidence - we lived this
82
- "metadata": {
83
- "wizard": self.name,
84
- "empathy_level": self.empathy_level,
85
- "current_maturity_level": self._assess_maturity_level(issues),
86
- "files_analyzed": len(integration_files),
87
- },
88
- }
89
-
90
- async def _analyze_collaboration_maturity(
91
- self,
92
- integration_files: list[str],
93
- usage_patterns: list[dict],
94
- ) -> list[dict[str, Any]]:
95
- """Assess current AI collaboration maturity level.
96
-
97
- Maps observed patterns to Empathy Framework levels 1-5.
98
- """
99
- issues = []
100
-
101
- # Check for Level 1 patterns (Reactive)
102
- reactive_patterns = self._detect_reactive_patterns(integration_files)
103
- if reactive_patterns > len(integration_files) * 0.7:
104
- issues.append(
105
- {
106
- "severity": "info",
107
- "type": "level_1_reactive",
108
- "message": (
109
- f"{reactive_patterns}/{len(integration_files)} AI integrations "
110
- "are purely reactive (Level 1). In our experience, this limits "
111
- "AI to being a Q&A tool rather than a collaborative partner."
112
- ),
113
- "current_level": 1,
114
- "suggestion": (
115
- "Consider Level 2 (Guided): Use calibrated questions to refine "
116
- "AI understanding before generating responses"
117
- ),
118
- },
119
- )
120
-
121
- # Check for missing context accumulation (Level 2 → 3 transition)
122
- if not self._has_context_accumulation(integration_files):
123
- issues.append(
124
- {
125
- "severity": "warning",
126
- "type": "no_context_accumulation",
127
- "message": (
128
- "AI calls don't accumulate context across interactions. "
129
- "In our experience, this prevents progression to Level 3 "
130
- "(Proactive) patterns where AI learns from history."
131
- ),
132
- "current_level": 1,
133
- "suggestion": (
134
- "Implement CollaborationState tracking: trust levels, patterns, "
135
- "shared context (see Empathy Framework core)"
136
- ),
137
- },
138
- )
139
-
140
- # Check for pattern detection capability (Level 3 requirement)
141
- if not self._has_pattern_detection(integration_files):
142
- issues.append(
143
- {
144
- "severity": "info",
145
- "type": "no_pattern_detection",
146
- "message": (
147
- "No pattern detection found. Level 3 (Proactive) AI requires "
148
- "recognizing user patterns to act before being asked."
149
- ),
150
- "current_level": 2,
151
- "suggestion": (
152
- "Add pattern library: track user workflows, detect sequences, "
153
- "enable proactive suggestions"
154
- ),
155
- },
156
- )
157
-
158
- # Check for trajectory analysis (Level 4 requirement)
159
- if not self._has_trajectory_analysis(integration_files):
160
- issues.append(
161
- {
162
- "severity": "info",
163
- "type": "no_trajectory_analysis",
164
- "message": (
165
- "No system trajectory analysis detected. Level 4 (Anticipatory) "
166
- "requires analyzing where the system is headed, not just where it is."
167
- ),
168
- "current_level": 3,
169
- "suggestion": (
170
- "Implement trajectory analysis: growth rates, bottleneck prediction, "
171
- "leverage point identification"
172
- ),
173
- },
174
- )
175
-
176
- return issues
177
-
178
- async def _predict_collaboration_bottlenecks(
179
- self,
180
- integration_files: list[str],
181
- usage_patterns: list[dict],
182
- full_context: dict[str, Any],
183
- ) -> list[dict[str, Any]]:
184
- """Level 4: Predict when current collaboration patterns will limit growth.
185
-
186
- This is meta-Level 4: using anticipatory empathy to help developers
187
- build anticipatory empathy systems.
188
- """
189
- predictions = []
190
-
191
- current_level = self._assess_maturity_level_numeric(integration_files)
192
-
193
- # Pattern 1: Stuck at Level 1 (Reactive)
194
- if current_level == 1 and len(integration_files) > 5:
195
- predictions.append(
196
- {
197
- "type": "reactive_pattern_limitation",
198
- "alert": (
199
- f"You have {len(integration_files)} AI integrations, all at Level 1 "
200
- "(Reactive). In our experience building the Empathy Framework, "
201
- "reactive AI becomes a burden as integration grows. Alert: Design "
202
- "for higher levels now, before you have dozens of integrations to refactor."
203
- ),
204
- "probability": "high",
205
- "impact": "high",
206
- "prevention_steps": [
207
- "Start with Level 2 for new integrations (add calibrated questions)",
208
- "Implement CollaborationState tracking (trust, context, patterns)",
209
- "Design pattern library for cross-integration learning",
210
- "Create abstraction layer (makes refactoring easier later)",
211
- ],
212
- "reasoning": (
213
- "We refactored from Level 1 to Level 4 mid-project. "
214
- "It took 2 months. Starting with Level 2-3 architecture "
215
- "would have saved significant rework."
216
- ),
217
- "personal_experience": (
218
- "When we built our 16th Coach wizard, we realized we weren't "
219
- "writing wizards anymore - we were teaching the system to recognize "
220
- "patterns. That shift only happened because we'd built the "
221
- "infrastructure for higher-level collaboration."
222
- ),
223
- },
224
- )
225
-
226
- # Pattern 2: No feedback loops
227
- if not self._has_feedback_loops(integration_files):
228
- predictions.append(
229
- {
230
- "type": "missing_feedback_loops",
231
- "alert": (
232
- "No feedback loops detected between AI outputs and system state. "
233
- "In our experience, this prevents AI from learning and improving. "
234
- "Alert: Design feedback mechanisms before AI quality plateaus."
235
- ),
236
- "probability": "medium-high",
237
- "impact": "high",
238
- "prevention_steps": [
239
- "Track AI output quality (user accepts/rejects/modifies)",
240
- "Implement trust building (successful outputs increase confidence)",
241
- "Add pattern reinforcement (reward accurate predictions)",
242
- "Create quality metrics dashboard",
243
- ],
244
- "reasoning": (
245
- "Feedback loops enable self-improvement. Without them, "
246
- "AI quality is static. We've seen quality improve 2-3x "
247
- "with proper feedback integration."
248
- ),
249
- },
250
- )
251
-
252
- # Pattern 3: No cross-integration learning
253
- if len(integration_files) > 3 and not self._has_pattern_sharing(integration_files):
254
- predictions.append(
255
- {
256
- "type": "siloed_ai_integrations",
257
- "alert": (
258
- f"You have {len(integration_files)} AI integrations with no pattern "
259
- "sharing. In our experience, this is a missed opportunity. "
260
- "Alert: Implement Level 5 (Systems) pattern library before "
261
- "you miss cross-domain insights."
262
- ),
263
- "probability": "medium",
264
- "impact": "medium",
265
- "prevention_steps": [
266
- "Create shared PatternLibrary (see Empathy Framework)",
267
- "Enable cross-integration pattern discovery",
268
- "Implement pattern abstraction (domain-agnostic patterns)",
269
- "Add pattern contribution hooks to all AI integrations",
270
- ],
271
- "reasoning": (
272
- "Pattern from software development: 'testing bottleneck'. "
273
- "Same pattern applies to healthcare documentation burden. "
274
- "Shared pattern library enables this insight."
275
- ),
276
- "personal_experience": (
277
- "We discovered the 'growth trajectory alert' pattern in software "
278
- "testing, then applied it to healthcare compliance. Same pattern, "
279
- "different domain. That only worked because we'd built Level 5 "
280
- "cross-domain learning."
281
- ),
282
- },
283
- )
284
-
285
- # Pattern 4: AI as tool, not partner
286
- if self._ai_used_as_tool(integration_files):
287
- predictions.append(
288
- {
289
- "type": "ai_tool_mindset",
290
- "alert": (
291
- "AI is being used as a tool (call, get response, done) rather than "
292
- "a collaborative partner. In our experience, this mental model "
293
- "prevents breakthrough productivity gains. Alert: Shift to partnership "
294
- "model before you plateau."
295
- ),
296
- "probability": "medium",
297
- "impact": "high",
298
- "prevention_steps": [
299
- "Implement persistent AI context (conversation memory)",
300
- "Add AI initiative (proactive suggestions)",
301
- "Design for AI-driven insights (not just AI-answered questions)",
302
- "Create bidirectional feedback (AI learns from you, you learn from AI)",
303
- ],
304
- "reasoning": (
305
- "Mental model shift: Tool → Partner. "
306
- "This unlocks anticipatory capabilities. "
307
- "In our experience, the impact was more profound than anticipated."
308
- ),
309
- "personal_experience": (
310
- "I had a theory: AI collaboration through empathy levels. "
311
- "When it worked, the impact exceeded expectations. "
312
- "Not because AI wrote more code, but because it anticipated "
313
- "structural issues before they became costly."
314
- ),
315
- },
316
- )
317
-
318
- # Pattern 5: No architecture for growth
319
- if len(integration_files) > 2 and not self._has_collaboration_architecture(
320
- integration_files,
321
- ):
322
- predictions.append(
323
- {
324
- "type": "collaboration_architecture_gap",
325
- "alert": (
326
- "Multiple AI integrations without unified collaboration architecture. "
327
- "In our experience, this leads to inconsistent AI quality and "
328
- "difficult maintenance. Alert: Design collaboration framework "
329
- "before technical debt compounds."
330
- ),
331
- "probability": "high",
332
- "impact": "high",
333
- "prevention_steps": [
334
- "Adopt or design collaboration framework (like Empathy Framework)",
335
- "Create standard abstractions (EmpathyOS, CollaborationState, etc.)",
336
- "Implement consistent empathy levels across integrations",
337
- "Build pattern library infrastructure",
338
- ],
339
- "reasoning": (
340
- "Ad-hoc AI integration scales poorly. "
341
- "Framework-based approach scales well. "
342
- "We learned this by building both ways."
343
- ),
344
- },
345
- )
346
-
347
- return predictions
348
-
349
- def _generate_recommendations(self, issues: list[dict], predictions: list[dict]) -> list[str]:
350
- """Generate actionable recommendations"""
351
- recommendations = []
352
-
353
- # Start with maturity assessment
354
- current_level = self._assess_maturity_level(issues)
355
- recommendations.append(f"Current AI Collaboration Maturity: Level {current_level}")
356
- recommendations.append("")
357
-
358
- # High-impact predictions
359
- for pred in predictions:
360
- if pred.get("impact") == "high":
361
- recommendations.append(f"[ALERT] {pred['alert']}")
362
- recommendations.append("")
363
- recommendations.append("Recommended path forward:")
364
- for i, step in enumerate(pred["prevention_steps"], 1):
365
- recommendations.append(f" {i}. {step}")
366
-
367
- # Add personal experience if available
368
- if "personal_experience" in pred:
369
- recommendations.append("")
370
- recommendations.append(f"Experience: {pred['personal_experience']}")
371
- recommendations.append("")
372
-
373
- # Growth path
374
- recommendations.append("Growth Path:")
375
- if current_level < 2:
376
- recommendations.append(" Next: Implement Level 2 (Guided) - Add calibrated questions")
377
- elif current_level < 3:
378
- recommendations.append(" Next: Implement Level 3 (Proactive) - Add pattern detection")
379
- elif current_level < 4:
380
- recommendations.append(
381
- " Next: Implement Level 4 (Anticipatory) - Add trajectory analysis",
382
- )
383
- else:
384
- recommendations.append(
385
- " Next: Implement Level 5 (Systems) - Add cross-domain learning",
386
- )
387
-
388
- return recommendations
389
-
390
- def _extract_patterns(
391
- self,
392
- issues: list[dict],
393
- predictions: list[dict],
394
- ) -> list[dict[str, Any]]:
395
- """Extract cross-domain patterns"""
396
- return [
397
- {
398
- "pattern_type": "collaboration_maturity_model",
399
- "description": (
400
- "Systems that progress through collaboration maturity levels "
401
- "(Reactive → Guided → Proactive → Anticipatory → Systems) "
402
- "achieve exponential gains in effectiveness"
403
- ),
404
- "domain_agnostic": True,
405
- "applicable_to": [
406
- "AI-human collaboration",
407
- "Team collaboration",
408
- "Tool adoption",
409
- "Process improvement",
410
- "Learning systems",
411
- ],
412
- "levels": [
413
- "1: Reactive (help after asked)",
414
- "2: Guided (collaborative exploration)",
415
- "3: Proactive (act before asked)",
416
- "4: Anticipatory (predict and design relief)",
417
- "5: Systems (build scalable structures)",
418
- ],
419
- },
420
- ]
421
-
422
- # Assessment methods
423
-
424
- def _assess_maturity_level(self, issues: list[dict]) -> int:
425
- """Assess overall maturity level from issues"""
426
- levels = [issue.get("current_level", 1) for issue in issues]
427
- return max(levels) if levels else 1
428
-
429
- def _assess_maturity_level_numeric(self, integration_files: list[str]) -> int:
430
- """Assess maturity level numerically"""
431
- if self._has_trajectory_analysis(integration_files):
432
- return 4
433
- if self._has_pattern_detection(integration_files):
434
- return 3
435
- if self._has_context_accumulation(integration_files):
436
- return 2
437
- return 1
438
-
439
- # Detection helper methods
440
-
441
- def _detect_reactive_patterns(self, files: list[str]) -> int:
442
- """Count files with purely reactive AI patterns"""
443
- reactive_count = 0
444
- for filepath in files:
445
- try:
446
- with open(filepath) as f:
447
- content = f.read()
448
- # Simple heuristic: one-off AI calls with no context
449
- if "ai.generate" in content or "openai." in content or "anthropic." in content:
450
- if "context" not in content.lower() and "history" not in content.lower():
451
- reactive_count += 1
452
- except OSError:
453
- pass
454
- return reactive_count
455
-
456
- def _has_context_accumulation(self, files: list[str]) -> bool:
457
- """Check if codebase accumulates context"""
458
- keywords = ["CollaborationState", "context_history", "conversation_memory", "session_state"]
459
- return self._has_any_keyword(files, keywords)
460
-
461
- def _has_pattern_detection(self, files: list[str]) -> bool:
462
- """Check if codebase has pattern detection"""
463
- keywords = ["PatternLibrary", "pattern_detection", "detect_patterns", "pattern_analysis"]
464
- return self._has_any_keyword(files, keywords)
465
-
466
- def _has_trajectory_analysis(self, files: list[str]) -> bool:
467
- """Check if codebase analyzes trajectory"""
468
- keywords = ["trajectory", "growth_rate", "predict_bottleneck", "anticipatory"]
469
- return self._has_any_keyword(files, keywords)
470
-
471
- def _has_feedback_loops(self, files: list[str]) -> bool:
472
- """Check for feedback loop implementation"""
473
- keywords = ["feedback", "trust_level", "quality_metric", "outcome_tracking"]
474
- return self._has_any_keyword(files, keywords)
475
-
476
- def _has_pattern_sharing(self, files: list[str]) -> bool:
477
- """Check for cross-integration pattern sharing"""
478
- keywords = ["PatternLibrary", "shared_patterns", "cross_domain", "contribute_patterns"]
479
- return self._has_any_keyword(files, keywords)
480
-
481
- def _ai_used_as_tool(self, files: list[str]) -> bool:
482
- """Check if AI is used as tool vs partner"""
483
- # Heuristic: tool usage has no context, no feedback, one-shot calls
484
- has_context = self._has_context_accumulation(files)
485
- has_feedback = self._has_feedback_loops(files)
486
- return not (has_context and has_feedback)
487
-
488
- def _has_collaboration_architecture(self, files: list[str]) -> bool:
489
- """Check for unified collaboration architecture"""
490
- keywords = ["EmpathyOS", "CollaborationFramework", "AIOrchestrator", "BaseWizard"]
491
- return self._has_any_keyword(files, keywords)
492
-
493
- def _has_any_keyword(self, files: list[str], keywords: list[str]) -> bool:
494
- """Check if any file contains any keyword"""
495
- for filepath in files:
496
- try:
497
- with open(filepath) as f:
498
- content = f.read()
499
- if any(kw in content for kw in keywords):
500
- return True
501
- except OSError:
502
- pass
503
- return False