empathy-framework 4.7.0__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 (32) hide show
  1. empathy_framework-4.7.1.dist-info/METADATA +690 -0
  2. {empathy_framework-4.7.0.dist-info → empathy_framework-4.7.1.dist-info}/RECORD +31 -6
  3. {empathy_framework-4.7.0.dist-info → empathy_framework-4.7.1.dist-info}/top_level.txt +1 -0
  4. empathy_os/vscode_bridge 2.py +173 -0
  5. empathy_os/workflows/progressive/README 2.md +454 -0
  6. empathy_os/workflows/progressive/__init__ 2.py +92 -0
  7. empathy_os/workflows/progressive/cli 2.py +242 -0
  8. empathy_os/workflows/progressive/core 2.py +488 -0
  9. empathy_os/workflows/progressive/orchestrator 2.py +701 -0
  10. empathy_os/workflows/progressive/reports 2.py +528 -0
  11. empathy_os/workflows/progressive/telemetry 2.py +280 -0
  12. empathy_os/workflows/progressive/test_gen 2.py +514 -0
  13. empathy_os/workflows/progressive/workflow 2.py +628 -0
  14. patterns/README.md +119 -0
  15. patterns/__init__.py +95 -0
  16. patterns/behavior.py +298 -0
  17. patterns/code_review_memory.json +441 -0
  18. patterns/core.py +97 -0
  19. patterns/debugging.json +3763 -0
  20. patterns/empathy.py +268 -0
  21. patterns/health_check_memory.json +505 -0
  22. patterns/input.py +161 -0
  23. patterns/memory_graph.json +8 -0
  24. patterns/refactoring_memory.json +1113 -0
  25. patterns/registry.py +663 -0
  26. patterns/security_memory.json +8 -0
  27. patterns/structural.py +415 -0
  28. patterns/validation.py +194 -0
  29. empathy_framework-4.7.0.dist-info/METADATA +0 -1598
  30. {empathy_framework-4.7.0.dist-info → empathy_framework-4.7.1.dist-info}/WHEEL +0 -0
  31. {empathy_framework-4.7.0.dist-info → empathy_framework-4.7.1.dist-info}/entry_points.txt +0 -0
  32. {empathy_framework-4.7.0.dist-info → empathy_framework-4.7.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,1598 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: empathy-framework
3
- Version: 4.7.0
4
- Summary: AI collaboration framework with real LLM agent execution, AskUserQuestion tool integration, Socratic agent generation, progressive tier escalation (70-85% cost savings), meta-orchestration, dynamic agent composition (6 patterns), intelligent caching (85% hit rate), semantic workflow discovery, visual workflow editor, MCP integration for Claude Code, and multi-agent orchestration.
5
- Author-email: Patrick Roebuck <admin@smartaimemory.com>
6
- Maintainer-email: Smart-AI-Memory <admin@smartaimemory.com>
7
- License: # Fair Source License, version 0.9
8
-
9
- **Copyright © 2025 Deep Study AI, LLC**
10
-
11
- ## Grant of Rights
12
-
13
- **Licensor:** Deep Study AI, LLC
14
- **Licensed Work:** Empathy
15
- **Change Date:** January 1, 2029 (4 years from first release)
16
- **Change License:** Apache License 2.0
17
-
18
- ---
19
-
20
- ## Terms
21
-
22
- ### Grant of Use
23
-
24
- Subject to the conditions below, Licensor grants you a non-exclusive, worldwide, royalty-free license to:
25
-
26
- - Use the Licensed Work
27
- - Modify the Licensed Work
28
- - Create derivative works
29
- - Distribute copies (subject to restrictions)
30
-
31
- ### Usage Limits - Free Tier
32
-
33
- You may use the Licensed Work **free of charge** if you meet ANY of these conditions:
34
-
35
- 1. **Educational Use:** You are a student or educator using the Licensed Work for educational purposes
36
- 2. **Small Business:** Your organization has **5 or fewer total employees**
37
- 3. **Personal/Research:** You are using the Licensed Work for personal projects or academic research
38
- 4. **Evaluation:** You are evaluating the Licensed Work for up to 30 days
39
-
40
- ### Usage Limits - Commercial License Required
41
-
42
- A **Commercial License is REQUIRED** if:
43
-
44
- 1. Your organization has **6 or more employees**, AND
45
- 2. You are using the Licensed Work in a production environment, OR
46
- 3. You are using the Licensed Work to provide services to third parties
47
-
48
- **Commercial License:** $99 USD per developer per year
49
-
50
- - "Developer" means any employee, contractor, or agent who uses, modifies, or deploys the Licensed Work
51
- - One license covers all environments (development, staging, production, CI/CD)
52
- - License includes updates and support
53
- - Purchase at: https://smartaimemory.com/empathy-framework/pricing
54
-
55
- ### Restrictions
56
-
57
- You may NOT:
58
-
59
- 1. **Remove or modify** licensing, copyright notices, or attribution
60
- 2. **Circumvent** the usage limits or commercial license requirements
61
- 3. **Offer as a managed service** without a separate reseller agreement
62
- 4. **Sublicense, sell, or rent** the Licensed Work to third parties
63
- 5. **Use the Licensed Work** in violation of applicable laws
64
-
65
- ### Source Code Availability
66
-
67
- The source code for the Licensed Work is available at:
68
- https://github.com/Smart-AI-Memory/empathy
69
-
70
- You may view, inspect, and audit the source code for:
71
- - Security review
72
- - Compliance verification
73
- - Understanding implementation
74
- - Creating derivative works (subject to this license)
75
-
76
- ### Attribution
77
-
78
- If you distribute the Licensed Work or derivative works, you must:
79
-
80
- 1. Include this license file
81
- 2. Provide attribution to "Deep Study AI, LLC - Empathy"
82
- 3. Include a link to https://github.com/Smart-AI-Memory/empathy
83
-
84
- ### Warranty Disclaimer
85
-
86
- THE LICENSED WORK IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT.
87
-
88
- ### Liability Limitation
89
-
90
- IN NO EVENT SHALL LICENSOR BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE LICENSED WORK.
91
-
92
- ### Change Date Conversion
93
-
94
- On the Change Date (January 1, 2029), this license automatically converts to the Change License (Apache License 2.0), and all restrictions in this Fair Source License no longer apply.
95
-
96
- **Rationale:** After 4 years, the Licensed Work becomes fully open source, allowing maximum community benefit while protecting Licensor's commercial interests during the critical growth period.
97
-
98
- ### Verification Rights
99
-
100
- Licensor reserves the right to:
101
-
102
- 1. Request verification of compliance with usage limits
103
- 2. Audit use of the Licensed Work with reasonable notice
104
- 3. Terminate licenses for violations after 30-day cure period
105
-
106
- ### Commercial License Purchase
107
-
108
- To purchase a Commercial License:
109
-
110
- 1. Visit: https://smartaimemory.com/empathy-framework/pricing
111
- 2. Email: admin@smartaimemory.com
112
- 3. Complete order form and payment
113
- 4. Receive license key and invoice
114
-
115
- Volume discounts available for teams of 20+ developers.
116
-
117
- ### Definitions
118
-
119
- - **Employee:** Any W-2 employee, 1099 contractor working >20 hours/week, or intern
120
- - **Production Environment:** Any environment serving end users or customers
121
- - **Developer:** Any person who uses, modifies, or deploys the Licensed Work
122
- - **Organization:** The legal entity employing you, or yourself if self-employed
123
-
124
- ### Questions?
125
-
126
- For licensing questions, contact: licensing@smartaimemory.com
127
-
128
- ---
129
-
130
- ## Why Fair Source?
131
-
132
- This license balances:
133
-
134
- ✅ **Free for small teams** - Students, educators, and small businesses (≤5 employees) use free forever
135
- ✅ **Source code visibility** - Review code for security, compliance, learning
136
- ✅ **Commercial sustainability** - Larger organizations pay to fund development
137
- ✅ **Future open source** - Automatically becomes Apache 2.0 in 4 years
138
-
139
- We believe software should be inspectable and accessible while ensuring sustainable development.
140
-
141
- ---
142
-
143
- **Version:** 0.9
144
- **Last Updated:** November 7, 2025
145
- **Effective Date:** January 1, 2025
146
-
147
- Project-URL: Homepage, https://www.smartaimemory.com
148
- Project-URL: Documentation, https://www.smartaimemory.com/framework-docs/
149
- Project-URL: Getting Started, https://www.smartaimemory.com/framework-docs/tutorials/quickstart/
150
- Project-URL: FAQ, https://www.smartaimemory.com/framework-docs/reference/FAQ/
151
- Project-URL: Book, https://www.smartaimemory.com/book
152
- Project-URL: Repository, https://github.com/Smart-AI-Memory/empathy-framework
153
- Project-URL: Issues, https://github.com/Smart-AI-Memory/empathy-framework/issues
154
- Project-URL: Discussions, https://github.com/Smart-AI-Memory/empathy-framework/discussions
155
- Project-URL: Changelog, https://github.com/Smart-AI-Memory/empathy-framework/blob/main/CHANGELOG.md
156
- Keywords: ai,collaboration,empathy,anticipatory-ai,systems-thinking,llm,claude,memdocs,level-5-ai,code-inspection,static-analysis,code-quality,sarif,github-actions,developer-tools
157
- Classifier: Development Status :: 4 - Beta
158
- Classifier: Intended Audience :: Developers
159
- Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
160
- Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
161
- Classifier: Programming Language :: Python :: 3
162
- Classifier: Programming Language :: Python :: 3.10
163
- Classifier: Programming Language :: Python :: 3.11
164
- Classifier: Programming Language :: Python :: 3.12
165
- Classifier: Programming Language :: Python :: 3.13
166
- Classifier: Operating System :: OS Independent
167
- Requires-Python: >=3.10
168
- Description-Content-Type: text/markdown
169
- License-File: LICENSE
170
- Requires-Dist: pydantic<3.0.0,>=2.0.0
171
- Requires-Dist: typing-extensions<5.0.0,>=4.0.0
172
- Requires-Dist: python-dotenv<2.0.0,>=1.0.0
173
- Requires-Dist: structlog<25.0.0,>=23.0.0
174
- Requires-Dist: defusedxml<1.0.0,>=0.7.0
175
- Requires-Dist: rich<14.0.0,>=13.0.0
176
- Requires-Dist: typer<1.0.0,>=0.9.0
177
- Requires-Dist: pyyaml<7.0,>=6.0
178
- Requires-Dist: anthropic<1.0.0,>=0.25.0
179
- Provides-Extra: anthropic
180
- Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "anthropic"
181
- Provides-Extra: openai
182
- Requires-Dist: openai<2.0.0,>=1.12.0; extra == "openai"
183
- Provides-Extra: google
184
- Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "google"
185
- Provides-Extra: llm
186
- Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "llm"
187
- Requires-Dist: openai<2.0.0,>=1.12.0; extra == "llm"
188
- Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "llm"
189
- Provides-Extra: memdocs
190
- Requires-Dist: memdocs>=1.0.0; extra == "memdocs"
191
- Provides-Extra: agents
192
- Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "agents"
193
- Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "agents"
194
- Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "agents"
195
- Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "agents"
196
- Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "agents"
197
- Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "agents"
198
- Provides-Extra: crewai
199
- Requires-Dist: crewai<1.0.0,>=0.1.0; extra == "crewai"
200
- Requires-Dist: langchain<2.0.0,>=0.1.0; extra == "crewai"
201
- Requires-Dist: langchain-core<2.0.0,>=1.2.6; extra == "crewai"
202
- Provides-Extra: cache
203
- Requires-Dist: sentence-transformers<4.0.0,>=2.0.0; extra == "cache"
204
- Requires-Dist: torch<3.0.0,>=2.0.0; extra == "cache"
205
- Requires-Dist: numpy<3.0.0,>=1.24.0; extra == "cache"
206
- Provides-Extra: healthcare
207
- Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "healthcare"
208
- Requires-Dist: openai<2.0.0,>=1.12.0; extra == "healthcare"
209
- Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "healthcare"
210
- Requires-Dist: memdocs>=1.0.0; extra == "healthcare"
211
- Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "healthcare"
212
- Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "healthcare"
213
- Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "healthcare"
214
- Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "healthcare"
215
- Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "healthcare"
216
- Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "healthcare"
217
- Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "healthcare"
218
- Requires-Dist: pyyaml<7.0,>=6.0; extra == "healthcare"
219
- Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "healthcare"
220
- Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "healthcare"
221
- Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "healthcare"
222
- Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "healthcare"
223
- Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "healthcare"
224
- Requires-Dist: opentelemetry-api<2.0.0,>=1.20.0; extra == "healthcare"
225
- Requires-Dist: opentelemetry-sdk<2.0.0,>=1.20.0; extra == "healthcare"
226
- Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == "healthcare"
227
- Requires-Dist: redis<6.0.0,>=5.0.0; extra == "healthcare"
228
- Provides-Extra: software
229
- Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "software"
230
- Requires-Dist: pyyaml<7.0,>=6.0; extra == "software"
231
- Provides-Extra: backend
232
- Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "backend"
233
- Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "backend"
234
- Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "backend"
235
- Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "backend"
236
- Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "backend"
237
- Provides-Extra: lsp
238
- Requires-Dist: pygls<2.0.0,>=1.0.0; extra == "lsp"
239
- Requires-Dist: lsprotocol<2024.0.0,>=2023.0.0; extra == "lsp"
240
- Provides-Extra: windows
241
- Requires-Dist: colorama<1.0.0,>=0.4.6; extra == "windows"
242
- Provides-Extra: otel
243
- Requires-Dist: opentelemetry-api<2.0.0,>=1.20.0; extra == "otel"
244
- Requires-Dist: opentelemetry-sdk<2.0.0,>=1.20.0; extra == "otel"
245
- Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == "otel"
246
- Provides-Extra: docs
247
- Requires-Dist: mkdocs<2.0.0,>=1.5.0; extra == "docs"
248
- Requires-Dist: mkdocs-material<10.0.0,>=9.4.0; extra == "docs"
249
- Requires-Dist: mkdocstrings[python]<1.0.0,>=0.24.0; extra == "docs"
250
- Requires-Dist: mkdocs-with-pdf<1.0.0,>=0.9.3; extra == "docs"
251
- Requires-Dist: pymdown-extensions<11.0,>=10.0; extra == "docs"
252
- Provides-Extra: dev
253
- Requires-Dist: pytest<10.0,>=7.0; extra == "dev"
254
- Requires-Dist: pytest-asyncio<2.0,>=0.21; extra == "dev"
255
- Requires-Dist: pytest-cov<8.0,>=4.0; extra == "dev"
256
- Requires-Dist: pytest-xdist<4.0,>=3.5.0; extra == "dev"
257
- Requires-Dist: pytest-testmon<3.0,>=2.1.0; extra == "dev"
258
- Requires-Dist: pytest-picked<1.0,>=0.5.0; extra == "dev"
259
- Requires-Dist: black<26.0,>=24.3.0; extra == "dev"
260
- Requires-Dist: mypy<2.0,>=1.0; extra == "dev"
261
- Requires-Dist: ruff<1.0,>=0.1; extra == "dev"
262
- Requires-Dist: coverage<8.0,>=7.0; extra == "dev"
263
- Requires-Dist: bandit<2.0,>=1.7; extra == "dev"
264
- Requires-Dist: pre-commit<5.0,>=3.0; extra == "dev"
265
- Requires-Dist: httpx<1.0.0,>=0.27.0; extra == "dev"
266
- Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "dev"
267
- Requires-Dist: requests<3.0.0,>=2.28.0; extra == "dev"
268
- Provides-Extra: developer
269
- Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "developer"
270
- Requires-Dist: openai<2.0.0,>=1.12.0; extra == "developer"
271
- Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "developer"
272
- Requires-Dist: memdocs>=1.0.0; extra == "developer"
273
- Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "developer"
274
- Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "developer"
275
- Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "developer"
276
- Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "developer"
277
- Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "developer"
278
- Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "developer"
279
- Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "developer"
280
- Requires-Dist: pyyaml<7.0,>=6.0; extra == "developer"
281
- Provides-Extra: enterprise
282
- Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "enterprise"
283
- Requires-Dist: openai<2.0.0,>=1.12.0; extra == "enterprise"
284
- Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "enterprise"
285
- Requires-Dist: memdocs>=1.0.0; extra == "enterprise"
286
- Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "enterprise"
287
- Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "enterprise"
288
- Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "enterprise"
289
- Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "enterprise"
290
- Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "enterprise"
291
- Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "enterprise"
292
- Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "enterprise"
293
- Requires-Dist: pyyaml<7.0,>=6.0; extra == "enterprise"
294
- Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "enterprise"
295
- Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "enterprise"
296
- Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "enterprise"
297
- Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "enterprise"
298
- Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "enterprise"
299
- Requires-Dist: opentelemetry-api<2.0.0,>=1.20.0; extra == "enterprise"
300
- Requires-Dist: opentelemetry-sdk<2.0.0,>=1.20.0; extra == "enterprise"
301
- Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == "enterprise"
302
- Provides-Extra: full
303
- Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "full"
304
- Requires-Dist: openai<2.0.0,>=1.12.0; extra == "full"
305
- Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "full"
306
- Requires-Dist: memdocs>=1.0.0; extra == "full"
307
- Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "full"
308
- Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "full"
309
- Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "full"
310
- Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "full"
311
- Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "full"
312
- Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "full"
313
- Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "full"
314
- Requires-Dist: pyyaml<7.0,>=6.0; extra == "full"
315
- Provides-Extra: all
316
- Requires-Dist: anthropic<1.0.0,>=0.25.0; extra == "all"
317
- Requires-Dist: openai<2.0.0,>=1.12.0; extra == "all"
318
- Requires-Dist: google-generativeai<1.0.0,>=0.3.0; extra == "all"
319
- Requires-Dist: memdocs>=1.0.0; extra == "all"
320
- Requires-Dist: langchain<2.0.0,>=1.0.0; extra == "all"
321
- Requires-Dist: langchain-core<2.0.0,>=1.2.5; extra == "all"
322
- Requires-Dist: langchain-text-splitters<0.4.0,>=0.3.9; extra == "all"
323
- Requires-Dist: langgraph<2.0.0,>=1.0.0; extra == "all"
324
- Requires-Dist: langgraph-checkpoint<4.0.0,>=3.0.0; extra == "all"
325
- Requires-Dist: marshmallow<5.0.0,>=4.1.2; extra == "all"
326
- Requires-Dist: python-docx<1.0.0,>=0.8.11; extra == "all"
327
- Requires-Dist: pyyaml<7.0,>=6.0; extra == "all"
328
- Requires-Dist: fastapi<1.0.0,>=0.109.1; extra == "all"
329
- Requires-Dist: uvicorn<1.0.0,>=0.20.0; extra == "all"
330
- Requires-Dist: starlette<1.0.0,>=0.40.0; extra == "all"
331
- Requires-Dist: bcrypt<5.0.0,>=4.0.0; extra == "all"
332
- Requires-Dist: PyJWT[crypto]>=2.8.0; extra == "all"
333
- Requires-Dist: pygls<2.0.0,>=1.0.0; extra == "all"
334
- Requires-Dist: lsprotocol<2024.0.0,>=2023.0.0; extra == "all"
335
- Requires-Dist: colorama<1.0.0,>=0.4.6; extra == "all"
336
- Requires-Dist: opentelemetry-api<2.0.0,>=1.20.0; extra == "all"
337
- Requires-Dist: opentelemetry-sdk<2.0.0,>=1.20.0; extra == "all"
338
- Requires-Dist: opentelemetry-exporter-otlp-proto-grpc<2.0.0,>=1.20.0; extra == "all"
339
- Requires-Dist: mkdocs<2.0.0,>=1.5.0; extra == "all"
340
- Requires-Dist: mkdocs-material<10.0.0,>=9.4.0; extra == "all"
341
- Requires-Dist: mkdocstrings[python]<1.0.0,>=0.24.0; extra == "all"
342
- Requires-Dist: mkdocs-with-pdf<1.0.0,>=0.9.3; extra == "all"
343
- Requires-Dist: pymdown-extensions<11.0,>=10.0; extra == "all"
344
- Requires-Dist: pytest<9.0,>=7.0; extra == "all"
345
- Requires-Dist: pytest-asyncio<1.0,>=0.21; extra == "all"
346
- Requires-Dist: pytest-cov<5.0,>=4.0; extra == "all"
347
- Requires-Dist: black<26.0,>=24.3.0; extra == "all"
348
- Requires-Dist: mypy<2.0,>=1.0; extra == "all"
349
- Requires-Dist: ruff<1.0,>=0.1; extra == "all"
350
- Requires-Dist: coverage<8.0,>=7.0; extra == "all"
351
- Requires-Dist: bandit<2.0,>=1.7; extra == "all"
352
- Requires-Dist: pre-commit<4.0,>=3.0; extra == "all"
353
- Requires-Dist: httpx<1.0.0,>=0.27.0; extra == "all"
354
- Requires-Dist: urllib3<3.0.0,>=2.3.0; extra == "all"
355
- Requires-Dist: aiohttp<4.0.0,>=3.10.0; extra == "all"
356
- Requires-Dist: filelock<4.0.0,>=3.16.0; extra == "all"
357
- Dynamic: license-file
358
-
359
- # Empathy Framework
360
-
361
- **The Claude-optimized AI collaboration framework with breakthrough meta-orchestration - agents that compose themselves.**
362
-
363
- 🚀 **v4.7.0: Security Hardened** - Fixed critical vulnerabilities (path traversal, JWT, SSRF), 11,000+ tests passing. Built and tested extensively with Claude Code. **Full multi-LLM support** - works seamlessly with OpenAI, Gemini, and local models.
364
-
365
- [![PyPI](https://img.shields.io/pypi/v/empathy-framework)](https://pypi.org/project/empathy-framework/)
366
- [![Tests](https://img.shields.io/badge/tests-11%2C000%2B%20passing-brightgreen)](https://github.com/Smart-AI-Memory/empathy-framework/actions)
367
- [![Coverage](https://img.shields.io/badge/coverage-68%25-yellow)](https://github.com/Smart-AI-Memory/empathy-framework)
368
- [![License](https://img.shields.io/badge/license-Fair%20Source%200.9-blue)](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/LICENSE)
369
- [![Python](https://img.shields.io/badge/python-3.10+-blue)](https://www.python.org)
370
- [![Security](https://img.shields.io/badge/security-hardened-green)](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/SECURITY.md)
371
-
372
- ```bash
373
- pip install empathy-framework[developer] # Lightweight for individual developers
374
- ```
375
-
376
- ## What's New in v4.7.0 🔒 **SECURITY HARDENED**
377
-
378
- ### **Critical Security Fixes + Performance**
379
-
380
- **v4.7.0** addresses critical security vulnerabilities and maintains the performance improvements from v4.6.6:
381
-
382
- **Performance Gains:**
383
-
384
- | Component | Improvement | Details |
385
- |-----------|-------------|---------|
386
- | Project Scanner | **36% faster** | Single-pass AST analysis (O(n) vs O(n²)) |
387
- | CostTracker Init | **39% faster** | Lazy loading with pre-computed summaries |
388
- | Test Generation | **95% faster** | Cascading benefit from CostTracker |
389
- | Test Suite | **11,000+ passing** | Comprehensive coverage |
390
-
391
- **Technical Details:**
392
- - Rewrote `_analyze_python_ast()` using `NodeVisitor` pattern
393
- - Implemented lazy loading for request history
394
- - Added `costs_summary.json` for fast aggregated access
395
- - Reduced function calls by 47% during scans
396
-
397
- ---
398
-
399
- ## What's New in v4.6.5 🎯 **OPTIMIZED FOR CLAUDE CODE**
400
-
401
- ### **Built for Claude Code, Works Everywhere**
402
-
403
- **v4.6.5** is optimized and extensively tested with Claude Code for the best development experience, while maintaining full compatibility with OpenAI, Gemini, and local models.
404
-
405
- **Cost-Saving Features:**
406
-
407
- - 📉 **Prompt Caching** - 90% reduction on repeated operations (enabled by default)
408
- - ⚡ **True Async I/O** - `AsyncAnthropic` for parallel efficiency
409
- - 🎯 **Slash Commands** - 10+ structured workflows that reduce token waste
410
- - 🧠 **Auto Pattern Learning** - Stop re-explaining the same codebase
411
-
412
- **New Slash Commands:**
413
-
414
- | Command | What It Does |
415
- |---------|--------------|
416
- | `/debug` | Bug investigation with pattern matching |
417
- | `/refactor` | Safe refactoring with test verification |
418
- | `/review` | Code review against project standards |
419
- | `/review-pr` | PR review with APPROVE/REJECT verdict |
420
- | `/deps` | Dependency audit (CVE, licenses, outdated) |
421
- | `/profile` | Performance profiling and bottlenecks |
422
- | `/benchmark` | Performance regression tracking |
423
- | `/explain` | Code architecture explanation |
424
- | `/commit` | Well-formatted git commits |
425
- | `/pr` | Structured PR creation |
426
-
427
- **Multi-LLM Support:**
428
-
429
- ```python
430
- # All providers supported with async clients
431
- from empathy_llm_toolkit.providers import (
432
- AnthropicProvider, # Claude (primary, optimized)
433
- OpenAIProvider, # GPT-4, GPT-3.5
434
- GeminiProvider, # Gemini 1.5, 2.0
435
- LocalProvider, # Ollama, LM Studio
436
- )
437
- ```
438
-
439
- ---
440
-
441
- ## What's New in v4.6.0 💰 **$0 COST AI WORKFLOWS**
442
-
443
- ### **Run Agent Teams Free with Any Claude Code Subscription**
444
-
445
- **v4.6** revolutionizes how you use Empathy Framework - all multi-agent workflows now run **at no additional cost** when you have any Claude Code subscription.
446
-
447
- **Key Features:**
448
-
449
- - 💰 **$0 Execution** - Agent teams use Claude Code's Task tool instead of API calls
450
- - 🎓 **Socratic Agent Creation** - `/create-agent` and `/create-team` guide you through building custom agents
451
- - 🧠 **Memory Enhancement** - Optional short-term and long-term memory for agents that learn
452
- - 🧹 **Streamlined Skills** - 13 clean skills that work without API keys
453
-
454
- **Quick Start (Claude Code):**
455
-
456
- ```
457
- /create-agent # Walk through creating a custom AI agent
458
- /create-team # Build a multi-agent team with guided questions
459
- /release-prep # Run 4-agent release readiness check ($0)
460
- /test-coverage # 3-agent coverage analysis ($0)
461
- ```
462
-
463
- **Available Skills (13 total):**
464
-
465
- | Skill | Description | Cost |
466
- |-------|-------------|------|
467
- | `/create-agent` | Socratic guide to build custom agents | $0 |
468
- | `/create-team` | Build multi-agent teams interactively | $0 |
469
- | `/release-prep` | Security, coverage, quality, docs check | $0 |
470
- | `/test-coverage` | Coverage gap analysis + suggestions | $0 |
471
- | `/test-maintenance` | Find stale/flaky tests | $0 |
472
- | `/manage-docs` | Keep docs in sync with code | $0 |
473
- | `/feature-overview` | Generate technical documentation | $0 |
474
- | `/security-scan` | Run pytest, ruff, black checks | $0 |
475
- | `/test` | Run test suite with summary | $0 |
476
- | `/status` | Show project dashboard | $0 |
477
- | `/publish` | PyPI publishing guide | $0 |
478
- | `/init` | Initialize new Empathy project | $0 |
479
- | `/memory` | Memory system management | $0 |
480
-
481
- **Enterprise API Mode** (optional):
482
-
483
- ```bash
484
- # For CI/CD, cron jobs, or programmatic control
485
- empathy meta-workflow run release-prep --real --use-defaults
486
- ```
487
-
488
- ---
489
-
490
- ## What's New in v4.5.0 🖥️ **VS CODE INTEGRATION**
491
-
492
- ### **Rich HTML Reports for Agent Team Execution**
493
-
494
- **v4.5** adds VS Code webview integration with rich HTML reports, Quick Run mode, and JSON output for programmatic workflows.
495
-
496
- **Key Features:**
497
-
498
- - 📊 **MetaWorkflowReportPanel** - Rich HTML webview displaying agent results with collapsible sections
499
- - ⚡ **Quick Run Mode** - Execute with defaults, see results in beautiful reports
500
- - 🔧 **CLI JSON Output** - `--json` flag for programmatic consumption
501
- - 🎨 **Agent Cards** - Tier badges, status indicators, cost breakdowns
502
-
503
- **Quick Start (VS Code):**
504
-
505
- 1. Open Command Palette (`Cmd+Shift+P`)
506
- 2. Run "Empathy: Run Meta-Workflow"
507
- 3. Select "Quick Run (Webview Report)"
508
- 4. View rich HTML report with agent results
509
-
510
- ---
511
-
512
- ## What's New in v4.4.0 🚀 **PRODUCTION-READY AGENT TEAMS**
513
-
514
- ### **Real LLM Execution with Cost Tracking**
515
-
516
- **v4.4** brings production-ready agent teams with real Claude model execution, accurate cost tracking, and skill-based invocation.
517
-
518
- **Breakthrough Features:**
519
-
520
- - 🤖 **Real LLM Execution** - Agents execute with actual Claude API calls
521
- - 💰 **Accurate Cost Tracking** - Token counting from real API usage
522
- - 📈 **Progressive Tier Escalation** - CHEAP → CAPABLE → PREMIUM with actual execution
523
- - 🎯 **Skill-based Invocation** - Use `/release-prep`, `/test-coverage`, `/manage-docs` in Claude Code
524
-
525
- **Quick Start (CLI):**
526
-
527
- ```bash
528
- # Run release preparation agent team
529
- empathy meta-workflow run release-prep --real
530
-
531
- # Natural language - describe what you need
532
- empathy meta-workflow ask "prepare my code for release" --auto
533
- ```
534
-
535
- ---
536
-
537
- ## Meta-Workflow System 🤖 (v4.2+)
538
-
539
- ### **Intelligent Workflow Orchestration Through Forms + Dynamic Agents**
540
-
541
- **The breakthrough:** The meta-workflow system combines Socratic forms (interactive questions), dynamic agent team creation, and pattern learning for self-improving workflows.
542
-
543
- **How it works:**
544
-
545
- 1. 🎯 **Template Selection** - Choose from pre-built workflow templates (e.g., `python_package_publish`)
546
- 2. 📝 **Socratic Forms** - Answer interactive questions about your workflow requirements
547
- 3. 🤖 **Dynamic Agent Creation** - System generates optimized agent team based on your responses
548
- 4. ⚡ **Progressive Execution** - Agents execute with tier escalation (cheap → capable → premium)
549
- 5. 🧠 **Pattern Learning** - System learns from outcomes to optimize future workflows
550
-
551
- **Quick Start:**
552
-
553
- ```bash
554
- # Run meta-workflow with interactive form
555
- empathy meta-workflow run python_package_publish
556
-
557
- # View pattern learning insights
558
- empathy meta-workflow analytics python_package_publish
559
-
560
- # List historical executions
561
- empathy meta-workflow list-runs
562
- ```
563
-
564
- **Example workflow:**
565
-
566
- ```python
567
- from empathy_os.meta_workflows import TemplateRegistry, MetaWorkflow, FormResponse
568
-
569
- # Load template
570
- registry = TemplateRegistry()
571
- template = registry.load_template("python_package_publish")
572
-
573
- # Create workflow
574
- workflow = MetaWorkflow(template=template)
575
-
576
- # Execute with form responses
577
- response = FormResponse(
578
- template_id="python_package_publish",
579
- responses={
580
- "has_tests": "Yes",
581
- "test_coverage_required": "90%",
582
- "quality_checks": ["Linting (ruff)", "Type checking (mypy)"],
583
- "version_bump": "minor",
584
- },
585
- )
586
- result = workflow.execute(form_response=response, mock_execution=True)
587
-
588
- print(f"✅ Created {len(result.agents_created)} agents")
589
- print(f"💰 Total cost: ${result.total_cost:.2f}")
590
- ```
591
-
592
- **Key Features:**
593
-
594
- - ✅ **Interactive forms** via `AskUserQuestion` (batched, max 4 at a time)
595
- - ✅ **Dynamic agent generation** from templates based on responses
596
- - ✅ **Hybrid storage** - files (persistent) + memory (semantic queries)
597
- - ✅ **Pattern learning** - analyzes historical executions for optimization
598
- - ✅ **7 CLI commands** - list, run, analytics, show, export, validate
599
- - ✅ **Security hardened** - OWASP Top 10 compliant, AST-verified
600
-
601
- ---
602
-
603
- ## What's in v4.0.0 🎭 **META-ORCHESTRATION**
604
-
605
- ### **AI Agents That Compose Themselves**
606
-
607
- **The concept:** Instead of manually wiring agent workflows, v4.0 introduces a meta-orchestration system that analyzes tasks, selects optimal agent teams, chooses composition patterns, and learns from outcomes.
608
-
609
- **What this means:**
610
-
611
- - 🧠 **Automatic task analysis** → Determines complexity, domain, required capabilities
612
- - 🤝 **Dynamic team composition** → Selects optimal agents from 7 pre-built templates
613
- - 📐 **Intelligent strategy selection** → Chooses from 6 composition patterns (Sequential, Parallel, Debate, Teaching, Refinement, Adaptive)
614
- - 📚 **Self-learning** → Saves successful compositions and improves over time
615
- - ⚡ **Production-ready workflows** → Release Prep (parallel validation), Test Coverage Boost (sequential improvement)
616
-
617
- ### Quick Start
618
-
619
- **Release preparation with 4 parallel agents:**
620
-
621
- ```bash
622
- empathy orchestrate release-prep
623
- ```
624
-
625
- Automatically runs:
626
-
627
- - **Security Auditor** (vulnerability scan)
628
- - **Test Coverage Analyzer** (gap analysis)
629
- - **Code Quality Reviewer** (best practices)
630
- - **Documentation Writer** (completeness check)
631
-
632
- **Boost test coverage to 90%:**
633
-
634
- ```bash
635
- empathy orchestrate test-coverage --target 90
636
- ```
637
-
638
- Sequential workflow:
639
-
640
- 1. **Coverage Analyzer** → Identify gaps
641
- 2. **Test Generator** → Create tests
642
- 3. **Test Validator** → Verify coverage
643
-
644
- ### Python API
645
-
646
- ```python
647
- from empathy_os.workflows.orchestrated_release_prep import (
648
- OrchestratedReleasePrepWorkflow
649
- )
650
-
651
- # Create workflow with custom quality gates
652
- workflow = OrchestratedReleasePrepWorkflow(
653
- quality_gates={
654
- "min_coverage": 90.0,
655
- "max_critical_issues": 0,
656
- }
657
- )
658
-
659
- # Execute
660
- report = await workflow.execute(path=".")
661
-
662
- if report.approved:
663
- print(f"✅ Release approved! (confidence: {report.confidence})")
664
- else:
665
- for blocker in report.blockers:
666
- print(f"❌ {blocker}")
667
- ```
668
-
669
- ### 6 Composition Patterns
670
-
671
- The meta-orchestrator automatically selects the best pattern:
672
-
673
- 1. **Sequential** (A → B → C) - Pipeline processing
674
- 2. **Parallel** (A ‖ B ‖ C) - Independent validation
675
- 3. **Debate** (A ⇄ B ⇄ C → Synthesis) - Consensus building
676
- 4. **Teaching** (Junior → Expert) - Cost optimization
677
- 5. **Refinement** (Draft → Review → Polish) - Iterative improvement
678
- 6. **Adaptive** (Classifier → Specialist) - Right-sizing
679
-
680
- ### Learning System
681
-
682
- Successful compositions are saved and improved over time:
683
-
684
- ```python
685
- from empathy_os.orchestration.config_store import ConfigurationStore
686
-
687
- store = ConfigurationStore()
688
-
689
- # Find best composition for task
690
- best = store.get_best_for_task("release_prep")
691
- print(f"Success rate: {best.success_rate:.1%}")
692
-
693
- # Reuse proven composition
694
- agents = [get_template(a["role"]) for a in best.agents]
695
- ```
696
-
697
- **Documentation:**
698
-
699
- - [Meta-Orchestration User Guide](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/docs/ORCHESTRATION_USER_GUIDE.md) - Complete guide with examples
700
- - [API Reference](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/docs/ORCHESTRATION_API.md) - All classes and methods
701
- - [Examples](https://github.com/Smart-AI-Memory/empathy-framework/tree/main/examples/orchestration/) - Working code samples
702
-
703
- **Features:**
704
-
705
- - ✅ **7 pre-built agent templates** (security, testing, docs, etc.)
706
- - ✅ **Automatic strategy selection** based on task analysis
707
- - ✅ **Quality gates enforcement** with detailed reporting
708
- - ✅ **Configuration store** learns from outcomes
709
- - ✅ **Cost optimization** via tier selection (CHEAP → CAPABLE → PREMIUM)
710
-
711
- ---
712
-
713
- ### Previous Releases
714
-
715
- #### v3.9.0
716
-
717
- ### 🔒 **Security Hardening: 174 Security Tests (Up from 14)**
718
-
719
- **Production-ready security with comprehensive file path validation across the entire framework.**
720
-
721
- - ✅ **6 modules secured** with Pattern 6 (File Path Validation)
722
- - ✅ **13 file write operations** validated to prevent path traversal (CWE-22)
723
- - ✅ **174 security tests** (100% passing) - up from 14 tests (+1143% increase)
724
- - ✅ **Zero blind exception handlers** - all errors now properly typed and logged
725
-
726
- ```python
727
- # All file writes now validated for security
728
- from empathy_os.config import EmpathyConfig
729
-
730
- config = EmpathyConfig(user_id="alice")
731
- config.to_yaml("/etc/passwd") # ❌ ValueError: Cannot write to system directory
732
- config.to_yaml("./empathy.yml") # ✅ Safe write
733
- ```
734
-
735
- **Attack vectors blocked:**
736
-
737
- - Path traversal: `../../../etc/passwd` → `ValueError`
738
- - Null byte injection: `config\x00.json` → `ValueError`
739
- - System directory writes: `/etc`, `/sys`, `/proc`, `/dev` → All blocked
740
-
741
- See [SECURITY.md](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/SECURITY.md) for complete security documentation.
742
-
743
- ### 🛡️ **Exception Handling Improvements**
744
-
745
- **Better error messages with graceful degradation.**
746
-
747
- - Fixed 8 blind `except Exception:` handlers in workflow base
748
- - Specific exception types for better debugging
749
- - Enhanced error logging while maintaining graceful degradation
750
- - All intentional broad catches documented with design rationale
751
-
752
- ---
753
-
754
- #### v3.8.3
755
-
756
- ### 🎯 **Transparent Cost Claims: Honest Role-Based Savings (34-86%)**
757
-
758
- **Real savings depend on your work role.** Architects using 60% PREMIUM tasks see 34% savings, while junior devs see 86%. See [role-based analysis](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/docs/cost-analysis/COST_SAVINGS_BY_ROLE_AND_PROVIDER.md) for your specific case.
759
-
760
- ### 🚀 **Intelligent Response Caching: Up to 57% Hit Rate (Benchmarked)**
761
-
762
- **Hash-only cache**: 100% hit rate on identical prompts, ~5μs lookups
763
- **Hybrid cache**: Up to 57% hit rate on semantically similar prompts (measured on security audit workflow)
764
-
765
- ```python
766
- from empathy_os.cache import create_cache
767
-
768
- # Hash-only mode (fast, exact matches)
769
- cache = create_cache(cache_type="hash")
770
-
771
- # Hybrid mode (semantic similarity)
772
- cache = create_cache(cache_type="hybrid", similarity_threshold=0.95)
773
- ```
774
-
775
- See [caching docs](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/docs/caching/) for benchmarks and configuration.
776
-
777
- ### 📊 **Local Usage Telemetry: Track Your Real Savings**
778
-
779
- Track your actual cost savings vs baseline without sending data to external servers.
780
-
781
- ```bash
782
- # View recent usage
783
- empathy telemetry show
784
-
785
- # Calculate your savings vs all-PREMIUM baseline
786
- empathy telemetry savings --days 30
787
-
788
- # Compare time periods
789
- empathy telemetry compare --period1 7 --period2 30
790
-
791
- # Export for analysis
792
- empathy telemetry export --format csv --output usage.csv
793
- ```
794
-
795
- **Privacy**: All data stored locally in `~/.empathy/telemetry/`. No data sent to external servers.
796
-
797
- ---
798
-
799
- #### v3.7.0
800
-
801
- #### 🚀 **XML-Enhanced Prompting: 15-35% Token Reduction + Graceful Validation**
802
-
803
- **Slash your API costs and eliminate response parsing errors with production-ready XML enhancements.**
804
-
805
- #### Context Window Optimization — **Save 15-35% on Every Request**
806
-
807
- ```python
808
- from empathy_os.optimization import ContextOptimizer, CompressionLevel
809
-
810
- optimizer = ContextOptimizer(CompressionLevel.MODERATE)
811
- optimized_prompt = optimizer.optimize(your_xml_prompt)
812
- # Achieves 15-25% token reduction automatically
813
- ```
814
-
815
- - **Tag compression**: `<thinking>` → `<t>`, `<answer>` → `<a>` (15+ common tags)
816
- - **Whitespace optimization**: Removes excess whitespace while preserving structure
817
- - **Redundancy elimination**: Strips "Please note that", "Make sure to", etc.
818
- - **Real-world impact**: Integration tests achieved **49.7% reduction** on typical prompts
819
- - **Bidirectional**: Full decompression to restore original tag names
820
-
821
- #### XML Validation — **Never Crash on Malformed Responses Again**
822
-
823
- ```python
824
- from empathy_os.validation import validate_xml_response
825
-
826
- result = validate_xml_response(llm_response)
827
- if result.is_valid:
828
- data = result.parsed_data
829
- else:
830
- # Fallback extraction worked - you still get partial data
831
- data = result.parsed_data or {}
832
- ```
833
-
834
- - **Graceful fallback parsing**: Regex extraction when XML is malformed
835
- - **Optional XSD validation**: Full schema validation with lxml
836
- - **Schema caching**: Performance optimization for repeated validations
837
- - **25 comprehensive tests**: Covers edge cases, malformed input, and XSD validation
838
-
839
- #### Migration Made Easy
840
-
841
- See [XML_WORKFLOW_MIGRATION_GUIDE.md](XML_WORKFLOW_MIGRATION_GUIDE.md) for complete migration guide with:
842
-
843
- - XMLAgent/XMLTask patterns with before/after examples
844
- - Configuration options (`config.xml.use_xml_structure`)
845
- - Benefits: **40-60% fewer misinterpretations**, **20-30% fewer retries**
846
-
847
- **Test Coverage**: **229 new tests** (86 XML enhancement + 143 robustness) — **100% passing**
848
-
849
- ---
850
-
851
- ## What's New in v3.6.0
852
-
853
- ### 💡 **Finally! Error Messages That Actually Help You**
854
-
855
- **No more cryptic `NotImplementedError` when extending the framework!**
856
-
857
- We completely rewrote error messages across **5 base classes**. Now when you're building plugins or extensions, you get:
858
-
859
- ✅ **Exactly which method** you need to implement
860
- ✅ **Which base class** to extend
861
- ✅ **Real working examples** from the codebase to copy
862
- ✅ **Clear explanations** of what each method should return
863
-
864
- **Before** (frustrating 😤):
865
-
866
- ```python
867
- NotImplementedError
868
- # ...now what? Time to dig through source code for 30 minutes
869
- ```
870
-
871
- **After** (helpful 🎯):
872
-
873
- ```python
874
- NotImplementedError: BaseLinterParser.parse() must be implemented.
875
- Create a subclass of BaseLinterParser and implement the parse() method.
876
- See ESLintParser, PylintParser, or MyPyParser for examples.
877
- # Perfect! Now I know exactly what to do
878
- ```
879
-
880
- #### Plus: 9 Integration TODOs Now Link to Working Code
881
-
882
- - **Want to add compliance tracking?** → See `ComplianceDatabase` class (agents/compliance_db.py)
883
- - **Need multi-channel notifications?** → See `NotificationService` class (agents/notifications.py)
884
- - **Wondering about MemDocs integration?** → We documented why local cache works better (with rationale)
885
- - **Need secure document storage?** → S3/Azure/SharePoint recommendations with HIPAA requirements
886
-
887
- **Impact**: Onboard new contributors in **minutes instead of hours**. Build your first plugin in **one sitting**.
888
-
889
- ---
890
-
891
- ### 🔐 Production-Grade Security & Compliance
892
-
893
- #### Secure Authentication System ✅ *Deployed in Backend API*
894
-
895
- - **Bcrypt password hashing** with cost factor 12 (industry standard 2026)
896
- - **JWT tokens** with 30-minute expiration and automatic refresh
897
- - **Rate limiting**: 5 failed attempts = 15-minute lockout (prevents brute force)
898
- - **18 comprehensive security tests** covering all attack vectors
899
- - **Status**: Fully integrated into `backend/api/wizard_api.py`
900
-
901
- #### HIPAA/GDPR Compliance Database 🛠️ *Infrastructure Ready*
902
-
903
- - **Append-only architecture** (INSERT only, no UPDATE/DELETE) - satisfies regulators
904
- - **Immutable audit trail** for healthcare and enterprise compliance
905
- - **Compliance gap detection** with severity classification
906
- - **12 tests** ensuring regulatory compliance
907
- - **Status**: Production-ready code with [integration points documented](agents/compliance_db.py). See [compliance_anticipation_agent.py](agents/compliance_anticipation_agent.py) for usage examples.
908
-
909
- #### Multi-Channel Notification System 🛠️ *Infrastructure Ready*
910
-
911
- - **Email** (SMTP), **Slack** (webhooks), **SMS** (Twilio)
912
- - **Graceful fallback** when channels unavailable
913
- - **Smart routing**: SMS only for critical alerts (cost optimization)
914
- - **10 tests** covering all notification scenarios
915
- - **Status**: Production-ready code with [integration points documented](agents/notifications.py). See TODOs in compliance agent for usage examples.
916
-
917
- ---
918
-
919
- ### Previous: Project Indexing & Test Suite Expansion (v3.5.4)
920
-
921
- - **Project Indexing System** — JSON-based file tracking with automatic structure scanning, metadata tracking, and CrewAI integration
922
- - **5,603 Tests** — Comprehensive test coverage at 64% with 30+ new test modules
923
- - **BaselineManager Fix** — Resolved test isolation bug affecting suppression system
924
-
925
- ### Memory API Security Hardening (v3.5.0)
926
-
927
- - **Input Validation** — Pattern IDs, agent IDs, and classifications validated to prevent path traversal and injection attacks
928
- - **API Key Authentication** — Bearer token and X-API-Key header support with SHA-256 hash comparison
929
- - **Rate Limiting** — Per-IP sliding window rate limiting (100 req/min default)
930
- - **HTTPS/TLS Support** — Optional SSL certificate configuration for encrypted connections
931
- - **CORS Restrictions** — Configurable allowed origins (localhost-only by default)
932
- - **Request Size Limits** — 1MB body limit to prevent DoS attacks
933
-
934
- ### Previous (v3.4.x)
935
-
936
- - **Trust Circuit Breaker** — Automatic degradation when model reliability drops
937
- - **Pattern Catalog System** — Searchable pattern library with similarity matching
938
- - **Memory Control Panel** — VSCode sidebar for Redis and pattern management
939
-
940
- ### Previous (v3.3.x)
941
-
942
- - **Formatted Reports** — Every workflow includes `formatted_report` with consistent structure
943
- - **Enterprise-Safe Doc-Gen** — Auto-scaling tokens, cost guardrails, file export
944
- - **Unified Typer CLI** — One `empathy` command with Rich output
945
- - **Python 3.13 Support** — Test matrix covers 3.10-3.13 across all platforms
946
-
947
- ### Previous (v3.1.x)
948
-
949
- - **Smart Router** — Natural language wizard dispatch: "Fix security in auth.py" → SecurityWizard
950
- - **Memory Graph** — Cross-wizard knowledge sharing across sessions
951
- - **Auto-Chaining** — Wizards automatically trigger related wizards
952
- - **Resilience Patterns** — Retry, Circuit Breaker, Timeout, Health Checks
953
-
954
- ### Previous (v3.0.x)
955
-
956
- - **Multi-Model Provider System** — Anthropic, OpenAI, Google Gemini, Ollama, or Hybrid mode
957
- - **34-86% Cost Savings** — Smart tier routing varies by role: architects 34%, senior devs 65%, junior devs 86%*
958
- - **VSCode Dashboard** — 10 integrated workflows with input history persistence
959
-
960
- *See [Cost Savings Analysis](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/docs/cost-analysis/COST_SAVINGS_BY_ROLE_AND_PROVIDER.md) for your specific use case
961
-
962
- ---
963
-
964
- ## Quick Start (2 Minutes)
965
-
966
- ### 1. Install
967
-
968
- **Individual Developers (Recommended):**
969
-
970
- ```bash
971
- pip install empathy-framework[developer]
972
- ```
973
-
974
- **Teams/Enterprises (Backend + Auth):**
975
-
976
- ```bash
977
- pip install empathy-framework[enterprise]
978
- ```
979
-
980
- **Healthcare Organizations (HIPAA/GDPR Compliance):**
981
-
982
- ```bash
983
- pip install empathy-framework[healthcare]
984
- ```
985
-
986
- <details>
987
- <summary><b>What's the difference?</b></summary>
988
-
989
- - **`[developer]`** - Lightweight install for individual developers. Includes CLI tools, VSCode extension, LLM providers, agents. **No backend server needed.**
990
-
991
- - **`[enterprise]`** - Everything in `[developer]` plus backend API server with authentication (bcrypt, JWT, rate limiting). For teams deploying to production.
992
-
993
- - **`[healthcare]`** - Everything in `[enterprise]` plus HIPAA/GDPR compliance database, redis, and healthcare-specific plugins. Only needed for regulated industries.
994
-
995
- **Most developers should use `[developer]`** - it's fast to install and has everything you need for software development.
996
-
997
- </details>
998
-
999
- ### 2. Configure Provider
1000
-
1001
- ```bash
1002
- # Auto-detect your API keys and configure
1003
- python -m empathy_os.models.cli provider
1004
-
1005
- # Or set explicitly
1006
- python -m empathy_os.models.cli provider --set anthropic
1007
- python -m empathy_os.models.cli provider --set hybrid # Best of all providers
1008
- ```
1009
-
1010
- ### 3. Use It
1011
-
1012
- ```python
1013
- from empathy_os import EmpathyOS
1014
-
1015
- async with EmpathyOS() as empathy:
1016
- # Level 2: Guided - asks clarifying questions
1017
- result = await empathy.level_2_guided(
1018
- "Review this code for security issues"
1019
- )
1020
-
1021
- print(result["questions"]) # Clarifying questions asked
1022
- print(result["response"]) # Analysis response
1023
- print(result["next_steps"]) # Recommended actions
1024
- ```
1025
-
1026
- ### 4. Track Your Savings
1027
-
1028
- ```bash
1029
- # View recent usage
1030
- empathy telemetry show
1031
-
1032
- # Calculate your savings vs all-PREMIUM baseline
1033
- empathy telemetry savings --days 30
1034
-
1035
- # Compare time periods
1036
- empathy telemetry compare --period1 7 --period2 30
1037
-
1038
- # Export for analysis
1039
- empathy telemetry export --format csv --output usage.csv
1040
- ```
1041
-
1042
- **Privacy**: All data stored locally in `~/.empathy/telemetry/`. No data sent to external servers.
1043
-
1044
- ---
1045
-
1046
- ## Why Empathy?
1047
-
1048
- | Feature | Empathy | SonarQube | GitHub Copilot |
1049
- |---------|---------|-----------|----------------|
1050
- | **Predicts future issues** | 30-90 days ahead | No | No |
1051
- | **Persistent memory** | Redis + patterns | No | No |
1052
- | **Multi-provider support** | Claude, GPT-4, Gemini, Ollama | N/A | GPT only |
1053
- | **Cost optimization** | 34-86% savings* | N/A | No |
1054
- | **Your data stays local** | Yes | Cloud | Cloud |
1055
- | **Free for small teams** | ≤5 employees | No | No |
1056
-
1057
- ---
1058
-
1059
- ## What's New in v3.8.0
1060
-
1061
- ### 🚀 **Intelligent Response Caching: Benchmarked Performance**
1062
-
1063
- **Stop paying full price for repeated LLM calls. Measured results: up to 99.8% faster, 40% cost reduction on test generation, 57% cache hit rate on security audits.**
1064
-
1065
- #### Hybrid Cache: Hash + Semantic Matching
1066
-
1067
- ```python
1068
- from empathy_os.workflows import SecurityAuditWorkflow
1069
-
1070
- # That's it - caching auto-configured!
1071
- workflow = SecurityAuditWorkflow(enable_cache=True)
1072
- result = await workflow.execute(target_path="./src")
1073
-
1074
- # Check savings
1075
- print(f"Cost: ${result.cost_report.total_cost:.4f}")
1076
- print(f"Cache hit rate: {result.cost_report.cache_hit_rate:.1f}%")
1077
- print(f"Savings: ${result.cost_report.savings_from_cache:.4f}")
1078
- ```
1079
-
1080
- **Real Results** (v3.8.0 benchmark - see [CACHING_BENCHMARK_REPORT.md](CACHING_BENCHMARK_REPORT.md)):
1081
-
1082
- - **Hash-only cache**: 30.3% average hit rate across 12 workflows, up to 99.8% faster (code review: 17.8s → 0.03s)
1083
- - **Hybrid cache**: Up to 57% hit rate on similar prompts (security audit - benchmarked)
1084
- - **Cost reduction**: 40% on test-generation workflow (measured)
1085
-
1086
- #### Two Cache Strategies
1087
-
1088
- **Hash-Only Cache** (Default - Zero Dependencies):
1089
- - Perfect for CI/CD and testing
1090
- - 100% hit rate on identical prompts
1091
- - ~5μs lookup time
1092
- - No ML dependencies needed
1093
-
1094
- **Hybrid Cache** (Semantic Matching):
1095
-
1096
- - Up to 57% hit rate on similar prompts (benchmarked)
1097
- - Understands intent, not just text
1098
- - Install: `pip install empathy-framework[cache]`
1099
- - Best for development and production
1100
-
1101
- #### Automatic Setup
1102
-
1103
- Framework detects your environment and configures optimal caching:
1104
-
1105
- ```python
1106
- # First run: Framework checks for sentence-transformers
1107
- # - Found? Uses hybrid cache (semantic matching, up to 57% hit rate)
1108
- # - Missing? Prompts: "Install for semantic matching? (y/n)"
1109
- # - Declined? Falls back to hash-only (100% hit rate on identical prompts)
1110
- # - Any errors? Disables gracefully, workflow continues
1111
-
1112
- # Subsequent runs: Cache just works
1113
- ```
1114
-
1115
- #### The Caching Paradox: Adaptive Workflows
1116
-
1117
- **Discovered during v3.8.0 development**: Some workflows (Security Audit, Bug Prediction) cost MORE on Run 2 with cache enabled - and that's a FEATURE.
1118
-
1119
- **Why?** Adaptive workflows use cache to free up time for deeper analysis:
1120
-
1121
- ```
1122
- Security Audit without cache:
1123
- Run 1: $0.11, 45 seconds - surface scan finds 3 issues
1124
-
1125
- Security Audit with cache:
1126
- Run 2: $0.13, 15 seconds - cache frees 30s for deep analysis
1127
- → Uses saved time for PREMIUM tier vulnerability research
1128
- → Finds 7 issues including critical SQLi we missed
1129
- → Extra $0.02 cost = prevented security breach
1130
- ```
1131
-
1132
- **Result**: Cache makes workflows SMARTER, not just cheaper.
1133
-
1134
- See [Adaptive Workflows Documentation](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/docs/caching/ADAPTIVE_WORKFLOWS.md) for full explanation.
1135
-
1136
- #### Complete Documentation
1137
-
1138
- - **[Quick Reference](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/docs/caching/QUICK_REFERENCE.md)** - Common scenarios, 1-page cheat sheet
1139
- - **[Configuration Guide](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/docs/caching/CONFIGURATION_GUIDE.md)** - All options, when to use each
1140
- - **[Adaptive Workflows](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/docs/caching/ADAPTIVE_WORKFLOWS.md)** - Why Run 2 can cost more (it's good!)
1141
-
1142
- **Test it yourself**:
1143
- ```bash
1144
- # Quick test (2-3 minutes)
1145
- python benchmark_caching_simple.py
1146
-
1147
- # Full benchmark (15-20 minutes, all 12 workflows)
1148
- python benchmark_caching.py
1149
- ```
1150
-
1151
- ---
1152
-
1153
- ## Become a Power User
1154
-
1155
- ### Level 1: Basic Usage
1156
-
1157
- ```bash
1158
- pip install empathy-framework[developer]
1159
- ```
1160
-
1161
- - Lightweight install with CLI tools, LLM providers, and agents
1162
- - Works out of the box with sensible defaults
1163
- - Auto-detects your API keys
1164
-
1165
- ### Level 2: Cost Optimization (Role-Based Savings)
1166
-
1167
- **Tier routing automatically routes tasks to appropriate models, saving 34-86% depending on your work role.**
1168
-
1169
- ```bash
1170
- # Enable hybrid mode
1171
- python -m empathy_os.models.cli provider --set hybrid
1172
- ```
1173
-
1174
- #### Tier Pricing
1175
-
1176
- | Tier | Model | Use Case | Cost per Task* |
1177
- |------|-------|----------|----------------|
1178
- | CHEAP | GPT-4o-mini / Haiku | Summarization, formatting, simple tasks | $0.0045-0.0075 |
1179
- | CAPABLE | GPT-4o / Sonnet | Bug fixing, code review, analysis | $0.0725-0.090 |
1180
- | PREMIUM | o1 / Opus | Architecture, complex decisions, design | $0.435-0.450 |
1181
-
1182
- *Typical task: 5,000 input tokens, 1,000 output tokens
1183
-
1184
- #### Actual Savings by Role
1185
-
1186
- | Your Role | PREMIUM % | CAPABLE % | CHEAP % | Actual Savings | Notes |
1187
- |-----------|-----------|-----------|---------|----------------|-------|
1188
- | **Architect / Designer** | 60% | 30% | 10% | **34%** | Design work requires complex reasoning |
1189
- | **Senior Developer** | 25% | 50% | 25% | **65%** | Mix of architecture and implementation |
1190
- | **Mid-Level Developer** | 15% | 60% | 25% | **73%** | Mostly implementation and bug fixes |
1191
- | **Junior Developer** | 5% | 40% | 55% | **86%** | Simple features, tests, documentation |
1192
- | **QA Engineer** | 10% | 35% | 55% | **80%** | Test generation, reports, automation |
1193
- | **DevOps Engineer** | 20% | 50% | 30% | **69%** | Infrastructure planning + automation |
1194
-
1195
- **See [Complete Cost Analysis](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/docs/cost-analysis/COST_SAVINGS_BY_ROLE_AND_PROVIDER.md) for provider comparisons (Anthropic vs OpenAI vs Ollama) and detailed calculations.**
1196
-
1197
- ### Level 3: Multi-Model Workflows
1198
-
1199
- ```python
1200
- from empathy_llm_toolkit import EmpathyLLM
1201
-
1202
- llm = EmpathyLLM(provider="anthropic", enable_model_routing=True)
1203
-
1204
- # Automatically routes to appropriate tier
1205
- await llm.interact(user_id="dev", user_input="Summarize this", task_type="summarize") # → Haiku
1206
- await llm.interact(user_id="dev", user_input="Fix this bug", task_type="fix_bug") # → Sonnet
1207
- await llm.interact(user_id="dev", user_input="Design system", task_type="coordinate") # → Opus
1208
- ```
1209
-
1210
- ### Level 4: VSCode Integration
1211
-
1212
- Install the Empathy VSCode extension for:
1213
-
1214
- - **Real-time Dashboard** — Health score, costs, patterns
1215
- - **One-Click Workflows** — Research, code review, debugging
1216
- - **Visual Cost Tracking** — See savings in real-time
1217
- - See also: `docs/dashboard-costs-by-tier.md` for interpreting the **By tier (7 days)** cost breakdown.
1218
- - **Memory Control Panel (Beta)** — Manage Redis and pattern storage
1219
- - View Redis status and memory usage
1220
- - Browse and export stored patterns
1221
- - Run system health checks
1222
- - Configure auto-start in `empathy.config.yml`
1223
-
1224
- ```yaml
1225
- memory:
1226
- enabled: true
1227
- auto_start_redis: true
1228
- ```
1229
-
1230
- ### Level 5: Custom Agents
1231
-
1232
- ```python
1233
- from empathy_os.agents import AgentFactory
1234
-
1235
- # Create domain-specific agents with inherited memory
1236
- security_agent = AgentFactory.create(
1237
- domain="security",
1238
- memory_enabled=True,
1239
- anticipation_level=4
1240
- )
1241
- ```
1242
-
1243
- ---
1244
-
1245
- ## CLI Reference
1246
-
1247
- ### Provider Configuration
1248
-
1249
- ```bash
1250
- python -m empathy_os.models.cli provider # Show current config
1251
- python -m empathy_os.models.cli provider --set anthropic # Single provider
1252
- python -m empathy_os.models.cli provider --set hybrid # Best-of-breed
1253
- python -m empathy_os.models.cli provider --interactive # Setup wizard
1254
- python -m empathy_os.models.cli provider -f json # JSON output
1255
- ```
1256
-
1257
- ### Model Registry
1258
-
1259
- ```bash
1260
- python -m empathy_os.models.cli registry # Show all models
1261
- python -m empathy_os.models.cli registry --provider openai # Filter by provider
1262
- python -m empathy_os.models.cli costs --input-tokens 50000 # Estimate costs
1263
- ```
1264
-
1265
- ### Telemetry & Analytics
1266
-
1267
- ```bash
1268
- python -m empathy_os.models.cli telemetry # Summary
1269
- python -m empathy_os.models.cli telemetry --costs # Cost savings report
1270
- python -m empathy_os.models.cli telemetry --providers # Provider usage
1271
- python -m empathy_os.models.cli telemetry --fallbacks # Fallback stats
1272
- ```
1273
-
1274
- ### Memory Control
1275
-
1276
- ```bash
1277
- empathy-memory serve # Start Redis + API server
1278
- empathy-memory status # Check system status
1279
- empathy-memory stats # View statistics
1280
- empathy-memory patterns # List stored patterns
1281
- ```
1282
-
1283
- ### Code Inspection
1284
-
1285
- ```bash
1286
- empathy-inspect . # Run full inspection
1287
- empathy-inspect . --format sarif # GitHub Actions format
1288
- empathy-inspect . --fix # Auto-fix safe issues
1289
- empathy-inspect . --staged # Only staged changes
1290
- ```
1291
-
1292
- ---
1293
-
1294
- ## XML-Enhanced Prompts
1295
-
1296
- Enable structured XML prompts for consistent, parseable LLM responses:
1297
-
1298
- ```yaml
1299
- # .empathy/workflows.yaml
1300
- xml_prompt_defaults:
1301
- enabled: false # Set true to enable globally
1302
-
1303
- workflow_xml_configs:
1304
- security-audit:
1305
- enabled: true
1306
- enforce_response_xml: true
1307
- template_name: "security-audit"
1308
- code-review:
1309
- enabled: true
1310
- template_name: "code-review"
1311
- ```
1312
-
1313
- Built-in templates: `security-audit`, `code-review`, `research`, `bug-analysis`, `perf-audit`, `refactor-plan`, `test-gen`, `doc-gen`, `release-prep`, `dependency-check`
1314
-
1315
- ```python
1316
- from empathy_os.prompts import get_template, XmlResponseParser, PromptContext
1317
-
1318
- # Use a built-in template
1319
- template = get_template("security-audit")
1320
- context = PromptContext.for_security_audit(code="def foo(): pass")
1321
- prompt = template.render(context)
1322
-
1323
- # Parse XML responses
1324
- parser = XmlResponseParser(fallback_on_error=True)
1325
- result = parser.parse(llm_response)
1326
- print(result.summary, result.findings, result.checklist)
1327
- ```
1328
-
1329
- ---
1330
-
1331
- ## Enterprise Doc-Gen
1332
-
1333
- Generate comprehensive documentation for large projects with enterprise-safe defaults:
1334
-
1335
- ```python
1336
- from empathy_os.workflows import DocumentGenerationWorkflow
1337
-
1338
- # Enterprise-safe configuration
1339
- workflow = DocumentGenerationWorkflow(
1340
- export_path="docs/generated", # Auto-save to disk
1341
- max_cost=5.0, # Cost guardrail ($5 default)
1342
- chunked_generation=True, # Handle large projects
1343
- graceful_degradation=True, # Partial results on errors
1344
- )
1345
-
1346
- result = await workflow.execute(
1347
- source_code=your_code,
1348
- doc_type="api_reference",
1349
- audience="developers"
1350
- )
1351
-
1352
- # Access the formatted report
1353
- print(result.final_output["formatted_report"])
1354
-
1355
- # Large outputs are chunked for display
1356
- if "output_chunks" in result.final_output:
1357
- for chunk in result.final_output["output_chunks"]:
1358
- print(chunk)
1359
-
1360
- # Full docs saved to disk
1361
- print(f"Saved to: {result.final_output.get('export_path')}")
1362
- ```
1363
-
1364
- ---
1365
-
1366
- ## Smart Router
1367
-
1368
- Route natural language requests to the right wizard automatically:
1369
-
1370
- ```python
1371
- from empathy_os.routing import SmartRouter
1372
-
1373
- router = SmartRouter()
1374
-
1375
- # Natural language routing
1376
- decision = router.route_sync("Fix the security vulnerability in auth.py")
1377
- print(f"Primary: {decision.primary_wizard}") # → security-audit
1378
- print(f"Also consider: {decision.secondary_wizards}") # → [code-review]
1379
- print(f"Confidence: {decision.confidence}")
1380
-
1381
- # File-based suggestions
1382
- suggestions = router.suggest_for_file("requirements.txt") # → [dependency-check]
1383
-
1384
- # Error-based suggestions
1385
- suggestions = router.suggest_for_error("NullReferenceException") # → [bug-predict, test-gen]
1386
- ```
1387
-
1388
- ---
1389
-
1390
- ## Memory Graph
1391
-
1392
- Cross-wizard knowledge sharing - wizards learn from each other:
1393
-
1394
- ```python
1395
- from empathy_os.memory import MemoryGraph, EdgeType
1396
-
1397
- graph = MemoryGraph()
1398
-
1399
- # Add findings from any wizard
1400
- bug_id = graph.add_finding(
1401
- wizard="bug-predict",
1402
- finding={
1403
- "type": "bug",
1404
- "name": "Null reference in auth.py:42",
1405
- "severity": "high"
1406
- }
1407
- )
1408
-
1409
- # Connect related findings
1410
- fix_id = graph.add_finding(wizard="code-review", finding={"type": "fix", "name": "Add null check"})
1411
- graph.add_edge(bug_id, fix_id, EdgeType.FIXED_BY)
1412
-
1413
- # Find similar past issues
1414
- similar = graph.find_similar({"name": "Null reference error"})
1415
-
1416
- # Traverse relationships
1417
- related_fixes = graph.find_related(bug_id, edge_types=[EdgeType.FIXED_BY])
1418
- ```
1419
-
1420
- ---
1421
-
1422
- ## Auto-Chaining
1423
-
1424
- Wizards automatically trigger related wizards based on findings:
1425
-
1426
- ```yaml
1427
- # .empathy/wizard_chains.yaml
1428
- chains:
1429
- security-audit:
1430
- auto_chain: true
1431
- triggers:
1432
- - condition: "high_severity_count > 0"
1433
- next: dependency-check
1434
- approval_required: false
1435
- - condition: "vulnerability_type == 'injection'"
1436
- next: code-review
1437
- approval_required: true
1438
-
1439
- bug-predict:
1440
- triggers:
1441
- - condition: "risk_score > 0.7"
1442
- next: test-gen
1443
-
1444
- templates:
1445
- full-security-review:
1446
- steps: [security-audit, dependency-check, code-review]
1447
- pre-release:
1448
- steps: [test-gen, security-audit, release-prep]
1449
- ```
1450
-
1451
- ```python
1452
- from empathy_os.routing import ChainExecutor
1453
-
1454
- executor = ChainExecutor()
1455
-
1456
- # Check what chains would trigger
1457
- result = {"high_severity_count": 5}
1458
- triggers = executor.get_triggered_chains("security-audit", result)
1459
- # → [ChainTrigger(next="dependency-check"), ...]
1460
-
1461
- # Execute a template
1462
- template = executor.get_template("full-security-review")
1463
- # → ["security-audit", "dependency-check", "code-review"]
1464
- ```
1465
-
1466
- ---
1467
-
1468
- ## Prompt Engineering Wizard
1469
-
1470
- Analyze, generate, and optimize prompts:
1471
-
1472
- ```python
1473
- from coach_wizards import PromptEngineeringWizard
1474
-
1475
- wizard = PromptEngineeringWizard()
1476
-
1477
- # Analyze existing prompts
1478
- analysis = wizard.analyze_prompt("Fix this bug")
1479
- print(f"Score: {analysis.overall_score}") # → 0.13 (poor)
1480
- print(f"Issues: {analysis.issues}") # → ["Missing role", "No output format"]
1481
-
1482
- # Generate optimized prompts
1483
- prompt = wizard.generate_prompt(
1484
- task="Review code for security vulnerabilities",
1485
- role="a senior security engineer",
1486
- constraints=["Focus on OWASP top 10"],
1487
- output_format="JSON with severity and recommendation"
1488
- )
1489
-
1490
- # Optimize tokens (reduce costs)
1491
- result = wizard.optimize_tokens(verbose_prompt)
1492
- print(f"Reduced: {result.token_reduction:.0%}") # → 20% reduction
1493
-
1494
- # Add chain-of-thought scaffolding
1495
- enhanced = wizard.add_chain_of_thought(prompt, "debug")
1496
- ```
1497
-
1498
- ---
1499
-
1500
- ## Install Options
1501
-
1502
- ```bash
1503
- # Recommended (all features)
1504
- pip install empathy-framework[full]
1505
-
1506
- # Minimal
1507
- pip install empathy-framework
1508
-
1509
- # Specific providers
1510
- pip install empathy-framework[anthropic] # Claude
1511
- pip install empathy-framework[openai] # GPT-4, Ollama (OpenAI-compatible)
1512
- pip install empathy-framework[google] # Gemini
1513
- pip install empathy-framework[llm] # All providers
1514
-
1515
- # Development
1516
- git clone https://github.com/Smart-AI-Memory/empathy-framework.git
1517
- cd empathy-framework && pip install -e .[dev]
1518
- ```
1519
-
1520
- ---
1521
-
1522
- ## What's Included
1523
-
1524
- | Component | Description |
1525
- |-----------|-------------|
1526
- | **Empathy OS** | Core engine for human↔AI and AI↔AI collaboration |
1527
- | **Smart Router** | Natural language wizard dispatch with LLM classification |
1528
- | **Memory Graph** | Cross-wizard knowledge sharing (bugs, fixes, patterns) |
1529
- | **Auto-Chaining** | Wizards trigger related wizards based on findings |
1530
- | **Multi-Model Router** | Smart routing across providers and tiers |
1531
- | **Memory System** | Redis short-term + encrypted long-term patterns |
1532
- | **17 Coach Wizards** | Security, performance, testing, docs, prompt engineering |
1533
- | **10 Cost-Optimized Workflows** | Multi-tier pipelines with formatted reports & XML prompts |
1534
- | **Healthcare Suite** | SBAR, SOAP notes, clinical protocols (HIPAA) |
1535
- | **Code Inspection** | Unified pipeline with SARIF/GitHub Actions support |
1536
- | **VSCode Extension** | Visual dashboard for memory and workflows |
1537
- | **Telemetry & Analytics** | Cost tracking, usage stats, optimization insights |
1538
-
1539
- ---
1540
-
1541
- ## The 5 Levels of AI Empathy
1542
-
1543
- | Level | Name | Behavior | Example |
1544
- |-------|------|----------|---------|
1545
- | 1 | Reactive | Responds when asked | "Here's the data you requested" |
1546
- | 2 | Guided | Asks clarifying questions | "What format do you need?" |
1547
- | 3 | Proactive | Notices patterns | "I pre-fetched what you usually need" |
1548
- | **4** | **Anticipatory** | **Predicts future needs** | **"This query will timeout at 10k users"** |
1549
- | 5 | Transformative | Builds preventing structures | "Here's a framework for all future cases" |
1550
-
1551
- **Empathy operates at Level 4** — predicting problems before they manifest.
1552
-
1553
- ---
1554
-
1555
- ## Environment Setup
1556
-
1557
- ```bash
1558
- # Required: At least one provider
1559
- export ANTHROPIC_API_KEY="sk-ant-..." # For Claude models # pragma: allowlist secret
1560
- export OPENAI_API_KEY="sk-..." # For GPT models # pragma: allowlist secret
1561
- export GOOGLE_API_KEY="..." # For Gemini models # pragma: allowlist secret
1562
-
1563
- # Optional: Redis for memory
1564
- export REDIS_URL="redis://localhost:6379"
1565
-
1566
- # Or use a .env file (auto-detected)
1567
- echo 'ANTHROPIC_API_KEY=sk-ant-...' >> .env
1568
- ```
1569
-
1570
- ---
1571
-
1572
- ## Get Involved
1573
-
1574
- - **[Star this repo](https://github.com/Smart-AI-Memory/empathy-framework)** if you find it useful
1575
- - **[Join Discussions](https://github.com/Smart-AI-Memory/empathy-framework/discussions)** — Questions, ideas, show what you built
1576
- - **[Read the Book](https://smartaimemory.com/book)** — Deep dive into the philosophy
1577
- - **[Full Documentation](https://smartaimemory.com/framework-docs/)** — API reference, examples, guides
1578
-
1579
- ---
1580
-
1581
- ## Project Evolution
1582
-
1583
- For those interested in the development history and architectural decisions:
1584
-
1585
- - **[Development Logs](https://github.com/Smart-AI-Memory/empathy-framework/tree/main/docs/development-logs/)** — Execution plans, phase completions, and progress tracking
1586
- - **[Architecture Docs](https://github.com/Smart-AI-Memory/empathy-framework/tree/main/docs/architecture/)** — System design, memory architecture, and integration plans
1587
- - **[Claude Code Skills](https://github.com/Smart-AI-Memory/empathy-framework/tree/main/.claude/commands/)** — AI-powered workflows and custom agent creation
1588
- - **[Guides](https://github.com/Smart-AI-Memory/empathy-framework/tree/main/docs/guides/)** — Publishing tutorials, MkDocs setup, and distribution policies
1589
-
1590
- ---
1591
-
1592
- ## License
1593
-
1594
- **Fair Source License 0.9** — Free for students, educators, and teams ≤5 employees. Commercial license ($99/dev/year) for larger organizations. [Details →](https://github.com/Smart-AI-Memory/empathy-framework/blob/main/LICENSE)
1595
-
1596
- ---
1597
-
1598
- **Built by [Smart AI Memory](https://smartaimemory.com)** · [Documentation](https://smartaimemory.com/framework-docs/) · [Examples](https://github.com/Smart-AI-Memory/empathy-framework/tree/main/examples) · [Issues](https://github.com/Smart-AI-Memory/empathy-framework/issues)