empathy-framework 4.7.1__py3-none-any.whl → 4.9.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 (96) hide show
  1. {empathy_framework-4.7.1.dist-info → empathy_framework-4.9.0.dist-info}/METADATA +65 -2
  2. {empathy_framework-4.7.1.dist-info → empathy_framework-4.9.0.dist-info}/RECORD +69 -59
  3. {empathy_framework-4.7.1.dist-info → empathy_framework-4.9.0.dist-info}/WHEEL +1 -1
  4. {empathy_framework-4.7.1.dist-info → empathy_framework-4.9.0.dist-info}/entry_points.txt +2 -1
  5. {empathy_framework-4.7.1.dist-info → empathy_framework-4.9.0.dist-info}/top_level.txt +0 -1
  6. empathy_os/__init__.py +2 -0
  7. empathy_os/cli/__init__.py +128 -238
  8. empathy_os/cli/__main__.py +5 -33
  9. empathy_os/cli/commands/__init__.py +1 -8
  10. empathy_os/cli/commands/help.py +331 -0
  11. empathy_os/cli/commands/info.py +140 -0
  12. empathy_os/cli/commands/inspect.py +437 -0
  13. empathy_os/cli/commands/metrics.py +92 -0
  14. empathy_os/cli/commands/orchestrate.py +184 -0
  15. empathy_os/cli/commands/patterns.py +207 -0
  16. empathy_os/cli/commands/provider.py +93 -81
  17. empathy_os/cli/commands/setup.py +96 -0
  18. empathy_os/cli/commands/status.py +235 -0
  19. empathy_os/cli/commands/sync.py +166 -0
  20. empathy_os/cli/commands/tier.py +121 -0
  21. empathy_os/cli/commands/workflow.py +574 -0
  22. empathy_os/cli/parsers/__init__.py +62 -0
  23. empathy_os/cli/parsers/help.py +41 -0
  24. empathy_os/cli/parsers/info.py +26 -0
  25. empathy_os/cli/parsers/inspect.py +66 -0
  26. empathy_os/cli/parsers/metrics.py +42 -0
  27. empathy_os/cli/parsers/orchestrate.py +61 -0
  28. empathy_os/cli/parsers/patterns.py +54 -0
  29. empathy_os/cli/parsers/provider.py +40 -0
  30. empathy_os/cli/parsers/setup.py +42 -0
  31. empathy_os/cli/parsers/status.py +47 -0
  32. empathy_os/cli/parsers/sync.py +31 -0
  33. empathy_os/cli/parsers/tier.py +33 -0
  34. empathy_os/cli/parsers/workflow.py +77 -0
  35. empathy_os/cli/utils/__init__.py +1 -0
  36. empathy_os/cli/utils/data.py +242 -0
  37. empathy_os/cli/utils/helpers.py +68 -0
  38. empathy_os/{cli.py → cli_legacy.py} +0 -26
  39. empathy_os/cli_minimal.py +662 -0
  40. empathy_os/cli_router.py +384 -0
  41. empathy_os/cli_unified.py +13 -2
  42. empathy_os/memory/short_term.py +146 -414
  43. empathy_os/memory/types.py +441 -0
  44. empathy_os/memory/unified.py +61 -48
  45. empathy_os/models/fallback.py +1 -1
  46. empathy_os/models/provider_config.py +59 -344
  47. empathy_os/models/registry.py +27 -176
  48. empathy_os/monitoring/alerts.py +14 -20
  49. empathy_os/monitoring/alerts_cli.py +24 -7
  50. empathy_os/project_index/__init__.py +2 -0
  51. empathy_os/project_index/index.py +210 -5
  52. empathy_os/project_index/scanner.py +48 -16
  53. empathy_os/project_index/scanner_parallel.py +291 -0
  54. empathy_os/workflow_commands.py +9 -9
  55. empathy_os/workflows/__init__.py +31 -2
  56. empathy_os/workflows/base.py +295 -317
  57. empathy_os/workflows/bug_predict.py +10 -2
  58. empathy_os/workflows/builder.py +273 -0
  59. empathy_os/workflows/caching.py +253 -0
  60. empathy_os/workflows/code_review_pipeline.py +1 -0
  61. empathy_os/workflows/history.py +512 -0
  62. empathy_os/workflows/perf_audit.py +129 -23
  63. empathy_os/workflows/routing.py +163 -0
  64. empathy_os/workflows/secure_release.py +1 -0
  65. empathy_os/workflows/security_audit.py +1 -0
  66. empathy_os/workflows/security_audit_phase3.py +352 -0
  67. empathy_os/workflows/telemetry_mixin.py +269 -0
  68. empathy_os/workflows/test_gen.py +7 -7
  69. empathy_os/dashboard/__init__.py +0 -15
  70. empathy_os/dashboard/server.py +0 -941
  71. empathy_os/vscode_bridge 2.py +0 -173
  72. empathy_os/workflows/progressive/README 2.md +0 -454
  73. empathy_os/workflows/progressive/__init__ 2.py +0 -92
  74. empathy_os/workflows/progressive/cli 2.py +0 -242
  75. empathy_os/workflows/progressive/core 2.py +0 -488
  76. empathy_os/workflows/progressive/orchestrator 2.py +0 -701
  77. empathy_os/workflows/progressive/reports 2.py +0 -528
  78. empathy_os/workflows/progressive/telemetry 2.py +0 -280
  79. empathy_os/workflows/progressive/test_gen 2.py +0 -514
  80. empathy_os/workflows/progressive/workflow 2.py +0 -628
  81. patterns/README.md +0 -119
  82. patterns/__init__.py +0 -95
  83. patterns/behavior.py +0 -298
  84. patterns/code_review_memory.json +0 -441
  85. patterns/core.py +0 -97
  86. patterns/debugging.json +0 -3763
  87. patterns/empathy.py +0 -268
  88. patterns/health_check_memory.json +0 -505
  89. patterns/input.py +0 -161
  90. patterns/memory_graph.json +0 -8
  91. patterns/refactoring_memory.json +0 -1113
  92. patterns/registry.py +0 -663
  93. patterns/security_memory.json +0 -8
  94. patterns/structural.py +0 -415
  95. patterns/validation.py +0 -194
  96. {empathy_framework-4.7.1.dist-info → empathy_framework-4.9.0.dist-info}/licenses/LICENSE +0 -0
patterns/debugging.json DELETED
@@ -1,3763 +0,0 @@
1
- {
2
- "patterns": [
3
- {
4
- "pattern_id": "bug_20251219_848e6c8a",
5
- "bug_type": "unknown",
6
- "status": "resolved",
7
- "root_cause": "fix: Improve text contrast in debug wizard header",
8
- "fix": "See commit 848e6c8a",
9
- "resolved_by": "@geneai",
10
- "resolved_at": "2025-12-19",
11
- "files_affected": [
12
- "website/app/tools/debug-wizard/page.tsx",
13
- "website/components/debug-wizard/DebugWizard.tsx"
14
- ],
15
- "source": "git_history",
16
- "tier_progression": {
17
- "methodology": "AI-ADDIE",
18
- "starting_tier": "CHEAP",
19
- "successful_tier": "CHEAP",
20
- "total_attempts": 1,
21
- "tier_history": [
22
- {
23
- "tier": "CHEAP",
24
- "attempts": 1,
25
- "success": {
26
- "attempt": 1,
27
- "quality_gates_passed": [
28
- "tests",
29
- "lint",
30
- "types"
31
- ]
32
- }
33
- }
34
- ],
35
- "cost_breakdown": {
36
- "total_cost": 0.03,
37
- "cost_if_always_premium": 0.45,
38
- "savings_percent": 93.3
39
- },
40
- "quality_metrics": {
41
- "tests_passed": true,
42
- "health_score_before": 73,
43
- "health_score_after": 73
44
- },
45
- "xml_protocol_compliance": {
46
- "prompt_used_xml": true,
47
- "response_used_xml": true,
48
- "all_sections_present": true,
49
- "test_evidence_provided": true,
50
- "false_complete_avoided": true
51
- }
52
- }
53
- },
54
- {
55
- "pattern_id": "bug_20251218_fa236623",
56
- "bug_type": "unknown",
57
- "status": "resolved",
58
- "root_cause": "feat: Add Redis integration with environment-aware key prefixing",
59
- "fix": "See commit fa236623",
60
- "resolved_by": "@geneai",
61
- "resolved_at": "2025-12-18",
62
- "files_affected": [
63
- "website/app/api/debug-wizard/analyze/route.ts",
64
- "website/app/api/debug-wizard/resolve/route.ts",
65
- "website/app/api/debug-wizard/stats/route.ts"
66
- ],
67
- "source": "git_history",
68
- "tier_progression": {
69
- "methodology": "AI-ADDIE",
70
- "starting_tier": "CAPABLE",
71
- "successful_tier": "CAPABLE",
72
- "total_attempts": 2,
73
- "tier_history": [
74
- {
75
- "tier": "CAPABLE",
76
- "attempts": 2,
77
- "failures": [
78
- {
79
- "attempt": 1,
80
- "quality_gate_failed": "lint"
81
- }
82
- ],
83
- "success": {
84
- "attempt": 2,
85
- "quality_gates_passed": [
86
- "tests",
87
- "lint",
88
- "types"
89
- ]
90
- }
91
- }
92
- ],
93
- "cost_breakdown": {
94
- "total_cost": 0.18,
95
- "cost_if_always_premium": 0.9,
96
- "savings_percent": 80.0
97
- },
98
- "quality_metrics": {
99
- "tests_passed": true,
100
- "health_score_before": 73,
101
- "health_score_after": 73
102
- },
103
- "xml_protocol_compliance": {
104
- "prompt_used_xml": true,
105
- "response_used_xml": true,
106
- "all_sections_present": true,
107
- "test_evidence_provided": true,
108
- "false_complete_avoided": true
109
- }
110
- }
111
- },
112
- {
113
- "pattern_id": "bug_20251217_450f5972",
114
- "bug_type": "unknown",
115
- "status": "resolved",
116
- "root_cause": "feat: Add autonomous error scanning and repair to Debug Wizard",
117
- "fix": "See commit 450f5972",
118
- "resolved_by": "@geneai",
119
- "resolved_at": "2025-12-17",
120
- "files_affected": [
121
- "website/components/debug-wizard/DebugWizard.tsx"
122
- ],
123
- "source": "git_history",
124
- "tier_progression": {
125
- "methodology": "AI-ADDIE",
126
- "starting_tier": "CAPABLE",
127
- "successful_tier": "CAPABLE",
128
- "total_attempts": 1,
129
- "tier_history": [
130
- {
131
- "tier": "CAPABLE",
132
- "attempts": 1,
133
- "success": {
134
- "attempt": 1,
135
- "quality_gates_passed": [
136
- "tests",
137
- "lint",
138
- "types"
139
- ]
140
- }
141
- }
142
- ],
143
- "cost_breakdown": {
144
- "total_cost": 0.09,
145
- "cost_if_always_premium": 0.45,
146
- "savings_percent": 80.0
147
- },
148
- "quality_metrics": {
149
- "tests_passed": true,
150
- "health_score_before": 73,
151
- "health_score_after": 73
152
- },
153
- "xml_protocol_compliance": {
154
- "prompt_used_xml": true,
155
- "response_used_xml": true,
156
- "all_sections_present": true,
157
- "test_evidence_provided": true,
158
- "false_complete_avoided": true
159
- }
160
- }
161
- },
162
- {
163
- "pattern_id": "bug_20251217_d92de34f",
164
- "bug_type": "unknown",
165
- "status": "resolved",
166
- "root_cause": "feat: Improved DebugWizard UX with card-based file selection",
167
- "fix": "See commit d92de34f",
168
- "resolved_by": "@geneai",
169
- "resolved_at": "2025-12-17",
170
- "files_affected": [
171
- "website/components/debug-wizard/DebugWizard.tsx"
172
- ],
173
- "source": "git_history",
174
- "tier_progression": {
175
- "methodology": "AI-ADDIE",
176
- "starting_tier": "CAPABLE",
177
- "successful_tier": "CAPABLE",
178
- "total_attempts": 1,
179
- "tier_history": [
180
- {
181
- "tier": "CAPABLE",
182
- "attempts": 1,
183
- "success": {
184
- "attempt": 1,
185
- "quality_gates_passed": [
186
- "tests",
187
- "lint",
188
- "types"
189
- ]
190
- }
191
- }
192
- ],
193
- "cost_breakdown": {
194
- "total_cost": 0.09,
195
- "cost_if_always_premium": 0.45,
196
- "savings_percent": 80.0
197
- },
198
- "quality_metrics": {
199
- "tests_passed": true,
200
- "health_score_before": 73,
201
- "health_score_after": 73
202
- },
203
- "xml_protocol_compliance": {
204
- "prompt_used_xml": true,
205
- "response_used_xml": true,
206
- "all_sections_present": true,
207
- "test_evidence_provided": true,
208
- "false_complete_avoided": true
209
- }
210
- }
211
- },
212
- {
213
- "pattern_id": "bug_20251217_17526090",
214
- "bug_type": "unknown",
215
- "status": "resolved",
216
- "root_cause": "feat: Enhanced DebugWizard with folder selection and tree view",
217
- "fix": "See commit 17526090",
218
- "resolved_by": "@geneai",
219
- "resolved_at": "2025-12-17",
220
- "files_affected": [
221
- "website/components/debug-wizard/DebugWizard.tsx"
222
- ],
223
- "source": "git_history",
224
- "tier_progression": {
225
- "methodology": "AI-ADDIE",
226
- "starting_tier": "CAPABLE",
227
- "successful_tier": "CAPABLE",
228
- "total_attempts": 1,
229
- "tier_history": [
230
- {
231
- "tier": "CAPABLE",
232
- "attempts": 1,
233
- "success": {
234
- "attempt": 1,
235
- "quality_gates_passed": [
236
- "tests",
237
- "lint",
238
- "types"
239
- ]
240
- }
241
- }
242
- ],
243
- "cost_breakdown": {
244
- "total_cost": 0.09,
245
- "cost_if_always_premium": 0.45,
246
- "savings_percent": 80.0
247
- },
248
- "quality_metrics": {
249
- "tests_passed": true,
250
- "health_score_before": 73,
251
- "health_score_after": 73
252
- },
253
- "xml_protocol_compliance": {
254
- "prompt_used_xml": true,
255
- "response_used_xml": true,
256
- "all_sections_present": true,
257
- "test_evidence_provided": true,
258
- "false_complete_avoided": true
259
- }
260
- }
261
- },
262
- {
263
- "pattern_id": "bug_20251217_f669fb6a",
264
- "bug_type": "unknown",
265
- "status": "resolved",
266
- "root_cause": "fix: Make GitHub Issues link clickable in FAQ page",
267
- "fix": "See commit f669fb6a",
268
- "resolved_by": "@geneai",
269
- "resolved_at": "2025-12-17",
270
- "files_affected": [
271
- "website/app/faq/page.tsx"
272
- ],
273
- "source": "git_history",
274
- "tier_progression": {
275
- "methodology": "AI-ADDIE",
276
- "starting_tier": "CHEAP",
277
- "successful_tier": "CHEAP",
278
- "total_attempts": 1,
279
- "tier_history": [
280
- {
281
- "tier": "CHEAP",
282
- "attempts": 1,
283
- "success": {
284
- "attempt": 1,
285
- "quality_gates_passed": [
286
- "tests",
287
- "lint",
288
- "types"
289
- ]
290
- }
291
- }
292
- ],
293
- "cost_breakdown": {
294
- "total_cost": 0.03,
295
- "cost_if_always_premium": 0.45,
296
- "savings_percent": 93.3
297
- },
298
- "quality_metrics": {
299
- "tests_passed": true,
300
- "health_score_before": 73,
301
- "health_score_after": 73
302
- },
303
- "xml_protocol_compliance": {
304
- "prompt_used_xml": true,
305
- "response_used_xml": true,
306
- "all_sections_present": true,
307
- "test_evidence_provided": true,
308
- "false_complete_avoided": true
309
- }
310
- }
311
- },
312
- {
313
- "pattern_id": "bug_20251217_8d974c1a",
314
- "bug_type": "type_mismatch",
315
- "status": "resolved",
316
- "root_cause": "fix: Resolve all ESLint errors and improve type safety",
317
- "fix": "See commit 8d974c1a",
318
- "resolved_by": "@geneai",
319
- "resolved_at": "2025-12-17",
320
- "files_affected": [
321
- "site/search/search_index.json",
322
- "site/sitemap.xml",
323
- "site/sitemap.xml.gz"
324
- ],
325
- "source": "git_history",
326
- "tier_progression": {
327
- "methodology": "AI-ADDIE",
328
- "starting_tier": "CHEAP",
329
- "successful_tier": "CHEAP",
330
- "total_attempts": 3,
331
- "tier_history": [
332
- {
333
- "tier": "CHEAP",
334
- "attempts": 3,
335
- "failures": [
336
- {
337
- "attempt": 1,
338
- "quality_gate_failed": "lint"
339
- },
340
- {
341
- "attempt": 2,
342
- "quality_gate_failed": "types"
343
- }
344
- ],
345
- "success": {
346
- "attempt": 3,
347
- "quality_gates_passed": [
348
- "tests",
349
- "lint",
350
- "types"
351
- ]
352
- }
353
- }
354
- ],
355
- "cost_breakdown": {
356
- "total_cost": 0.09,
357
- "cost_if_always_premium": 1.35,
358
- "savings_percent": 93.3
359
- },
360
- "quality_metrics": {
361
- "tests_passed": true,
362
- "health_score_before": 73,
363
- "health_score_after": 73
364
- },
365
- "xml_protocol_compliance": {
366
- "prompt_used_xml": true,
367
- "response_used_xml": true,
368
- "all_sections_present": true,
369
- "test_evidence_provided": true,
370
- "false_complete_avoided": true
371
- }
372
- }
373
- },
374
- {
375
- "pattern_id": "bug_20251217_99335a29",
376
- "bug_type": "type_mismatch",
377
- "status": "resolved",
378
- "root_cause": "fix: Fix ESLint errors - escape apostrophes and quotes in JSX",
379
- "fix": "See commit 99335a29",
380
- "resolved_by": "@geneai",
381
- "resolved_at": "2025-12-17",
382
- "files_affected": [
383
- "website/app/api/debug-wizard/analyze/route.ts",
384
- "website/app/api/og/route.tsx",
385
- "website/app/blog/page.tsx"
386
- ],
387
- "source": "git_history",
388
- "tier_progression": {
389
- "methodology": "AI-ADDIE",
390
- "starting_tier": "CHEAP",
391
- "successful_tier": "CHEAP",
392
- "total_attempts": 1,
393
- "tier_history": [
394
- {
395
- "tier": "CHEAP",
396
- "attempts": 1,
397
- "success": {
398
- "attempt": 1,
399
- "quality_gates_passed": [
400
- "tests",
401
- "lint",
402
- "types"
403
- ]
404
- }
405
- }
406
- ],
407
- "cost_breakdown": {
408
- "total_cost": 0.03,
409
- "cost_if_always_premium": 0.45,
410
- "savings_percent": 93.3
411
- },
412
- "quality_metrics": {
413
- "tests_passed": true,
414
- "health_score_before": 73,
415
- "health_score_after": 73
416
- },
417
- "xml_protocol_compliance": {
418
- "prompt_used_xml": true,
419
- "response_used_xml": true,
420
- "all_sections_present": true,
421
- "test_evidence_provided": true,
422
- "false_complete_avoided": true
423
- }
424
- }
425
- },
426
- {
427
- "pattern_id": "bug_20251217_5179994c",
428
- "bug_type": "unknown",
429
- "status": "resolved",
430
- "root_cause": "fix: Remove missing icon references from webmanifest",
431
- "fix": "See commit 5179994c",
432
- "resolved_by": "@geneai",
433
- "resolved_at": "2025-12-17",
434
- "files_affected": [
435
- "website/public/site.webmanifest"
436
- ],
437
- "source": "git_history",
438
- "tier_progression": {
439
- "methodology": "AI-ADDIE",
440
- "starting_tier": "CHEAP",
441
- "successful_tier": "CHEAP",
442
- "total_attempts": 1,
443
- "tier_history": [
444
- {
445
- "tier": "CHEAP",
446
- "attempts": 1,
447
- "success": {
448
- "attempt": 1,
449
- "quality_gates_passed": [
450
- "tests",
451
- "lint",
452
- "types"
453
- ]
454
- }
455
- }
456
- ],
457
- "cost_breakdown": {
458
- "total_cost": 0.03,
459
- "cost_if_always_premium": 0.45,
460
- "savings_percent": 93.3
461
- },
462
- "quality_metrics": {
463
- "tests_passed": true,
464
- "health_score_before": 73,
465
- "health_score_after": 73
466
- },
467
- "xml_protocol_compliance": {
468
- "prompt_used_xml": true,
469
- "response_used_xml": true,
470
- "all_sections_present": true,
471
- "test_evidence_provided": true,
472
- "false_complete_avoided": true
473
- }
474
- }
475
- },
476
- {
477
- "pattern_id": "bug_20251217_4c6069af",
478
- "bug_type": "unknown",
479
- "status": "resolved",
480
- "root_cause": "feat: Add drag-and-drop file upload to debug wizard",
481
- "fix": "See commit 4c6069af",
482
- "resolved_by": "@geneai",
483
- "resolved_at": "2025-12-17",
484
- "files_affected": [
485
- "website/components/debug-wizard/DebugWizard.tsx"
486
- ],
487
- "source": "git_history",
488
- "tier_progression": {
489
- "methodology": "AI-ADDIE",
490
- "starting_tier": "CAPABLE",
491
- "successful_tier": "CAPABLE",
492
- "total_attempts": 1,
493
- "tier_history": [
494
- {
495
- "tier": "CAPABLE",
496
- "attempts": 1,
497
- "success": {
498
- "attempt": 1,
499
- "quality_gates_passed": [
500
- "tests",
501
- "lint",
502
- "types"
503
- ]
504
- }
505
- }
506
- ],
507
- "cost_breakdown": {
508
- "total_cost": 0.09,
509
- "cost_if_always_premium": 0.45,
510
- "savings_percent": 80.0
511
- },
512
- "quality_metrics": {
513
- "tests_passed": true,
514
- "health_score_before": 73,
515
- "health_score_after": 73
516
- },
517
- "xml_protocol_compliance": {
518
- "prompt_used_xml": true,
519
- "response_used_xml": true,
520
- "all_sections_present": true,
521
- "test_evidence_provided": true,
522
- "false_complete_avoided": true
523
- }
524
- }
525
- },
526
- {
527
- "pattern_id": "bug_20251222_8edfb707",
528
- "bug_type": "release_issue",
529
- "status": "resolved",
530
- "root_cause": "feat: Release v3.0.1 - XML-Enhanced Prompts & Security Fixes",
531
- "fix": "See commit 8edfb707",
532
- "resolved_by": "@geneai",
533
- "resolved_at": "2025-12-22",
534
- "files_affected": [
535
- ".claude/CLAUDE.md",
536
- ".gitignore",
537
- "CHANGELOG.md"
538
- ],
539
- "source": "git_history",
540
- "tier_progression": {
541
- "methodology": "AI-ADDIE",
542
- "starting_tier": "PREMIUM",
543
- "successful_tier": "PREMIUM",
544
- "total_attempts": 1,
545
- "tier_history": [
546
- {
547
- "tier": "PREMIUM",
548
- "attempts": 1,
549
- "success": {
550
- "attempt": 1,
551
- "quality_gates_passed": [
552
- "tests",
553
- "lint",
554
- "types"
555
- ]
556
- }
557
- }
558
- ],
559
- "cost_breakdown": {
560
- "total_cost": 0.45,
561
- "cost_if_always_premium": 0.45,
562
- "savings_percent": 0.0
563
- },
564
- "quality_metrics": {
565
- "tests_passed": true,
566
- "health_score_before": 73,
567
- "health_score_after": 73
568
- },
569
- "xml_protocol_compliance": {
570
- "prompt_used_xml": true,
571
- "response_used_xml": true,
572
- "all_sections_present": true,
573
- "test_evidence_provided": true,
574
- "false_complete_avoided": true
575
- }
576
- }
577
- },
578
- {
579
- "pattern_id": "bug_20251225_1b928aec",
580
- "bug_type": "import_error",
581
- "status": "resolved",
582
- "root_cause": "fix: Resolve import conflict between workflows.py and workflows/ package",
583
- "fix": "See commit 1b928aec",
584
- "resolved_by": "@geneai",
585
- "resolved_at": "2025-12-25",
586
- "files_affected": [
587
- "src/empathy_os/workflows/__init__.py"
588
- ],
589
- "source": "git_history",
590
- "tier_progression": {
591
- "methodology": "AI-ADDIE",
592
- "starting_tier": "CHEAP",
593
- "successful_tier": "CHEAP",
594
- "total_attempts": 1,
595
- "tier_history": [
596
- {
597
- "tier": "CHEAP",
598
- "attempts": 1,
599
- "success": {
600
- "attempt": 1,
601
- "quality_gates_passed": [
602
- "tests",
603
- "lint",
604
- "types"
605
- ]
606
- }
607
- }
608
- ],
609
- "cost_breakdown": {
610
- "total_cost": 0.03,
611
- "cost_if_always_premium": 0.45,
612
- "savings_percent": 93.3
613
- },
614
- "quality_metrics": {
615
- "tests_passed": true,
616
- "health_score_before": 73,
617
- "health_score_after": 73
618
- },
619
- "xml_protocol_compliance": {
620
- "prompt_used_xml": true,
621
- "response_used_xml": true,
622
- "all_sections_present": true,
623
- "test_evidence_provided": true,
624
- "false_complete_avoided": true
625
- }
626
- }
627
- },
628
- {
629
- "pattern_id": "bug_20251224_32d3adcf",
630
- "bug_type": "configuration",
631
- "status": "resolved",
632
- "root_cause": "ci: Add workflow_dispatch to PyPI publish workflow",
633
- "fix": "See commit 32d3adcf",
634
- "resolved_by": "@geneai",
635
- "resolved_at": "2025-12-24",
636
- "files_affected": [
637
- ".github/workflows/publish-pypi.yml"
638
- ],
639
- "source": "git_history",
640
- "tier_progression": {
641
- "methodology": "AI-ADDIE",
642
- "starting_tier": "CAPABLE",
643
- "successful_tier": "CAPABLE",
644
- "total_attempts": 2,
645
- "tier_history": [
646
- {
647
- "tier": "CAPABLE",
648
- "attempts": 2,
649
- "failures": [
650
- {
651
- "attempt": 1,
652
- "quality_gate_failed": "lint"
653
- }
654
- ],
655
- "success": {
656
- "attempt": 2,
657
- "quality_gates_passed": [
658
- "tests",
659
- "lint",
660
- "types"
661
- ]
662
- }
663
- }
664
- ],
665
- "cost_breakdown": {
666
- "total_cost": 0.18,
667
- "cost_if_always_premium": 0.9,
668
- "savings_percent": 80.0
669
- },
670
- "quality_metrics": {
671
- "tests_passed": true,
672
- "health_score_before": 73,
673
- "health_score_after": 73
674
- },
675
- "xml_protocol_compliance": {
676
- "prompt_used_xml": true,
677
- "response_used_xml": true,
678
- "all_sections_present": true,
679
- "test_evidence_provided": true,
680
- "false_complete_avoided": true
681
- }
682
- }
683
- },
684
- {
685
- "pattern_id": "bug_20251224_2ae52706",
686
- "bug_type": "type_mismatch",
687
- "status": "resolved",
688
- "root_cause": "fix: Convert MkDocs relative asset paths to absolute for CSS loading",
689
- "fix": "See commit 2ae52706",
690
- "resolved_by": "@geneai",
691
- "resolved_at": "2025-12-24",
692
- "files_affected": [
693
- "scripts/fix_mkdocs_paths.py",
694
- ".../framework-docs/FOREWORD_BY_CLAUDE/index.html",
695
- ".../framework-docs/about-the-author/index.html"
696
- ],
697
- "source": "git_history",
698
- "tier_progression": {
699
- "methodology": "AI-ADDIE",
700
- "starting_tier": "CHEAP",
701
- "successful_tier": "CHEAP",
702
- "total_attempts": 1,
703
- "tier_history": [
704
- {
705
- "tier": "CHEAP",
706
- "attempts": 1,
707
- "success": {
708
- "attempt": 1,
709
- "quality_gates_passed": [
710
- "tests",
711
- "lint",
712
- "types"
713
- ]
714
- }
715
- }
716
- ],
717
- "cost_breakdown": {
718
- "total_cost": 0.03,
719
- "cost_if_always_premium": 0.45,
720
- "savings_percent": 93.3
721
- },
722
- "quality_metrics": {
723
- "tests_passed": true,
724
- "health_score_before": 73,
725
- "health_score_after": 73
726
- },
727
- "xml_protocol_compliance": {
728
- "prompt_used_xml": true,
729
- "response_used_xml": true,
730
- "all_sections_present": true,
731
- "test_evidence_provided": true,
732
- "false_complete_avoided": true
733
- }
734
- }
735
- },
736
- {
737
- "pattern_id": "bug_20251224_4e9157ce",
738
- "bug_type": "ui_issue",
739
- "status": "resolved",
740
- "root_cause": "fix: Force trailing slashes at all levels for MkDocs CSS compatibility",
741
- "fix": "See commit 4e9157ce",
742
- "resolved_by": "@geneai",
743
- "resolved_at": "2025-12-24",
744
- "files_affected": [
745
- "website/middleware.ts",
746
- "website/next.config.ts",
747
- "website/vercel.json"
748
- ],
749
- "source": "git_history",
750
- "tier_progression": {
751
- "methodology": "AI-ADDIE",
752
- "starting_tier": "CHEAP",
753
- "successful_tier": "CHEAP",
754
- "total_attempts": 1,
755
- "tier_history": [
756
- {
757
- "tier": "CHEAP",
758
- "attempts": 1,
759
- "success": {
760
- "attempt": 1,
761
- "quality_gates_passed": [
762
- "tests",
763
- "lint",
764
- "types"
765
- ]
766
- }
767
- }
768
- ],
769
- "cost_breakdown": {
770
- "total_cost": 0.03,
771
- "cost_if_always_premium": 0.45,
772
- "savings_percent": 93.3
773
- },
774
- "quality_metrics": {
775
- "tests_passed": true,
776
- "health_score_before": 73,
777
- "health_score_after": 73
778
- },
779
- "xml_protocol_compliance": {
780
- "prompt_used_xml": true,
781
- "response_used_xml": true,
782
- "all_sections_present": true,
783
- "test_evidence_provided": true,
784
- "false_complete_avoided": true
785
- }
786
- }
787
- },
788
- {
789
- "pattern_id": "bug_20251224_55265287",
790
- "bug_type": "unknown",
791
- "status": "resolved",
792
- "root_cause": "fix: Use skipTrailingSlashRedirect to stop Next.js from stripping trailing slashes",
793
- "fix": "See commit 55265287",
794
- "resolved_by": "@geneai",
795
- "resolved_at": "2025-12-24",
796
- "files_affected": [
797
- "website/next.config.ts",
798
- "website/vercel.json"
799
- ],
800
- "source": "git_history",
801
- "tier_progression": {
802
- "methodology": "AI-ADDIE",
803
- "starting_tier": "CHEAP",
804
- "successful_tier": "CHEAP",
805
- "total_attempts": 1,
806
- "tier_history": [
807
- {
808
- "tier": "CHEAP",
809
- "attempts": 1,
810
- "success": {
811
- "attempt": 1,
812
- "quality_gates_passed": [
813
- "tests",
814
- "lint",
815
- "types"
816
- ]
817
- }
818
- }
819
- ],
820
- "cost_breakdown": {
821
- "total_cost": 0.03,
822
- "cost_if_always_premium": 0.45,
823
- "savings_percent": 93.3
824
- },
825
- "quality_metrics": {
826
- "tests_passed": true,
827
- "health_score_before": 73,
828
- "health_score_after": 73
829
- },
830
- "xml_protocol_compliance": {
831
- "prompt_used_xml": true,
832
- "response_used_xml": true,
833
- "all_sections_present": true,
834
- "test_evidence_provided": true,
835
- "false_complete_avoided": true
836
- }
837
- }
838
- },
839
- {
840
- "pattern_id": "bug_20251224_47662816",
841
- "bug_type": "unknown",
842
- "status": "resolved",
843
- "root_cause": "fix: Add Next.js middleware to enforce trailing slash for framework-docs",
844
- "fix": "See commit 47662816",
845
- "resolved_by": "@geneai",
846
- "resolved_at": "2025-12-24",
847
- "files_affected": [
848
- "website/middleware.ts"
849
- ],
850
- "source": "git_history",
851
- "tier_progression": {
852
- "methodology": "AI-ADDIE",
853
- "starting_tier": "CHEAP",
854
- "successful_tier": "CHEAP",
855
- "total_attempts": 1,
856
- "tier_history": [
857
- {
858
- "tier": "CHEAP",
859
- "attempts": 1,
860
- "success": {
861
- "attempt": 1,
862
- "quality_gates_passed": [
863
- "tests",
864
- "lint",
865
- "types"
866
- ]
867
- }
868
- }
869
- ],
870
- "cost_breakdown": {
871
- "total_cost": 0.03,
872
- "cost_if_always_premium": 0.45,
873
- "savings_percent": 93.3
874
- },
875
- "quality_metrics": {
876
- "tests_passed": true,
877
- "health_score_before": 73,
878
- "health_score_after": 73
879
- },
880
- "xml_protocol_compliance": {
881
- "prompt_used_xml": true,
882
- "response_used_xml": true,
883
- "all_sections_present": true,
884
- "test_evidence_provided": true,
885
- "false_complete_avoided": true
886
- }
887
- }
888
- },
889
- {
890
- "pattern_id": "bug_20251224_994d5ad5",
891
- "bug_type": "ui_issue",
892
- "status": "resolved",
893
- "root_cause": "fix: Add Vercel trailingSlash config for framework-docs CSS",
894
- "fix": "See commit 994d5ad5",
895
- "resolved_by": "@geneai",
896
- "resolved_at": "2025-12-24",
897
- "files_affected": [
898
- "website/vercel.json"
899
- ],
900
- "source": "git_history",
901
- "tier_progression": {
902
- "methodology": "AI-ADDIE",
903
- "starting_tier": "CHEAP",
904
- "successful_tier": "CHEAP",
905
- "total_attempts": 1,
906
- "tier_history": [
907
- {
908
- "tier": "CHEAP",
909
- "attempts": 1,
910
- "success": {
911
- "attempt": 1,
912
- "quality_gates_passed": [
913
- "tests",
914
- "lint",
915
- "types"
916
- ]
917
- }
918
- }
919
- ],
920
- "cost_breakdown": {
921
- "total_cost": 0.03,
922
- "cost_if_always_premium": 0.45,
923
- "savings_percent": 93.3
924
- },
925
- "quality_metrics": {
926
- "tests_passed": true,
927
- "health_score_before": 73,
928
- "health_score_after": 73
929
- },
930
- "xml_protocol_compliance": {
931
- "prompt_used_xml": true,
932
- "response_used_xml": true,
933
- "all_sections_present": true,
934
- "test_evidence_provided": true,
935
- "false_complete_avoided": true
936
- }
937
- }
938
- },
939
- {
940
- "pattern_id": "bug_20251224_0c56cfb1",
941
- "bug_type": "unknown",
942
- "status": "resolved",
943
- "root_cause": "fix: Add vercel.json redirect for framework-docs trailing slash",
944
- "fix": "See commit 0c56cfb1",
945
- "resolved_by": "@geneai",
946
- "resolved_at": "2025-12-24",
947
- "files_affected": [
948
- "website/vercel.json"
949
- ],
950
- "source": "git_history",
951
- "tier_progression": {
952
- "methodology": "AI-ADDIE",
953
- "starting_tier": "CHEAP",
954
- "successful_tier": "CHEAP",
955
- "total_attempts": 1,
956
- "tier_history": [
957
- {
958
- "tier": "CHEAP",
959
- "attempts": 1,
960
- "success": {
961
- "attempt": 1,
962
- "quality_gates_passed": [
963
- "tests",
964
- "lint",
965
- "types"
966
- ]
967
- }
968
- }
969
- ],
970
- "cost_breakdown": {
971
- "total_cost": 0.03,
972
- "cost_if_always_premium": 0.45,
973
- "savings_percent": 93.3
974
- },
975
- "quality_metrics": {
976
- "tests_passed": true,
977
- "health_score_before": 73,
978
- "health_score_after": 73
979
- },
980
- "xml_protocol_compliance": {
981
- "prompt_used_xml": true,
982
- "response_used_xml": true,
983
- "all_sections_present": true,
984
- "test_evidence_provided": true,
985
- "false_complete_avoided": true
986
- }
987
- }
988
- },
989
- {
990
- "pattern_id": "bug_20251224_3ba1de27",
991
- "bug_type": "ui_issue",
992
- "status": "resolved",
993
- "root_cause": "fix: Add redirect to ensure trailing slash for framework-docs CSS paths",
994
- "fix": "See commit 3ba1de27",
995
- "resolved_by": "@geneai",
996
- "resolved_at": "2025-12-24",
997
- "files_affected": [
998
- "website/next.config.ts"
999
- ],
1000
- "source": "git_history",
1001
- "tier_progression": {
1002
- "methodology": "AI-ADDIE",
1003
- "starting_tier": "CHEAP",
1004
- "successful_tier": "CHEAP",
1005
- "total_attempts": 1,
1006
- "tier_history": [
1007
- {
1008
- "tier": "CHEAP",
1009
- "attempts": 1,
1010
- "success": {
1011
- "attempt": 1,
1012
- "quality_gates_passed": [
1013
- "tests",
1014
- "lint",
1015
- "types"
1016
- ]
1017
- }
1018
- }
1019
- ],
1020
- "cost_breakdown": {
1021
- "total_cost": 0.03,
1022
- "cost_if_always_premium": 0.45,
1023
- "savings_percent": 93.3
1024
- },
1025
- "quality_metrics": {
1026
- "tests_passed": true,
1027
- "health_score_before": 73,
1028
- "health_score_after": 73
1029
- },
1030
- "xml_protocol_compliance": {
1031
- "prompt_used_xml": true,
1032
- "response_used_xml": true,
1033
- "all_sections_present": true,
1034
- "test_evidence_provided": true,
1035
- "false_complete_avoided": true
1036
- }
1037
- }
1038
- },
1039
- {
1040
- "pattern_id": "bug_20251224_7832acb7",
1041
- "bug_type": "ui_issue",
1042
- "status": "resolved",
1043
- "root_cause": "fix: Add trailingSlash to fix CSS loading in framework-docs",
1044
- "fix": "See commit 7832acb7",
1045
- "resolved_by": "@geneai",
1046
- "resolved_at": "2025-12-24",
1047
- "files_affected": [
1048
- "website/next.config.ts"
1049
- ],
1050
- "source": "git_history",
1051
- "tier_progression": {
1052
- "methodology": "AI-ADDIE",
1053
- "starting_tier": "CHEAP",
1054
- "successful_tier": "CHEAP",
1055
- "total_attempts": 1,
1056
- "tier_history": [
1057
- {
1058
- "tier": "CHEAP",
1059
- "attempts": 1,
1060
- "success": {
1061
- "attempt": 1,
1062
- "quality_gates_passed": [
1063
- "tests",
1064
- "lint",
1065
- "types"
1066
- ]
1067
- }
1068
- }
1069
- ],
1070
- "cost_breakdown": {
1071
- "total_cost": 0.03,
1072
- "cost_if_always_premium": 0.45,
1073
- "savings_percent": 93.3
1074
- },
1075
- "quality_metrics": {
1076
- "tests_passed": true,
1077
- "health_score_before": 73,
1078
- "health_score_after": 73
1079
- },
1080
- "xml_protocol_compliance": {
1081
- "prompt_used_xml": true,
1082
- "response_used_xml": true,
1083
- "all_sections_present": true,
1084
- "test_evidence_provided": true,
1085
- "false_complete_avoided": true
1086
- }
1087
- }
1088
- },
1089
- {
1090
- "pattern_id": "bug_20251224_9cd1aaa1",
1091
- "bug_type": "ui_issue",
1092
- "status": "resolved",
1093
- "root_cause": "fix: Remove archived TSX files causing Next.js build failure",
1094
- "fix": "See commit 9cd1aaa1",
1095
- "resolved_by": "@geneai",
1096
- "resolved_at": "2025-12-24",
1097
- "files_affected": [
1098
- "site/404.html",
1099
- "site/AI_DEVELOPMENT_WIZARDS/index.html",
1100
- "site/ANTHROPIC_PARTNERSHIP_PROPOSAL/index.html"
1101
- ],
1102
- "source": "git_history",
1103
- "tier_progression": {
1104
- "methodology": "AI-ADDIE",
1105
- "starting_tier": "CHEAP",
1106
- "successful_tier": "CHEAP",
1107
- "total_attempts": 1,
1108
- "tier_history": [
1109
- {
1110
- "tier": "CHEAP",
1111
- "attempts": 1,
1112
- "success": {
1113
- "attempt": 1,
1114
- "quality_gates_passed": [
1115
- "tests",
1116
- "lint",
1117
- "types"
1118
- ]
1119
- }
1120
- }
1121
- ],
1122
- "cost_breakdown": {
1123
- "total_cost": 0.03,
1124
- "cost_if_always_premium": 0.45,
1125
- "savings_percent": 93.3
1126
- },
1127
- "quality_metrics": {
1128
- "tests_passed": true,
1129
- "health_score_before": 73,
1130
- "health_score_after": 73
1131
- },
1132
- "xml_protocol_compliance": {
1133
- "prompt_used_xml": true,
1134
- "response_used_xml": true,
1135
- "all_sections_present": true,
1136
- "test_evidence_provided": true,
1137
- "false_complete_avoided": true
1138
- }
1139
- }
1140
- },
1141
- {
1142
- "pattern_id": "bug_20251224_4f330ef2",
1143
- "bug_type": "unknown",
1144
- "status": "resolved",
1145
- "root_cause": "docs: Update framework-docs with Di\u00e1taxis structure and fix PyPI URLs (v3.2.3)",
1146
- "fix": "See commit 4f330ef2",
1147
- "resolved_by": "@geneai",
1148
- "resolved_at": "2025-12-24",
1149
- "files_affected": [
1150
- "CHANGELOG.md",
1151
- "pyproject.toml",
1152
- "website/public/framework-docs/404.html"
1153
- ],
1154
- "source": "git_history",
1155
- "tier_progression": {
1156
- "methodology": "AI-ADDIE",
1157
- "starting_tier": "CHEAP",
1158
- "successful_tier": "CHEAP",
1159
- "total_attempts": 1,
1160
- "tier_history": [
1161
- {
1162
- "tier": "CHEAP",
1163
- "attempts": 1,
1164
- "success": {
1165
- "attempt": 1,
1166
- "quality_gates_passed": [
1167
- "tests",
1168
- "lint",
1169
- "types"
1170
- ]
1171
- }
1172
- }
1173
- ],
1174
- "cost_breakdown": {
1175
- "total_cost": 0.03,
1176
- "cost_if_always_premium": 0.45,
1177
- "savings_percent": 93.3
1178
- },
1179
- "quality_metrics": {
1180
- "tests_passed": true,
1181
- "health_score_before": 73,
1182
- "health_score_after": 73
1183
- },
1184
- "xml_protocol_compliance": {
1185
- "prompt_used_xml": true,
1186
- "response_used_xml": true,
1187
- "all_sections_present": true,
1188
- "test_evidence_provided": true,
1189
- "false_complete_avoided": true
1190
- }
1191
- }
1192
- },
1193
- {
1194
- "pattern_id": "bug_20251228_0e046591",
1195
- "bug_type": "configuration",
1196
- "status": "resolved",
1197
- "root_cause": "feat: Release v3.3.3 - Reliability Improvements & Config Fixes",
1198
- "fix": "See commit 0e046591",
1199
- "resolved_by": "@geneai",
1200
- "resolved_at": "2025-12-28",
1201
- "files_affected": [
1202
- ".claude/CLAUDE.md",
1203
- "CHANGELOG.md",
1204
- "backend/api/wizard_api.py"
1205
- ],
1206
- "source": "git_history",
1207
- "tier_progression": {
1208
- "methodology": "AI-ADDIE",
1209
- "starting_tier": "CHEAP",
1210
- "successful_tier": "CHEAP",
1211
- "total_attempts": 1,
1212
- "tier_history": [
1213
- {
1214
- "tier": "CHEAP",
1215
- "attempts": 1,
1216
- "success": {
1217
- "attempt": 1,
1218
- "quality_gates_passed": [
1219
- "tests",
1220
- "lint",
1221
- "types"
1222
- ]
1223
- }
1224
- }
1225
- ],
1226
- "cost_breakdown": {
1227
- "total_cost": 0.03,
1228
- "cost_if_always_premium": 0.45,
1229
- "savings_percent": 93.3
1230
- },
1231
- "quality_metrics": {
1232
- "tests_passed": true,
1233
- "health_score_before": 73,
1234
- "health_score_after": 73
1235
- },
1236
- "xml_protocol_compliance": {
1237
- "prompt_used_xml": true,
1238
- "response_used_xml": true,
1239
- "all_sections_present": true,
1240
- "test_evidence_provided": true,
1241
- "false_complete_avoided": true
1242
- }
1243
- }
1244
- },
1245
- {
1246
- "pattern_id": "bug_20251227_7d7a4e7e",
1247
- "bug_type": "release_issue",
1248
- "status": "resolved",
1249
- "root_cause": "test: Add tests for bug_predict, secure_release, and code_review_pipeline (139 tests)",
1250
- "fix": "See commit 7d7a4e7e",
1251
- "resolved_by": "@geneai",
1252
- "resolved_at": "2025-12-27",
1253
- "files_affected": [
1254
- "tests/test_bug_predict_workflow.py",
1255
- "tests/test_code_review_pipeline_workflow.py",
1256
- "tests/test_secure_release_workflow.py"
1257
- ],
1258
- "source": "git_history",
1259
- "tier_progression": {
1260
- "methodology": "AI-ADDIE",
1261
- "starting_tier": "CAPABLE",
1262
- "successful_tier": "CAPABLE",
1263
- "total_attempts": 2,
1264
- "tier_history": [
1265
- {
1266
- "tier": "CAPABLE",
1267
- "attempts": 2,
1268
- "failures": [
1269
- {
1270
- "attempt": 1,
1271
- "quality_gate_failed": "lint"
1272
- }
1273
- ],
1274
- "success": {
1275
- "attempt": 2,
1276
- "quality_gates_passed": [
1277
- "tests",
1278
- "lint",
1279
- "types"
1280
- ]
1281
- }
1282
- }
1283
- ],
1284
- "cost_breakdown": {
1285
- "total_cost": 0.18,
1286
- "cost_if_always_premium": 0.9,
1287
- "savings_percent": 80.0
1288
- },
1289
- "quality_metrics": {
1290
- "tests_passed": true,
1291
- "health_score_before": 73,
1292
- "health_score_after": 73
1293
- },
1294
- "xml_protocol_compliance": {
1295
- "prompt_used_xml": true,
1296
- "response_used_xml": true,
1297
- "all_sections_present": true,
1298
- "test_evidence_provided": true,
1299
- "false_complete_avoided": true
1300
- }
1301
- }
1302
- },
1303
- {
1304
- "pattern_id": "bug_20251229_83fd3eb4",
1305
- "bug_type": "unknown",
1306
- "status": "resolved",
1307
- "root_cause": "fix: Add Windows-specific skipif decorators for CI reliability",
1308
- "fix": "See commit 83fd3eb4",
1309
- "resolved_by": "@geneai",
1310
- "resolved_at": "2025-12-29",
1311
- "files_affected": [
1312
- "tests/test_book_chapter_wizard.py",
1313
- "tests/test_book_production_agents.py",
1314
- "tests/test_config_loaders.py"
1315
- ],
1316
- "source": "git_history",
1317
- "tier_progression": {
1318
- "methodology": "AI-ADDIE",
1319
- "starting_tier": "CHEAP",
1320
- "successful_tier": "CHEAP",
1321
- "total_attempts": 1,
1322
- "tier_history": [
1323
- {
1324
- "tier": "CHEAP",
1325
- "attempts": 1,
1326
- "success": {
1327
- "attempt": 1,
1328
- "quality_gates_passed": [
1329
- "tests",
1330
- "lint",
1331
- "types"
1332
- ]
1333
- }
1334
- }
1335
- ],
1336
- "cost_breakdown": {
1337
- "total_cost": 0.03,
1338
- "cost_if_always_premium": 0.45,
1339
- "savings_percent": 93.3
1340
- },
1341
- "quality_metrics": {
1342
- "tests_passed": true,
1343
- "health_score_before": 73,
1344
- "health_score_after": 73
1345
- },
1346
- "xml_protocol_compliance": {
1347
- "prompt_used_xml": true,
1348
- "response_used_xml": true,
1349
- "all_sections_present": true,
1350
- "test_evidence_provided": true,
1351
- "false_complete_avoided": true
1352
- }
1353
- }
1354
- },
1355
- {
1356
- "pattern_id": "bug_20251229_f833ac09",
1357
- "bug_type": "unknown",
1358
- "status": "resolved",
1359
- "root_cause": "fix: Skip tests when dependencies unavailable in CI",
1360
- "fix": "See commit f833ac09",
1361
- "resolved_by": "@geneai",
1362
- "resolved_at": "2025-12-29",
1363
- "files_affected": [
1364
- "tests/test_intelligence_integration.py",
1365
- "tests/test_long_term.py",
1366
- "tests/test_redis_bootstrap.py"
1367
- ],
1368
- "source": "git_history",
1369
- "tier_progression": {
1370
- "methodology": "AI-ADDIE",
1371
- "starting_tier": "CHEAP",
1372
- "successful_tier": "CHEAP",
1373
- "total_attempts": 1,
1374
- "tier_history": [
1375
- {
1376
- "tier": "CHEAP",
1377
- "attempts": 1,
1378
- "success": {
1379
- "attempt": 1,
1380
- "quality_gates_passed": [
1381
- "tests",
1382
- "lint",
1383
- "types"
1384
- ]
1385
- }
1386
- }
1387
- ],
1388
- "cost_breakdown": {
1389
- "total_cost": 0.03,
1390
- "cost_if_always_premium": 0.45,
1391
- "savings_percent": 93.3
1392
- },
1393
- "quality_metrics": {
1394
- "tests_passed": true,
1395
- "health_score_before": 73,
1396
- "health_score_after": 73
1397
- },
1398
- "xml_protocol_compliance": {
1399
- "prompt_used_xml": true,
1400
- "response_used_xml": true,
1401
- "all_sections_present": true,
1402
- "test_evidence_provided": true,
1403
- "false_complete_avoided": true
1404
- }
1405
- }
1406
- },
1407
- {
1408
- "pattern_id": "bug_20251229_cb2563ab",
1409
- "bug_type": "unknown",
1410
- "status": "resolved",
1411
- "root_cause": "fix: Pre-commit YAML check and pattern regeneration",
1412
- "fix": "See commit cb2563ab",
1413
- "resolved_by": "@geneai",
1414
- "resolved_at": "2025-12-29",
1415
- "files_affected": [
1416
- ".pre-commit-config.yaml"
1417
- ],
1418
- "source": "git_history",
1419
- "tier_progression": {
1420
- "methodology": "AI-ADDIE",
1421
- "starting_tier": "CHEAP",
1422
- "successful_tier": "CHEAP",
1423
- "total_attempts": 1,
1424
- "tier_history": [
1425
- {
1426
- "tier": "CHEAP",
1427
- "attempts": 1,
1428
- "success": {
1429
- "attempt": 1,
1430
- "quality_gates_passed": [
1431
- "tests",
1432
- "lint",
1433
- "types"
1434
- ]
1435
- }
1436
- }
1437
- ],
1438
- "cost_breakdown": {
1439
- "total_cost": 0.03,
1440
- "cost_if_always_premium": 0.45,
1441
- "savings_percent": 93.3
1442
- },
1443
- "quality_metrics": {
1444
- "tests_passed": true,
1445
- "health_score_before": 73,
1446
- "health_score_after": 73
1447
- },
1448
- "xml_protocol_compliance": {
1449
- "prompt_used_xml": true,
1450
- "response_used_xml": true,
1451
- "all_sections_present": true,
1452
- "test_evidence_provided": true,
1453
- "false_complete_avoided": true
1454
- }
1455
- }
1456
- },
1457
- {
1458
- "pattern_id": "bug_20251229_dfeced89",
1459
- "bug_type": "unknown",
1460
- "status": "resolved",
1461
- "root_cause": "fix: Exclude profile_*.py from detect-secrets",
1462
- "fix": "See commit dfeced89",
1463
- "resolved_by": "@geneai",
1464
- "resolved_at": "2025-12-29",
1465
- "files_affected": [
1466
- ".pre-commit-config.yaml"
1467
- ],
1468
- "source": "git_history",
1469
- "tier_progression": {
1470
- "methodology": "AI-ADDIE",
1471
- "starting_tier": "CHEAP",
1472
- "successful_tier": "CHEAP",
1473
- "total_attempts": 1,
1474
- "tier_history": [
1475
- {
1476
- "tier": "CHEAP",
1477
- "attempts": 1,
1478
- "success": {
1479
- "attempt": 1,
1480
- "quality_gates_passed": [
1481
- "tests",
1482
- "lint",
1483
- "types"
1484
- ]
1485
- }
1486
- }
1487
- ],
1488
- "cost_breakdown": {
1489
- "total_cost": 0.03,
1490
- "cost_if_always_premium": 0.45,
1491
- "savings_percent": 93.3
1492
- },
1493
- "quality_metrics": {
1494
- "tests_passed": true,
1495
- "health_score_before": 73,
1496
- "health_score_after": 73
1497
- },
1498
- "xml_protocol_compliance": {
1499
- "prompt_used_xml": true,
1500
- "response_used_xml": true,
1501
- "all_sections_present": true,
1502
- "test_evidence_provided": true,
1503
- "false_complete_avoided": true
1504
- }
1505
- }
1506
- },
1507
- {
1508
- "pattern_id": "bug_20251229_4a0a4c6e",
1509
- "bug_type": "unknown",
1510
- "status": "resolved",
1511
- "root_cause": "fix: Exclude all source directories from detect-secrets",
1512
- "fix": "See commit 4a0a4c6e",
1513
- "resolved_by": "@geneai",
1514
- "resolved_at": "2025-12-29",
1515
- "files_affected": [
1516
- ".pre-commit-config.yaml"
1517
- ],
1518
- "source": "git_history",
1519
- "tier_progression": {
1520
- "methodology": "AI-ADDIE",
1521
- "starting_tier": "CHEAP",
1522
- "successful_tier": "CHEAP",
1523
- "total_attempts": 1,
1524
- "tier_history": [
1525
- {
1526
- "tier": "CHEAP",
1527
- "attempts": 1,
1528
- "success": {
1529
- "attempt": 1,
1530
- "quality_gates_passed": [
1531
- "tests",
1532
- "lint",
1533
- "types"
1534
- ]
1535
- }
1536
- }
1537
- ],
1538
- "cost_breakdown": {
1539
- "total_cost": 0.03,
1540
- "cost_if_always_premium": 0.45,
1541
- "savings_percent": 93.3
1542
- },
1543
- "quality_metrics": {
1544
- "tests_passed": true,
1545
- "health_score_before": 73,
1546
- "health_score_after": 73
1547
- },
1548
- "xml_protocol_compliance": {
1549
- "prompt_used_xml": true,
1550
- "response_used_xml": true,
1551
- "all_sections_present": true,
1552
- "test_evidence_provided": true,
1553
- "false_complete_avoided": true
1554
- }
1555
- }
1556
- },
1557
- {
1558
- "pattern_id": "bug_20251229_ea47a8b1",
1559
- "bug_type": "unknown",
1560
- "status": "resolved",
1561
- "root_cause": "fix: Exclude audit files from detect-secrets",
1562
- "fix": "See commit ea47a8b1",
1563
- "resolved_by": "@geneai",
1564
- "resolved_at": "2025-12-29",
1565
- "files_affected": [
1566
- ".pre-commit-config.yaml"
1567
- ],
1568
- "source": "git_history",
1569
- "tier_progression": {
1570
- "methodology": "AI-ADDIE",
1571
- "starting_tier": "CHEAP",
1572
- "successful_tier": "CHEAP",
1573
- "total_attempts": 1,
1574
- "tier_history": [
1575
- {
1576
- "tier": "CHEAP",
1577
- "attempts": 1,
1578
- "success": {
1579
- "attempt": 1,
1580
- "quality_gates_passed": [
1581
- "tests",
1582
- "lint",
1583
- "types"
1584
- ]
1585
- }
1586
- }
1587
- ],
1588
- "cost_breakdown": {
1589
- "total_cost": 0.03,
1590
- "cost_if_always_premium": 0.45,
1591
- "savings_percent": 93.3
1592
- },
1593
- "quality_metrics": {
1594
- "tests_passed": true,
1595
- "health_score_before": 73,
1596
- "health_score_after": 73
1597
- },
1598
- "xml_protocol_compliance": {
1599
- "prompt_used_xml": true,
1600
- "response_used_xml": true,
1601
- "all_sections_present": true,
1602
- "test_evidence_provided": true,
1603
- "false_complete_avoided": true
1604
- }
1605
- }
1606
- },
1607
- {
1608
- "pattern_id": "bug_20251229_5177fccd",
1609
- "bug_type": "unknown",
1610
- "status": "resolved",
1611
- "root_cause": "fix: Exclude website/ from detect-secrets",
1612
- "fix": "See commit 5177fccd",
1613
- "resolved_by": "@geneai",
1614
- "resolved_at": "2025-12-29",
1615
- "files_affected": [
1616
- ".pre-commit-config.yaml"
1617
- ],
1618
- "source": "git_history",
1619
- "tier_progression": {
1620
- "methodology": "AI-ADDIE",
1621
- "starting_tier": "CHEAP",
1622
- "successful_tier": "CHEAP",
1623
- "total_attempts": 1,
1624
- "tier_history": [
1625
- {
1626
- "tier": "CHEAP",
1627
- "attempts": 1,
1628
- "success": {
1629
- "attempt": 1,
1630
- "quality_gates_passed": [
1631
- "tests",
1632
- "lint",
1633
- "types"
1634
- ]
1635
- }
1636
- }
1637
- ],
1638
- "cost_breakdown": {
1639
- "total_cost": 0.03,
1640
- "cost_if_always_premium": 0.45,
1641
- "savings_percent": 93.3
1642
- },
1643
- "quality_metrics": {
1644
- "tests_passed": true,
1645
- "health_score_before": 73,
1646
- "health_score_after": 73
1647
- },
1648
- "xml_protocol_compliance": {
1649
- "prompt_used_xml": true,
1650
- "response_used_xml": true,
1651
- "all_sections_present": true,
1652
- "test_evidence_provided": true,
1653
- "false_complete_avoided": true
1654
- }
1655
- }
1656
- },
1657
- {
1658
- "pattern_id": "bug_20251229_bfcb827f",
1659
- "bug_type": "unknown",
1660
- "status": "resolved",
1661
- "root_cause": "fix: Extend detect-secrets exclusions for remaining files",
1662
- "fix": "See commit bfcb827f",
1663
- "resolved_by": "@geneai",
1664
- "resolved_at": "2025-12-29",
1665
- "files_affected": [
1666
- ".pre-commit-config.yaml"
1667
- ],
1668
- "source": "git_history",
1669
- "tier_progression": {
1670
- "methodology": "AI-ADDIE",
1671
- "starting_tier": "CHEAP",
1672
- "successful_tier": "CHEAP",
1673
- "total_attempts": 1,
1674
- "tier_history": [
1675
- {
1676
- "tier": "CHEAP",
1677
- "attempts": 1,
1678
- "success": {
1679
- "attempt": 1,
1680
- "quality_gates_passed": [
1681
- "tests",
1682
- "lint",
1683
- "types"
1684
- ]
1685
- }
1686
- }
1687
- ],
1688
- "cost_breakdown": {
1689
- "total_cost": 0.03,
1690
- "cost_if_always_premium": 0.45,
1691
- "savings_percent": 93.3
1692
- },
1693
- "quality_metrics": {
1694
- "tests_passed": true,
1695
- "health_score_before": 73,
1696
- "health_score_after": 73
1697
- },
1698
- "xml_protocol_compliance": {
1699
- "prompt_used_xml": true,
1700
- "response_used_xml": true,
1701
- "all_sections_present": true,
1702
- "test_evidence_provided": true,
1703
- "false_complete_avoided": true
1704
- }
1705
- }
1706
- },
1707
- {
1708
- "pattern_id": "bug_20251229_a46a32dd",
1709
- "bug_type": "import_error",
1710
- "status": "resolved",
1711
- "root_cause": "fix: Exclude .md files and security module from detect-secrets",
1712
- "fix": "See commit a46a32dd",
1713
- "resolved_by": "@geneai",
1714
- "resolved_at": "2025-12-29",
1715
- "files_affected": [
1716
- ".pre-commit-config.yaml"
1717
- ],
1718
- "source": "git_history",
1719
- "tier_progression": {
1720
- "methodology": "AI-ADDIE",
1721
- "starting_tier": "CHEAP",
1722
- "successful_tier": "CHEAP",
1723
- "total_attempts": 1,
1724
- "tier_history": [
1725
- {
1726
- "tier": "CHEAP",
1727
- "attempts": 1,
1728
- "success": {
1729
- "attempt": 1,
1730
- "quality_gates_passed": [
1731
- "tests",
1732
- "lint",
1733
- "types"
1734
- ]
1735
- }
1736
- }
1737
- ],
1738
- "cost_breakdown": {
1739
- "total_cost": 0.03,
1740
- "cost_if_always_premium": 0.45,
1741
- "savings_percent": 93.3
1742
- },
1743
- "quality_metrics": {
1744
- "tests_passed": true,
1745
- "health_score_before": 73,
1746
- "health_score_after": 73
1747
- },
1748
- "xml_protocol_compliance": {
1749
- "prompt_used_xml": true,
1750
- "response_used_xml": true,
1751
- "all_sections_present": true,
1752
- "test_evidence_provided": true,
1753
- "false_complete_avoided": true
1754
- }
1755
- }
1756
- },
1757
- {
1758
- "pattern_id": "bug_20251229_dee59163",
1759
- "bug_type": "unknown",
1760
- "status": "resolved",
1761
- "root_cause": "fix: Exclude docs/ and examples/ from detect-secrets",
1762
- "fix": "See commit dee59163",
1763
- "resolved_by": "@geneai",
1764
- "resolved_at": "2025-12-29",
1765
- "files_affected": [
1766
- ".pre-commit-config.yaml"
1767
- ],
1768
- "source": "git_history",
1769
- "tier_progression": {
1770
- "methodology": "AI-ADDIE",
1771
- "starting_tier": "CHEAP",
1772
- "successful_tier": "CHEAP",
1773
- "total_attempts": 1,
1774
- "tier_history": [
1775
- {
1776
- "tier": "CHEAP",
1777
- "attempts": 1,
1778
- "success": {
1779
- "attempt": 1,
1780
- "quality_gates_passed": [
1781
- "tests",
1782
- "lint",
1783
- "types"
1784
- ]
1785
- }
1786
- }
1787
- ],
1788
- "cost_breakdown": {
1789
- "total_cost": 0.03,
1790
- "cost_if_always_premium": 0.45,
1791
- "savings_percent": 93.3
1792
- },
1793
- "quality_metrics": {
1794
- "tests_passed": true,
1795
- "health_score_before": 73,
1796
- "health_score_after": 73
1797
- },
1798
- "xml_protocol_compliance": {
1799
- "prompt_used_xml": true,
1800
- "response_used_xml": true,
1801
- "all_sections_present": true,
1802
- "test_evidence_provided": true,
1803
- "false_complete_avoided": true
1804
- }
1805
- }
1806
- },
1807
- {
1808
- "pattern_id": "bug_20251229_c6858e6d",
1809
- "bug_type": "unknown",
1810
- "status": "resolved",
1811
- "root_cause": "fix: Exclude demo_security_complete.py from detect-secrets",
1812
- "fix": "See commit c6858e6d",
1813
- "resolved_by": "@geneai",
1814
- "resolved_at": "2025-12-29",
1815
- "files_affected": [
1816
- ".pre-commit-config.yaml"
1817
- ],
1818
- "source": "git_history",
1819
- "tier_progression": {
1820
- "methodology": "AI-ADDIE",
1821
- "starting_tier": "CHEAP",
1822
- "successful_tier": "CHEAP",
1823
- "total_attempts": 1,
1824
- "tier_history": [
1825
- {
1826
- "tier": "CHEAP",
1827
- "attempts": 1,
1828
- "success": {
1829
- "attempt": 1,
1830
- "quality_gates_passed": [
1831
- "tests",
1832
- "lint",
1833
- "types"
1834
- ]
1835
- }
1836
- }
1837
- ],
1838
- "cost_breakdown": {
1839
- "total_cost": 0.03,
1840
- "cost_if_always_premium": 0.45,
1841
- "savings_percent": 93.3
1842
- },
1843
- "quality_metrics": {
1844
- "tests_passed": true,
1845
- "health_score_before": 73,
1846
- "health_score_after": 73
1847
- },
1848
- "xml_protocol_compliance": {
1849
- "prompt_used_xml": true,
1850
- "response_used_xml": true,
1851
- "all_sections_present": true,
1852
- "test_evidence_provided": true,
1853
- "false_complete_avoided": true
1854
- }
1855
- }
1856
- },
1857
- {
1858
- "pattern_id": "bug_GeneAI_a9e9ad7a",
1859
- "bug_type": "unknown",
1860
- "status": "resolved",
1861
- "root_cause": "fix: Use X ",
1862
- "fix": "See commit a9e9ad7a",
1863
- "resolved_by": "@y",
1864
- "resolved_at": "GeneAI",
1865
- "files_affected": [
1866
- "src/empathy_os/workflows/test_gen.py"
1867
- ],
1868
- "source": "git_history",
1869
- "tier_progression": {
1870
- "methodology": "AI-ADDIE",
1871
- "starting_tier": "CHEAP",
1872
- "successful_tier": "CHEAP",
1873
- "total_attempts": 1,
1874
- "tier_history": [
1875
- {
1876
- "tier": "CHEAP",
1877
- "attempts": 1,
1878
- "success": {
1879
- "attempt": 1,
1880
- "quality_gates_passed": [
1881
- "tests",
1882
- "lint",
1883
- "types"
1884
- ]
1885
- }
1886
- }
1887
- ],
1888
- "cost_breakdown": {
1889
- "total_cost": 0.03,
1890
- "cost_if_always_premium": 0.45,
1891
- "savings_percent": 93.3
1892
- },
1893
- "quality_metrics": {
1894
- "tests_passed": true,
1895
- "health_score_before": 73,
1896
- "health_score_after": 73
1897
- },
1898
- "xml_protocol_compliance": {
1899
- "prompt_used_xml": true,
1900
- "response_used_xml": true,
1901
- "all_sections_present": true,
1902
- "test_evidence_provided": true,
1903
- "false_complete_avoided": true
1904
- }
1905
- }
1906
- },
1907
- {
1908
- "pattern_id": "bug_GeneAI_3c1d5e65",
1909
- "bug_type": "unknown",
1910
- "status": "resolved",
1911
- "root_cause": "fix: Use X ",
1912
- "fix": "See commit 3c1d5e65",
1913
- "resolved_by": "@y",
1914
- "resolved_at": "GeneAI",
1915
- "files_affected": [
1916
- "src/empathy_os/memory/short_term.py",
1917
- "src/empathy_os/project_index/scanner.py"
1918
- ],
1919
- "source": "git_history",
1920
- "tier_progression": {
1921
- "methodology": "AI-ADDIE",
1922
- "starting_tier": "CHEAP",
1923
- "successful_tier": "CHEAP",
1924
- "total_attempts": 1,
1925
- "tier_history": [
1926
- {
1927
- "tier": "CHEAP",
1928
- "attempts": 1,
1929
- "success": {
1930
- "attempt": 1,
1931
- "quality_gates_passed": [
1932
- "tests",
1933
- "lint",
1934
- "types"
1935
- ]
1936
- }
1937
- }
1938
- ],
1939
- "cost_breakdown": {
1940
- "total_cost": 0.03,
1941
- "cost_if_always_premium": 0.45,
1942
- "savings_percent": 93.3
1943
- },
1944
- "quality_metrics": {
1945
- "tests_passed": true,
1946
- "health_score_before": 73,
1947
- "health_score_after": 73
1948
- },
1949
- "xml_protocol_compliance": {
1950
- "prompt_used_xml": true,
1951
- "response_used_xml": true,
1952
- "all_sections_present": true,
1953
- "test_evidence_provided": true,
1954
- "false_complete_avoided": true
1955
- }
1956
- }
1957
- },
1958
- {
1959
- "pattern_id": "bug_20251229_b5c5b7bd",
1960
- "bug_type": "import_error",
1961
- "status": "resolved",
1962
- "root_cause": "fix: Resolve CI lint and import errors",
1963
- "fix": "See commit b5c5b7bd",
1964
- "resolved_by": "@geneai",
1965
- "resolved_at": "2025-12-29",
1966
- "files_affected": [
1967
- "tests/test_registry.py",
1968
- "tests/test_sbar_wizard.py",
1969
- "tests/test_tech_debt_wizard.py"
1970
- ],
1971
- "source": "git_history",
1972
- "tier_progression": {
1973
- "methodology": "AI-ADDIE",
1974
- "starting_tier": "CHEAP",
1975
- "successful_tier": "CHEAP",
1976
- "total_attempts": 1,
1977
- "tier_history": [
1978
- {
1979
- "tier": "CHEAP",
1980
- "attempts": 1,
1981
- "success": {
1982
- "attempt": 1,
1983
- "quality_gates_passed": [
1984
- "tests",
1985
- "lint",
1986
- "types"
1987
- ]
1988
- }
1989
- }
1990
- ],
1991
- "cost_breakdown": {
1992
- "total_cost": 0.03,
1993
- "cost_if_always_premium": 0.45,
1994
- "savings_percent": 93.3
1995
- },
1996
- "quality_metrics": {
1997
- "tests_passed": true,
1998
- "health_score_before": 73,
1999
- "health_score_after": 73
2000
- },
2001
- "xml_protocol_compliance": {
2002
- "prompt_used_xml": true,
2003
- "response_used_xml": true,
2004
- "all_sections_present": true,
2005
- "test_evidence_provided": true,
2006
- "false_complete_avoided": true
2007
- }
2008
- }
2009
- },
2010
- {
2011
- "pattern_id": "bug_20251229_e44c6c14",
2012
- "bug_type": "unknown",
2013
- "status": "resolved",
2014
- "root_cause": "fix: Improve CI test reliability and fix coverage threshold",
2015
- "fix": "See commit e44c6c14",
2016
- "resolved_by": "@geneai",
2017
- "resolved_at": "2025-12-29",
2018
- "files_affected": [
2019
- ".github/workflows/tests.yml",
2020
- "pyproject.toml",
2021
- "pytest.ini"
2022
- ],
2023
- "source": "git_history",
2024
- "tier_progression": {
2025
- "methodology": "AI-ADDIE",
2026
- "starting_tier": "CHEAP",
2027
- "successful_tier": "CHEAP",
2028
- "total_attempts": 1,
2029
- "tier_history": [
2030
- {
2031
- "tier": "CHEAP",
2032
- "attempts": 1,
2033
- "success": {
2034
- "attempt": 1,
2035
- "quality_gates_passed": [
2036
- "tests",
2037
- "lint",
2038
- "types"
2039
- ]
2040
- }
2041
- }
2042
- ],
2043
- "cost_breakdown": {
2044
- "total_cost": 0.03,
2045
- "cost_if_always_premium": 0.45,
2046
- "savings_percent": 93.3
2047
- },
2048
- "quality_metrics": {
2049
- "tests_passed": true,
2050
- "health_score_before": 73,
2051
- "health_score_after": 73
2052
- },
2053
- "xml_protocol_compliance": {
2054
- "prompt_used_xml": true,
2055
- "response_used_xml": true,
2056
- "all_sections_present": true,
2057
- "test_evidence_provided": true,
2058
- "false_complete_avoided": true
2059
- }
2060
- }
2061
- },
2062
- {
2063
- "pattern_id": "bug_20251231_a5d697eb",
2064
- "bug_type": "ui_issue",
2065
- "status": "resolved",
2066
- "root_cause": "style: Auto-fix formatting with ruff/black (19 files)",
2067
- "fix": "See commit a5d697eb",
2068
- "resolved_by": "@geneai",
2069
- "resolved_at": "2025-12-31",
2070
- "files_affected": [
2071
- ".claude/CLAUDE.md",
2072
- "patterns/debugging/bug_20251231_02d986b6.json",
2073
- "patterns/debugging/bug_20251231_29c10759.json"
2074
- ],
2075
- "source": "git_history",
2076
- "tier_progression": {
2077
- "methodology": "AI-ADDIE",
2078
- "starting_tier": "CHEAP",
2079
- "successful_tier": "CHEAP",
2080
- "total_attempts": 1,
2081
- "tier_history": [
2082
- {
2083
- "tier": "CHEAP",
2084
- "attempts": 1,
2085
- "success": {
2086
- "attempt": 1,
2087
- "quality_gates_passed": [
2088
- "tests",
2089
- "lint",
2090
- "types"
2091
- ]
2092
- }
2093
- }
2094
- ],
2095
- "cost_breakdown": {
2096
- "total_cost": 0.03,
2097
- "cost_if_always_premium": 0.45,
2098
- "savings_percent": 93.3
2099
- },
2100
- "quality_metrics": {
2101
- "tests_passed": true,
2102
- "health_score_before": 73,
2103
- "health_score_after": 73
2104
- },
2105
- "xml_protocol_compliance": {
2106
- "prompt_used_xml": true,
2107
- "response_used_xml": true,
2108
- "all_sections_present": true,
2109
- "test_evidence_provided": true,
2110
- "false_complete_avoided": true
2111
- }
2112
- }
2113
- },
2114
- {
2115
- "pattern_id": "bug_20251231_d0b81efc",
2116
- "bug_type": "unknown",
2117
- "status": "resolved",
2118
- "root_cause": "feat: Bug scanner tuning, VSCode cleanup, and PR review fix",
2119
- "fix": "See commit d0b81efc",
2120
- "resolved_by": "@geneai",
2121
- "resolved_at": "2025-12-31",
2122
- "files_affected": [
2123
- ".claude/CLAUDE.md",
2124
- ".claude/python-standards.md",
2125
- ".claude/rules/empathy/debugging.md"
2126
- ],
2127
- "source": "git_history",
2128
- "tier_progression": {
2129
- "methodology": "AI-ADDIE",
2130
- "starting_tier": "CAPABLE",
2131
- "successful_tier": "CAPABLE",
2132
- "total_attempts": 1,
2133
- "tier_history": [
2134
- {
2135
- "tier": "CAPABLE",
2136
- "attempts": 1,
2137
- "success": {
2138
- "attempt": 1,
2139
- "quality_gates_passed": [
2140
- "tests",
2141
- "lint",
2142
- "types"
2143
- ]
2144
- }
2145
- }
2146
- ],
2147
- "cost_breakdown": {
2148
- "total_cost": 0.09,
2149
- "cost_if_always_premium": 0.45,
2150
- "savings_percent": 80.0
2151
- },
2152
- "quality_metrics": {
2153
- "tests_passed": true,
2154
- "health_score_before": 73,
2155
- "health_score_after": 73
2156
- },
2157
- "xml_protocol_compliance": {
2158
- "prompt_used_xml": true,
2159
- "response_used_xml": true,
2160
- "all_sections_present": true,
2161
- "test_evidence_provided": true,
2162
- "false_complete_avoided": true
2163
- }
2164
- }
2165
- },
2166
- {
2167
- "pattern_id": "bug_20251230_657f4e5c",
2168
- "bug_type": "unknown",
2169
- "status": "resolved",
2170
- "root_cause": "fix(bug-predict): Reduce false positives in dangerous_eval detection",
2171
- "fix": "See commit 657f4e5c",
2172
- "resolved_by": "@geneai",
2173
- "resolved_at": "2025-12-30",
2174
- "files_affected": [
2175
- "src/empathy_os/workflows/bug_predict.py"
2176
- ],
2177
- "source": "git_history",
2178
- "tier_progression": {
2179
- "methodology": "AI-ADDIE",
2180
- "starting_tier": "CHEAP",
2181
- "successful_tier": "CHEAP",
2182
- "total_attempts": 1,
2183
- "tier_history": [
2184
- {
2185
- "tier": "CHEAP",
2186
- "attempts": 1,
2187
- "success": {
2188
- "attempt": 1,
2189
- "quality_gates_passed": [
2190
- "tests",
2191
- "lint",
2192
- "types"
2193
- ]
2194
- }
2195
- }
2196
- ],
2197
- "cost_breakdown": {
2198
- "total_cost": 0.03,
2199
- "cost_if_always_premium": 0.45,
2200
- "savings_percent": 93.3
2201
- },
2202
- "quality_metrics": {
2203
- "tests_passed": true,
2204
- "health_score_before": 73,
2205
- "health_score_after": 73
2206
- },
2207
- "xml_protocol_compliance": {
2208
- "prompt_used_xml": true,
2209
- "response_used_xml": true,
2210
- "all_sections_present": true,
2211
- "test_evidence_provided": true,
2212
- "false_complete_avoided": true
2213
- }
2214
- }
2215
- },
2216
- {
2217
- "pattern_id": "bug_20251231_e53e94a3",
2218
- "bug_type": "type_mismatch",
2219
- "status": "resolved",
2220
- "root_cause": "fix: Add type annotation to scan_summary in test_gen.py",
2221
- "fix": "See commit e53e94a3",
2222
- "resolved_by": "@geneai",
2223
- "resolved_at": "2025-12-31",
2224
- "files_affected": [
2225
- "src/empathy_os/workflows/test_gen.py"
2226
- ],
2227
- "source": "git_history",
2228
- "tier_progression": {
2229
- "methodology": "AI-ADDIE",
2230
- "starting_tier": "CHEAP",
2231
- "successful_tier": "CHEAP",
2232
- "total_attempts": 1,
2233
- "tier_history": [
2234
- {
2235
- "tier": "CHEAP",
2236
- "attempts": 1,
2237
- "success": {
2238
- "attempt": 1,
2239
- "quality_gates_passed": [
2240
- "tests",
2241
- "lint",
2242
- "types"
2243
- ]
2244
- }
2245
- }
2246
- ],
2247
- "cost_breakdown": {
2248
- "total_cost": 0.03,
2249
- "cost_if_always_premium": 0.45,
2250
- "savings_percent": 93.3
2251
- },
2252
- "quality_metrics": {
2253
- "tests_passed": true,
2254
- "health_score_before": 73,
2255
- "health_score_after": 73
2256
- },
2257
- "xml_protocol_compliance": {
2258
- "prompt_used_xml": true,
2259
- "response_used_xml": true,
2260
- "all_sections_present": true,
2261
- "test_evidence_provided": true,
2262
- "false_complete_avoided": true
2263
- }
2264
- }
2265
- },
2266
- {
2267
- "pattern_id": "bug_20251231_3af62faf",
2268
- "bug_type": "unknown",
2269
- "status": "resolved",
2270
- "root_cause": "fix(vscode): Show notification feedback for sync-claude command",
2271
- "fix": "See commit 3af62faf",
2272
- "resolved_by": "@geneai",
2273
- "resolved_at": "2025-12-31",
2274
- "files_affected": [
2275
- ".claude/rules/empathy/debugging.md",
2276
- "patterns/debugging.json",
2277
- "vscode-extension/src/extension.ts"
2278
- ],
2279
- "source": "git_history",
2280
- "tier_progression": {
2281
- "methodology": "AI-ADDIE",
2282
- "starting_tier": "CHEAP",
2283
- "successful_tier": "CHEAP",
2284
- "total_attempts": 1,
2285
- "tier_history": [
2286
- {
2287
- "tier": "CHEAP",
2288
- "attempts": 1,
2289
- "success": {
2290
- "attempt": 1,
2291
- "quality_gates_passed": [
2292
- "tests",
2293
- "lint",
2294
- "types"
2295
- ]
2296
- }
2297
- }
2298
- ],
2299
- "cost_breakdown": {
2300
- "total_cost": 0.03,
2301
- "cost_if_always_premium": 0.45,
2302
- "savings_percent": 93.3
2303
- },
2304
- "quality_metrics": {
2305
- "tests_passed": true,
2306
- "health_score_before": 73,
2307
- "health_score_after": 73
2308
- },
2309
- "xml_protocol_compliance": {
2310
- "prompt_used_xml": true,
2311
- "response_used_xml": true,
2312
- "all_sections_present": true,
2313
- "test_evidence_provided": true,
2314
- "false_complete_avoided": true
2315
- }
2316
- }
2317
- },
2318
- {
2319
- "pattern_id": "bug_20260106_80120c05",
2320
- "bug_type": "release_issue",
2321
- "status": "resolved",
2322
- "root_cause": "fix: Release Prep and Secure Release buttons now open reports in editor",
2323
- "fix": "See commit 80120c05",
2324
- "resolved_by": "@geneai",
2325
- "resolved_at": "2026-01-06",
2326
- "files_affected": [
2327
- "vscode-extension/src/panels/EmpathyDashboardPanel.ts"
2328
- ],
2329
- "source": "git_history",
2330
- "tier_progression": {
2331
- "methodology": "AI-ADDIE",
2332
- "starting_tier": "CAPABLE",
2333
- "successful_tier": "CAPABLE",
2334
- "total_attempts": 2,
2335
- "tier_history": [
2336
- {
2337
- "tier": "CAPABLE",
2338
- "attempts": 2,
2339
- "failures": [
2340
- {
2341
- "attempt": 1,
2342
- "quality_gate_failed": "lint"
2343
- }
2344
- ],
2345
- "success": {
2346
- "attempt": 2,
2347
- "quality_gates_passed": [
2348
- "tests",
2349
- "lint",
2350
- "types"
2351
- ]
2352
- }
2353
- }
2354
- ],
2355
- "cost_breakdown": {
2356
- "total_cost": 0.18,
2357
- "cost_if_always_premium": 0.9,
2358
- "savings_percent": 80.0
2359
- },
2360
- "quality_metrics": {
2361
- "tests_passed": true,
2362
- "health_score_before": 73,
2363
- "health_score_after": 73
2364
- },
2365
- "xml_protocol_compliance": {
2366
- "prompt_used_xml": true,
2367
- "response_used_xml": true,
2368
- "all_sections_present": true,
2369
- "test_evidence_provided": true,
2370
- "false_complete_avoided": true
2371
- }
2372
- }
2373
- },
2374
- {
2375
- "pattern_id": "bug_20260106_5cab2623",
2376
- "bug_type": "unknown",
2377
- "status": "resolved",
2378
- "root_cause": "fix: Check Deps button now opens report in editor",
2379
- "fix": "See commit 5cab2623",
2380
- "resolved_by": "@geneai",
2381
- "resolved_at": "2026-01-06",
2382
- "files_affected": [
2383
- "vscode-extension/src/panels/EmpathyDashboardPanel.ts"
2384
- ],
2385
- "source": "git_history",
2386
- "tier_progression": {
2387
- "methodology": "AI-ADDIE",
2388
- "starting_tier": "CHEAP",
2389
- "successful_tier": "CHEAP",
2390
- "total_attempts": 1,
2391
- "tier_history": [
2392
- {
2393
- "tier": "CHEAP",
2394
- "attempts": 1,
2395
- "success": {
2396
- "attempt": 1,
2397
- "quality_gates_passed": [
2398
- "tests",
2399
- "lint",
2400
- "types"
2401
- ]
2402
- }
2403
- }
2404
- ],
2405
- "cost_breakdown": {
2406
- "total_cost": 0.03,
2407
- "cost_if_always_premium": 0.45,
2408
- "savings_percent": 93.3
2409
- },
2410
- "quality_metrics": {
2411
- "tests_passed": true,
2412
- "health_score_before": 73,
2413
- "health_score_after": 73
2414
- },
2415
- "xml_protocol_compliance": {
2416
- "prompt_used_xml": true,
2417
- "response_used_xml": true,
2418
- "all_sections_present": true,
2419
- "test_evidence_provided": true,
2420
- "false_complete_avoided": true
2421
- }
2422
- }
2423
- },
2424
- {
2425
- "pattern_id": "bug_20260106_893e2300",
2426
- "bug_type": "import_error",
2427
- "status": "resolved",
2428
- "root_cause": "fix: Add missing logger imports in base.py and security_audit.py",
2429
- "fix": "See commit 893e2300",
2430
- "resolved_by": "@geneai",
2431
- "resolved_at": "2026-01-06",
2432
- "files_affected": [
2433
- "src/empathy_os/workflows/base.py",
2434
- "src/empathy_os/workflows/security_audit.py",
2435
- ".../src/panels/EmpathyDashboardPanel.ts"
2436
- ],
2437
- "source": "git_history",
2438
- "tier_progression": {
2439
- "methodology": "AI-ADDIE",
2440
- "starting_tier": "CHEAP",
2441
- "successful_tier": "CHEAP",
2442
- "total_attempts": 1,
2443
- "tier_history": [
2444
- {
2445
- "tier": "CHEAP",
2446
- "attempts": 1,
2447
- "success": {
2448
- "attempt": 1,
2449
- "quality_gates_passed": [
2450
- "tests",
2451
- "lint",
2452
- "types"
2453
- ]
2454
- }
2455
- }
2456
- ],
2457
- "cost_breakdown": {
2458
- "total_cost": 0.03,
2459
- "cost_if_always_premium": 0.45,
2460
- "savings_percent": 93.3
2461
- },
2462
- "quality_metrics": {
2463
- "tests_passed": true,
2464
- "health_score_before": 73,
2465
- "health_score_after": 73
2466
- },
2467
- "xml_protocol_compliance": {
2468
- "prompt_used_xml": true,
2469
- "response_used_xml": true,
2470
- "all_sections_present": true,
2471
- "test_evidence_provided": true,
2472
- "false_complete_avoided": true
2473
- }
2474
- }
2475
- },
2476
- {
2477
- "pattern_id": "bug_20260106_0f2acbf3",
2478
- "bug_type": "configuration",
2479
- "status": "resolved",
2480
- "root_cause": "fix: Remove Sync Docs button (manage-docs workflow)",
2481
- "fix": "See commit 0f2acbf3",
2482
- "resolved_by": "@geneai",
2483
- "resolved_at": "2026-01-06",
2484
- "files_affected": [
2485
- "vscode-extension/src/panels/EmpathyDashboardPanel.ts"
2486
- ],
2487
- "source": "git_history",
2488
- "tier_progression": {
2489
- "methodology": "AI-ADDIE",
2490
- "starting_tier": "CAPABLE",
2491
- "successful_tier": "CAPABLE",
2492
- "total_attempts": 2,
2493
- "tier_history": [
2494
- {
2495
- "tier": "CAPABLE",
2496
- "attempts": 2,
2497
- "failures": [
2498
- {
2499
- "attempt": 1,
2500
- "quality_gate_failed": "lint"
2501
- }
2502
- ],
2503
- "success": {
2504
- "attempt": 2,
2505
- "quality_gates_passed": [
2506
- "tests",
2507
- "lint",
2508
- "types"
2509
- ]
2510
- }
2511
- }
2512
- ],
2513
- "cost_breakdown": {
2514
- "total_cost": 0.18,
2515
- "cost_if_always_premium": 0.9,
2516
- "savings_percent": 80.0
2517
- },
2518
- "quality_metrics": {
2519
- "tests_passed": true,
2520
- "health_score_before": 73,
2521
- "health_score_after": 73
2522
- },
2523
- "xml_protocol_compliance": {
2524
- "prompt_used_xml": true,
2525
- "response_used_xml": true,
2526
- "all_sections_present": true,
2527
- "test_evidence_provided": true,
2528
- "false_complete_avoided": true
2529
- }
2530
- }
2531
- },
2532
- {
2533
- "pattern_id": "bug_20260106_8075c60f",
2534
- "bug_type": "release_issue",
2535
- "status": "resolved",
2536
- "root_cause": "release: Prepare v3.7.0 - XML-Enhanced Prompts & Dependency Fixes",
2537
- "fix": "See commit 8075c60f",
2538
- "resolved_by": "@geneai",
2539
- "resolved_at": "2026-01-06",
2540
- "files_affected": [
2541
- ".claude/CLAUDE.md",
2542
- ".pre-commit-config.yaml",
2543
- "CHANGELOG.md"
2544
- ],
2545
- "source": "git_history",
2546
- "tier_progression": {
2547
- "methodology": "AI-ADDIE",
2548
- "starting_tier": "CAPABLE",
2549
- "successful_tier": "CAPABLE",
2550
- "total_attempts": 2,
2551
- "tier_history": [
2552
- {
2553
- "tier": "CAPABLE",
2554
- "attempts": 2,
2555
- "failures": [
2556
- {
2557
- "attempt": 1,
2558
- "quality_gate_failed": "lint"
2559
- }
2560
- ],
2561
- "success": {
2562
- "attempt": 2,
2563
- "quality_gates_passed": [
2564
- "tests",
2565
- "lint",
2566
- "types"
2567
- ]
2568
- }
2569
- }
2570
- ],
2571
- "cost_breakdown": {
2572
- "total_cost": 0.18,
2573
- "cost_if_always_premium": 0.9,
2574
- "savings_percent": 80.0
2575
- },
2576
- "quality_metrics": {
2577
- "tests_passed": true,
2578
- "health_score_before": 73,
2579
- "health_score_after": 73
2580
- },
2581
- "xml_protocol_compliance": {
2582
- "prompt_used_xml": true,
2583
- "response_used_xml": true,
2584
- "all_sections_present": true,
2585
- "test_evidence_provided": true,
2586
- "false_complete_avoided": true
2587
- }
2588
- }
2589
- },
2590
- {
2591
- "pattern_id": "bug_20260105_0254547f",
2592
- "bug_type": "configuration",
2593
- "status": "resolved",
2594
- "root_cause": "fix: Add formatted_report to Sync Docs workflow",
2595
- "fix": "See commit 0254547f",
2596
- "resolved_by": "@geneai",
2597
- "resolved_at": "2026-01-05",
2598
- "files_affected": [
2599
- "src/empathy_os/workflows/manage_documentation.py"
2600
- ],
2601
- "source": "git_history",
2602
- "tier_progression": {
2603
- "methodology": "AI-ADDIE",
2604
- "starting_tier": "CAPABLE",
2605
- "successful_tier": "CAPABLE",
2606
- "total_attempts": 2,
2607
- "tier_history": [
2608
- {
2609
- "tier": "CAPABLE",
2610
- "attempts": 2,
2611
- "failures": [
2612
- {
2613
- "attempt": 1,
2614
- "quality_gate_failed": "lint"
2615
- }
2616
- ],
2617
- "success": {
2618
- "attempt": 2,
2619
- "quality_gates_passed": [
2620
- "tests",
2621
- "lint",
2622
- "types"
2623
- ]
2624
- }
2625
- }
2626
- ],
2627
- "cost_breakdown": {
2628
- "total_cost": 0.18,
2629
- "cost_if_always_premium": 0.9,
2630
- "savings_percent": 80.0
2631
- },
2632
- "quality_metrics": {
2633
- "tests_passed": true,
2634
- "health_score_before": 73,
2635
- "health_score_after": 73
2636
- },
2637
- "xml_protocol_compliance": {
2638
- "prompt_used_xml": true,
2639
- "response_used_xml": true,
2640
- "all_sections_present": true,
2641
- "test_evidence_provided": true,
2642
- "false_complete_avoided": true
2643
- }
2644
- }
2645
- },
2646
- {
2647
- "pattern_id": "bug_20260104_c2516490",
2648
- "bug_type": "unknown",
2649
- "status": "resolved",
2650
- "root_cause": "docs: Fix Level 1 install command to use [developer] extra",
2651
- "fix": "See commit c2516490",
2652
- "resolved_by": "@geneai",
2653
- "resolved_at": "2026-01-04",
2654
- "files_affected": [
2655
- "README.md"
2656
- ],
2657
- "source": "git_history",
2658
- "tier_progression": {
2659
- "methodology": "AI-ADDIE",
2660
- "starting_tier": "CHEAP",
2661
- "successful_tier": "CHEAP",
2662
- "total_attempts": 1,
2663
- "tier_history": [
2664
- {
2665
- "tier": "CHEAP",
2666
- "attempts": 1,
2667
- "success": {
2668
- "attempt": 1,
2669
- "quality_gates_passed": [
2670
- "tests",
2671
- "lint",
2672
- "types"
2673
- ]
2674
- }
2675
- }
2676
- ],
2677
- "cost_breakdown": {
2678
- "total_cost": 0.03,
2679
- "cost_if_always_premium": 0.45,
2680
- "savings_percent": 93.3
2681
- },
2682
- "quality_metrics": {
2683
- "tests_passed": true,
2684
- "health_score_before": 73,
2685
- "health_score_after": 73
2686
- },
2687
- "xml_protocol_compliance": {
2688
- "prompt_used_xml": true,
2689
- "response_used_xml": true,
2690
- "all_sections_present": true,
2691
- "test_evidence_provided": true,
2692
- "false_complete_avoided": true
2693
- }
2694
- }
2695
- },
2696
- {
2697
- "pattern_id": "bug_20260106_1f6f56d2",
2698
- "bug_type": "configuration",
2699
- "status": "resolved",
2700
- "root_cause": "fix: Remove unused 'target' variable in refactor_plan workflow",
2701
- "fix": "See commit 1f6f56d2",
2702
- "resolved_by": "@geneai",
2703
- "resolved_at": "2026-01-06",
2704
- "files_affected": [
2705
- "src/empathy_os/workflows/refactor_plan.py"
2706
- ],
2707
- "source": "git_history",
2708
- "tier_progression": {
2709
- "methodology": "AI-ADDIE",
2710
- "starting_tier": "CAPABLE",
2711
- "successful_tier": "CAPABLE",
2712
- "total_attempts": 2,
2713
- "tier_history": [
2714
- {
2715
- "tier": "CAPABLE",
2716
- "attempts": 2,
2717
- "failures": [
2718
- {
2719
- "attempt": 1,
2720
- "quality_gate_failed": "lint"
2721
- }
2722
- ],
2723
- "success": {
2724
- "attempt": 2,
2725
- "quality_gates_passed": [
2726
- "tests",
2727
- "lint",
2728
- "types"
2729
- ]
2730
- }
2731
- }
2732
- ],
2733
- "cost_breakdown": {
2734
- "total_cost": 0.18,
2735
- "cost_if_always_premium": 0.9,
2736
- "savings_percent": 80.0
2737
- },
2738
- "quality_metrics": {
2739
- "tests_passed": true,
2740
- "health_score_before": 73,
2741
- "health_score_after": 73
2742
- },
2743
- "xml_protocol_compliance": {
2744
- "prompt_used_xml": true,
2745
- "response_used_xml": true,
2746
- "all_sections_present": true,
2747
- "test_evidence_provided": true,
2748
- "false_complete_avoided": true
2749
- }
2750
- }
2751
- },
2752
- {
2753
- "pattern_id": "bug_20260106_15d0b796",
2754
- "bug_type": "unknown",
2755
- "status": "resolved",
2756
- "root_cause": "fix: Update tests to match v3.7.0 defaults and error messages",
2757
- "fix": "See commit 15d0b796",
2758
- "resolved_by": "@geneai",
2759
- "resolved_at": "2026-01-06",
2760
- "files_affected": [
2761
- "src/empathy_os/cli.py",
2762
- "tests/test_cli.py",
2763
- "tests/test_code_review_crew_integration.py"
2764
- ],
2765
- "source": "git_history",
2766
- "tier_progression": {
2767
- "methodology": "AI-ADDIE",
2768
- "starting_tier": "CHEAP",
2769
- "successful_tier": "CHEAP",
2770
- "total_attempts": 1,
2771
- "tier_history": [
2772
- {
2773
- "tier": "CHEAP",
2774
- "attempts": 1,
2775
- "success": {
2776
- "attempt": 1,
2777
- "quality_gates_passed": [
2778
- "tests",
2779
- "lint",
2780
- "types"
2781
- ]
2782
- }
2783
- }
2784
- ],
2785
- "cost_breakdown": {
2786
- "total_cost": 0.03,
2787
- "cost_if_always_premium": 0.45,
2788
- "savings_percent": 93.3
2789
- },
2790
- "quality_metrics": {
2791
- "tests_passed": true,
2792
- "health_score_before": 73,
2793
- "health_score_after": 73
2794
- },
2795
- "xml_protocol_compliance": {
2796
- "prompt_used_xml": true,
2797
- "response_used_xml": true,
2798
- "all_sections_present": true,
2799
- "test_evidence_provided": true,
2800
- "false_complete_avoided": true
2801
- }
2802
- }
2803
- },
2804
- {
2805
- "pattern_id": "bug_20260106_2adf079c",
2806
- "bug_type": "unknown",
2807
- "status": "resolved",
2808
- "root_cause": "docs: Update CHANGELOG with security vulnerability fixes",
2809
- "fix": "See commit 2adf079c",
2810
- "resolved_by": "@geneai",
2811
- "resolved_at": "2026-01-06",
2812
- "files_affected": [
2813
- "CHANGELOG.md"
2814
- ],
2815
- "source": "git_history",
2816
- "tier_progression": {
2817
- "methodology": "AI-ADDIE",
2818
- "starting_tier": "CHEAP",
2819
- "successful_tier": "CHEAP",
2820
- "total_attempts": 1,
2821
- "tier_history": [
2822
- {
2823
- "tier": "CHEAP",
2824
- "attempts": 1,
2825
- "success": {
2826
- "attempt": 1,
2827
- "quality_gates_passed": [
2828
- "tests",
2829
- "lint",
2830
- "types"
2831
- ]
2832
- }
2833
- }
2834
- ],
2835
- "cost_breakdown": {
2836
- "total_cost": 0.03,
2837
- "cost_if_always_premium": 0.45,
2838
- "savings_percent": 93.3
2839
- },
2840
- "quality_metrics": {
2841
- "tests_passed": true,
2842
- "health_score_before": 73,
2843
- "health_score_after": 73
2844
- },
2845
- "xml_protocol_compliance": {
2846
- "prompt_used_xml": true,
2847
- "response_used_xml": true,
2848
- "all_sections_present": true,
2849
- "test_evidence_provided": true,
2850
- "false_complete_avoided": true
2851
- }
2852
- }
2853
- },
2854
- {
2855
- "pattern_id": "bug_20260106_1dfc20fd",
2856
- "bug_type": "unknown",
2857
- "status": "resolved",
2858
- "root_cause": "fix: Resolve qs DoS vulnerability in VSCode extension dev dependencies",
2859
- "fix": "See commit 1dfc20fd",
2860
- "resolved_by": "@geneai",
2861
- "resolved_at": "2026-01-06",
2862
- "files_affected": [
2863
- "vscode-extension/package-lock.json",
2864
- "vscode-memory-panel/package-lock.json"
2865
- ],
2866
- "source": "git_history",
2867
- "tier_progression": {
2868
- "methodology": "AI-ADDIE",
2869
- "starting_tier": "CHEAP",
2870
- "successful_tier": "CHEAP",
2871
- "total_attempts": 1,
2872
- "tier_history": [
2873
- {
2874
- "tier": "CHEAP",
2875
- "attempts": 1,
2876
- "success": {
2877
- "attempt": 1,
2878
- "quality_gates_passed": [
2879
- "tests",
2880
- "lint",
2881
- "types"
2882
- ]
2883
- }
2884
- }
2885
- ],
2886
- "cost_breakdown": {
2887
- "total_cost": 0.03,
2888
- "cost_if_always_premium": 0.45,
2889
- "savings_percent": 93.3
2890
- },
2891
- "quality_metrics": {
2892
- "tests_passed": true,
2893
- "health_score_before": 73,
2894
- "health_score_after": 73
2895
- },
2896
- "xml_protocol_compliance": {
2897
- "prompt_used_xml": true,
2898
- "response_used_xml": true,
2899
- "all_sections_present": true,
2900
- "test_evidence_provided": true,
2901
- "false_complete_avoided": true
2902
- }
2903
- }
2904
- },
2905
- {
2906
- "pattern_id": "bug_20260106_a40d6b2c",
2907
- "bug_type": "unknown",
2908
- "status": "resolved",
2909
- "root_cause": "fix: Resolve HIGH severity qs DoS vulnerability (CVE-2025-15284)",
2910
- "fix": "See commit a40d6b2c",
2911
- "resolved_by": "@geneai",
2912
- "resolved_at": "2026-01-06",
2913
- "files_affected": [
2914
- "website/package-lock.json"
2915
- ],
2916
- "source": "git_history",
2917
- "tier_progression": {
2918
- "methodology": "AI-ADDIE",
2919
- "starting_tier": "CHEAP",
2920
- "successful_tier": "CHEAP",
2921
- "total_attempts": 1,
2922
- "tier_history": [
2923
- {
2924
- "tier": "CHEAP",
2925
- "attempts": 1,
2926
- "success": {
2927
- "attempt": 1,
2928
- "quality_gates_passed": [
2929
- "tests",
2930
- "lint",
2931
- "types"
2932
- ]
2933
- }
2934
- }
2935
- ],
2936
- "cost_breakdown": {
2937
- "total_cost": 0.03,
2938
- "cost_if_always_premium": 0.45,
2939
- "savings_percent": 93.3
2940
- },
2941
- "quality_metrics": {
2942
- "tests_passed": true,
2943
- "health_score_before": 73,
2944
- "health_score_after": 73
2945
- },
2946
- "xml_protocol_compliance": {
2947
- "prompt_used_xml": true,
2948
- "response_used_xml": true,
2949
- "all_sections_present": true,
2950
- "test_evidence_provided": true,
2951
- "false_complete_avoided": true
2952
- }
2953
- }
2954
- },
2955
- {
2956
- "pattern_id": "bug_20260106_0598922d",
2957
- "bug_type": "type_mismatch",
2958
- "status": "resolved",
2959
- "root_cause": "fix: Configure lint/type checking to exclude test workflows and non-core directories",
2960
- "fix": "See commit 0598922d",
2961
- "resolved_by": "@geneai",
2962
- "resolved_at": "2026-01-06",
2963
- "files_affected": [
2964
- "pyproject.toml",
2965
- "src/empathy_os/workflows/health_check.py"
2966
- ],
2967
- "source": "git_history",
2968
- "tier_progression": {
2969
- "methodology": "AI-ADDIE",
2970
- "starting_tier": "CHEAP",
2971
- "successful_tier": "CHEAP",
2972
- "total_attempts": 1,
2973
- "tier_history": [
2974
- {
2975
- "tier": "CHEAP",
2976
- "attempts": 1,
2977
- "success": {
2978
- "attempt": 1,
2979
- "quality_gates_passed": [
2980
- "tests",
2981
- "lint",
2982
- "types"
2983
- ]
2984
- }
2985
- }
2986
- ],
2987
- "cost_breakdown": {
2988
- "total_cost": 0.03,
2989
- "cost_if_always_premium": 0.45,
2990
- "savings_percent": 93.3
2991
- },
2992
- "quality_metrics": {
2993
- "tests_passed": true,
2994
- "health_score_before": 73,
2995
- "health_score_after": 73
2996
- },
2997
- "xml_protocol_compliance": {
2998
- "prompt_used_xml": true,
2999
- "response_used_xml": true,
3000
- "all_sections_present": true,
3001
- "test_evidence_provided": true,
3002
- "false_complete_avoided": true
3003
- }
3004
- }
3005
- },
3006
- {
3007
- "pattern_id": "bug_20260106_570c40f9",
3008
- "bug_type": "release_issue",
3009
- "status": "resolved",
3010
- "root_cause": "chore: Bump version to 3.7.1 for security patch release",
3011
- "fix": "See commit 570c40f9",
3012
- "resolved_by": "@geneai",
3013
- "resolved_at": "2026-01-06",
3014
- "files_affected": [
3015
- "pyproject.toml"
3016
- ],
3017
- "source": "git_history",
3018
- "tier_progression": {
3019
- "methodology": "AI-ADDIE",
3020
- "starting_tier": "PREMIUM",
3021
- "successful_tier": "PREMIUM",
3022
- "total_attempts": 1,
3023
- "tier_history": [
3024
- {
3025
- "tier": "PREMIUM",
3026
- "attempts": 1,
3027
- "success": {
3028
- "attempt": 1,
3029
- "quality_gates_passed": [
3030
- "tests",
3031
- "lint",
3032
- "types"
3033
- ]
3034
- }
3035
- }
3036
- ],
3037
- "cost_breakdown": {
3038
- "total_cost": 0.45,
3039
- "cost_if_always_premium": 0.45,
3040
- "savings_percent": 0.0
3041
- },
3042
- "quality_metrics": {
3043
- "tests_passed": true,
3044
- "health_score_before": 73,
3045
- "health_score_after": 73
3046
- },
3047
- "xml_protocol_compliance": {
3048
- "prompt_used_xml": true,
3049
- "response_used_xml": true,
3050
- "all_sections_present": true,
3051
- "test_evidence_provided": true,
3052
- "false_complete_avoided": true
3053
- }
3054
- }
3055
- },
3056
- {
3057
- "pattern_id": "bug_20260106_68018d1d",
3058
- "bug_type": "type_mismatch",
3059
- "status": "resolved",
3060
- "root_cause": "fix: Add type annotation to fix mypy errors in health_check",
3061
- "fix": "See commit 68018d1d",
3062
- "resolved_by": "@geneai",
3063
- "resolved_at": "2026-01-06",
3064
- "files_affected": [
3065
- "src/empathy_os/workflows/health_check.py"
3066
- ],
3067
- "source": "git_history",
3068
- "tier_progression": {
3069
- "methodology": "AI-ADDIE",
3070
- "starting_tier": "CHEAP",
3071
- "successful_tier": "CHEAP",
3072
- "total_attempts": 1,
3073
- "tier_history": [
3074
- {
3075
- "tier": "CHEAP",
3076
- "attempts": 1,
3077
- "success": {
3078
- "attempt": 1,
3079
- "quality_gates_passed": [
3080
- "tests",
3081
- "lint",
3082
- "types"
3083
- ]
3084
- }
3085
- }
3086
- ],
3087
- "cost_breakdown": {
3088
- "total_cost": 0.03,
3089
- "cost_if_always_premium": 0.45,
3090
- "savings_percent": 93.3
3091
- },
3092
- "quality_metrics": {
3093
- "tests_passed": true,
3094
- "health_score_before": 73,
3095
- "health_score_after": 73
3096
- },
3097
- "xml_protocol_compliance": {
3098
- "prompt_used_xml": true,
3099
- "response_used_xml": true,
3100
- "all_sections_present": true,
3101
- "test_evidence_provided": true,
3102
- "false_complete_avoided": true
3103
- }
3104
- }
3105
- },
3106
- {
3107
- "pattern_id": "bug_20260107_0f7a4e14",
3108
- "bug_type": "import_error",
3109
- "status": "resolved",
3110
- "root_cause": "fix: Add missing binascii import for proper error handling",
3111
- "fix": "See commit 0f7a4e14",
3112
- "resolved_by": "@geneai",
3113
- "resolved_at": "2026-01-07",
3114
- "files_affected": [
3115
- "CACHING_BENCHMARK_REPORT.md",
3116
- "CHANGELOG.md",
3117
- "KEYBOARD_SHORTCUTS.md"
3118
- ],
3119
- "source": "git_history",
3120
- "tier_progression": {
3121
- "methodology": "AI-ADDIE",
3122
- "starting_tier": "CHEAP",
3123
- "successful_tier": "CHEAP",
3124
- "total_attempts": 1,
3125
- "tier_history": [
3126
- {
3127
- "tier": "CHEAP",
3128
- "attempts": 1,
3129
- "success": {
3130
- "attempt": 1,
3131
- "quality_gates_passed": [
3132
- "tests",
3133
- "lint",
3134
- "types"
3135
- ]
3136
- }
3137
- }
3138
- ],
3139
- "cost_breakdown": {
3140
- "total_cost": 0.03,
3141
- "cost_if_always_premium": 0.45,
3142
- "savings_percent": 93.3
3143
- },
3144
- "quality_metrics": {
3145
- "tests_passed": true,
3146
- "health_score_before": 73,
3147
- "health_score_after": 73
3148
- },
3149
- "xml_protocol_compliance": {
3150
- "prompt_used_xml": true,
3151
- "response_used_xml": true,
3152
- "all_sections_present": true,
3153
- "test_evidence_provided": true,
3154
- "false_complete_avoided": true
3155
- }
3156
- }
3157
- },
3158
- {
3159
- "pattern_id": "bug_20260107_1e70c287",
3160
- "bug_type": "type_mismatch",
3161
- "status": "resolved",
3162
- "root_cause": "fix: Replace broad exception handlers with specific types in long_term.py",
3163
- "fix": "See commit 1e70c287",
3164
- "resolved_by": "@geneai",
3165
- "resolved_at": "2026-01-07",
3166
- "files_affected": [
3167
- "src/empathy_os/memory/long_term.py"
3168
- ],
3169
- "source": "git_history",
3170
- "tier_progression": {
3171
- "methodology": "AI-ADDIE",
3172
- "starting_tier": "CHEAP",
3173
- "successful_tier": "CHEAP",
3174
- "total_attempts": 1,
3175
- "tier_history": [
3176
- {
3177
- "tier": "CHEAP",
3178
- "attempts": 1,
3179
- "success": {
3180
- "attempt": 1,
3181
- "quality_gates_passed": [
3182
- "tests",
3183
- "lint",
3184
- "types"
3185
- ]
3186
- }
3187
- }
3188
- ],
3189
- "cost_breakdown": {
3190
- "total_cost": 0.03,
3191
- "cost_if_always_premium": 0.45,
3192
- "savings_percent": 93.3
3193
- },
3194
- "quality_metrics": {
3195
- "tests_passed": true,
3196
- "health_score_before": 73,
3197
- "health_score_after": 73
3198
- },
3199
- "xml_protocol_compliance": {
3200
- "prompt_used_xml": true,
3201
- "response_used_xml": true,
3202
- "all_sections_present": true,
3203
- "test_evidence_provided": true,
3204
- "false_complete_avoided": true
3205
- }
3206
- }
3207
- },
3208
- {
3209
- "pattern_id": "bug_20260107_37afc340",
3210
- "bug_type": "type_mismatch",
3211
- "status": "resolved",
3212
- "root_cause": "fix: Resolve 4 critical type errors in cache module",
3213
- "fix": "See commit 37afc340",
3214
- "resolved_by": "@geneai",
3215
- "resolved_at": "2026-01-07",
3216
- "files_affected": [
3217
- "src/empathy_os/cache/dependency_manager.py",
3218
- "src/empathy_os/cache/hybrid.py"
3219
- ],
3220
- "source": "git_history",
3221
- "tier_progression": {
3222
- "methodology": "AI-ADDIE",
3223
- "starting_tier": "CHEAP",
3224
- "successful_tier": "CHEAP",
3225
- "total_attempts": 1,
3226
- "tier_history": [
3227
- {
3228
- "tier": "CHEAP",
3229
- "attempts": 1,
3230
- "success": {
3231
- "attempt": 1,
3232
- "quality_gates_passed": [
3233
- "tests",
3234
- "lint",
3235
- "types"
3236
- ]
3237
- }
3238
- }
3239
- ],
3240
- "cost_breakdown": {
3241
- "total_cost": 0.03,
3242
- "cost_if_always_premium": 0.45,
3243
- "savings_percent": 93.3
3244
- },
3245
- "quality_metrics": {
3246
- "tests_passed": true,
3247
- "health_score_before": 73,
3248
- "health_score_after": 73
3249
- },
3250
- "xml_protocol_compliance": {
3251
- "prompt_used_xml": true,
3252
- "response_used_xml": true,
3253
- "all_sections_present": true,
3254
- "test_evidence_provided": true,
3255
- "false_complete_avoided": true
3256
- }
3257
- }
3258
- },
3259
- {
3260
- "pattern_id": "bug_20260106_25c84d81",
3261
- "bug_type": "unknown",
3262
- "status": "resolved",
3263
- "root_cause": "fix: Remove invalid cache_dir parameter from integration test",
3264
- "fix": "See commit 25c84d81",
3265
- "resolved_by": "@geneai",
3266
- "resolved_at": "2026-01-06",
3267
- "files_affected": [
3268
- "tests/integration/test_cache_integration.py"
3269
- ],
3270
- "source": "git_history",
3271
- "tier_progression": {
3272
- "methodology": "AI-ADDIE",
3273
- "starting_tier": "CHEAP",
3274
- "successful_tier": "CHEAP",
3275
- "total_attempts": 1,
3276
- "tier_history": [
3277
- {
3278
- "tier": "CHEAP",
3279
- "attempts": 1,
3280
- "success": {
3281
- "attempt": 1,
3282
- "quality_gates_passed": [
3283
- "tests",
3284
- "lint",
3285
- "types"
3286
- ]
3287
- }
3288
- }
3289
- ],
3290
- "cost_breakdown": {
3291
- "total_cost": 0.03,
3292
- "cost_if_always_premium": 0.45,
3293
- "savings_percent": 93.3
3294
- },
3295
- "quality_metrics": {
3296
- "tests_passed": true,
3297
- "health_score_before": 73,
3298
- "health_score_after": 73
3299
- },
3300
- "xml_protocol_compliance": {
3301
- "prompt_used_xml": true,
3302
- "response_used_xml": true,
3303
- "all_sections_present": true,
3304
- "test_evidence_provided": true,
3305
- "false_complete_avoided": true
3306
- }
3307
- }
3308
- },
3309
- {
3310
- "pattern_id": "bug_20260110_b6b1d0bd",
3311
- "bug_type": "unknown",
3312
- "status": "resolved",
3313
- "root_cause": "chore: Apply automated linting and formatting fixes across codebase",
3314
- "fix": "See commit b6b1d0bd",
3315
- "resolved_by": "@geneai",
3316
- "resolved_at": "2026-01-10",
3317
- "files_affected": [
3318
- ".claude/rules/empathy/bug-patterns.md",
3319
- ".claude/rules/empathy/coding-patterns.md",
3320
- ".claude/rules/empathy/security-decisions.md"
3321
- ],
3322
- "source": "git_history"
3323
- },
3324
- {
3325
- "pattern_id": "bug_20260109_ded73555",
3326
- "bug_type": "unknown",
3327
- "status": "resolved",
3328
- "root_cause": "fix(ci): Fix tier pattern analysis workflow shell errors",
3329
- "fix": "See commit ded73555",
3330
- "resolved_by": "@geneai",
3331
- "resolved_at": "2026-01-09",
3332
- "files_affected": [
3333
- ".github/workflows/tier-pattern-analysis.yml"
3334
- ],
3335
- "source": "git_history"
3336
- },
3337
- {
3338
- "pattern_id": "bug_20260109_36bd9ec9",
3339
- "bug_type": "unknown",
3340
- "status": "resolved",
3341
- "root_cause": "security: Fix React Router XSS vulnerability (CVE-2026-22029)",
3342
- "fix": "See commit 36bd9ec9",
3343
- "resolved_by": "@geneai",
3344
- "resolved_at": "2026-01-09",
3345
- "files_affected": [
3346
- "examples/wizard-dashboard/package-lock.json",
3347
- "examples/wizard-dashboard/package.json"
3348
- ],
3349
- "source": "git_history"
3350
- },
3351
- {
3352
- "pattern_id": "bug_20260109_69c8700a",
3353
- "bug_type": "unknown",
3354
- "status": "resolved",
3355
- "root_cause": "fix(lint): Document intentional broad exception handling with noqa comments",
3356
- "fix": "See commit 69c8700a",
3357
- "resolved_by": "@geneai",
3358
- "resolved_at": "2026-01-09",
3359
- "files_affected": [
3360
- "backend/api/wizard_api.py",
3361
- "benchmarks/benchmark_caching.py",
3362
- "examples/coach/lsp/context_collector.py"
3363
- ],
3364
- "source": "git_history"
3365
- },
3366
- {
3367
- "pattern_id": "bug_20260109_2e2bc58a",
3368
- "bug_type": "unknown",
3369
- "status": "resolved",
3370
- "root_cause": "fix: Resolve remaining lint issues in benchmarks and examples",
3371
- "fix": "See commit 2e2bc58a",
3372
- "resolved_by": "@geneai",
3373
- "resolved_at": "2026-01-09",
3374
- "files_affected": [
3375
- "benchmarks/benchmark_semantic_cache.py",
3376
- "benchmarks/manual_test.py",
3377
- "examples/sonnet_opus_fallback_example.py"
3378
- ],
3379
- "source": "git_history"
3380
- },
3381
- {
3382
- "pattern_id": "bug_20260109_96a88530",
3383
- "bug_type": "unknown",
3384
- "status": "resolved",
3385
- "root_cause": "fix(tests): Remove unused preview variables in wizard tests",
3386
- "fix": "See commit 96a88530",
3387
- "resolved_by": "@geneai",
3388
- "resolved_at": "2026-01-09",
3389
- "files_affected": [
3390
- "tests/unit/wizards/test_patient_assessment_wizard.py",
3391
- "tests/unit/wizards/test_test_e2e_wizard_wizard.py"
3392
- ],
3393
- "source": "git_history"
3394
- },
3395
- {
3396
- "pattern_id": "bug_20260109_2a2f6971",
3397
- "bug_type": "unknown",
3398
- "status": "resolved",
3399
- "root_cause": "fix(deps): Update langchain-core minimum version to fix conflicts",
3400
- "fix": "See commit 2a2f6971",
3401
- "resolved_by": "@geneai",
3402
- "resolved_at": "2026-01-09",
3403
- "files_affected": [
3404
- "pyproject.toml"
3405
- ],
3406
- "source": "git_history"
3407
- },
3408
- {
3409
- "pattern_id": "bug_20260109_eacac836",
3410
- "bug_type": "unknown",
3411
- "status": "resolved",
3412
- "root_cause": "fix(health): Fix lint issues to improve project health score",
3413
- "fix": "See commit eacac836",
3414
- "resolved_by": "@geneai",
3415
- "resolved_at": "2026-01-09",
3416
- "files_affected": [
3417
- "src/empathy_os/models/telemetry.py",
3418
- "tests/test_fallback_suite.py",
3419
- "tests/unit/telemetry/test_tier1_cli.py"
3420
- ],
3421
- "source": "git_history"
3422
- },
3423
- {
3424
- "pattern_id": "bug_20260109_054dfcee",
3425
- "bug_type": "null_reference",
3426
- "status": "resolved",
3427
- "root_cause": "fix(health): Fix undefined stage variables in workflow template",
3428
- "fix": "See commit 054dfcee",
3429
- "resolved_by": "@geneai",
3430
- "resolved_at": "2026-01-09",
3431
- "files_affected": [
3432
- "src/empathy_os/workflows/new_sample_workflow1.py"
3433
- ],
3434
- "source": "git_history"
3435
- },
3436
- {
3437
- "pattern_id": "bug_20260109_1bad1e52",
3438
- "bug_type": "unknown",
3439
- "status": "resolved",
3440
- "root_cause": "feat: Add cache persistence and fix dashboard config",
3441
- "fix": "See commit 1bad1e52",
3442
- "resolved_by": "@geneai",
3443
- "resolved_at": "2026-01-09",
3444
- "files_affected": [
3445
- "dashboard/backend/config.py",
3446
- "src/empathy_os/cache/hybrid.py",
3447
- "tests/unit/cache/test_hybrid_cache.py"
3448
- ],
3449
- "source": "git_history"
3450
- },
3451
- {
3452
- "pattern_id": "bug_20260109_731ec86d",
3453
- "bug_type": "unknown",
3454
- "status": "resolved",
3455
- "root_cause": "fix: Change 'never write insecure code' to 'generate secure code by default'",
3456
- "fix": "See commit 731ec86d",
3457
- "resolved_by": "@geneai",
3458
- "resolved_at": "2026-01-09",
3459
- "files_affected": [
3460
- "docs/marketing/READY_TO_POST.md",
3461
- "docs/marketing/TWITTER_THREAD_V3_9_3.md"
3462
- ],
3463
- "source": "git_history"
3464
- },
3465
- {
3466
- "pattern_id": "bug_20260109_f6235d53",
3467
- "bug_type": "unknown",
3468
- "status": "resolved",
3469
- "root_cause": "fix: Remove untested 'works with Copilot/Cursor' claims",
3470
- "fix": "See commit f6235d53",
3471
- "resolved_by": "@geneai",
3472
- "resolved_at": "2026-01-09",
3473
- "files_affected": [
3474
- "docs/marketing/RESPONSE_TEMPLATES_ACCURATE.md",
3475
- "docs/marketing/TWITTER_THREAD_V3_9_3.md",
3476
- "docs/marketing/V3_9_3_CAMPAIGN.md"
3477
- ],
3478
- "source": "git_history"
3479
- },
3480
- {
3481
- "pattern_id": "bug_20260109_5f5b1784",
3482
- "bug_type": "unknown",
3483
- "status": "resolved",
3484
- "root_cause": "fix: Remove all inaccurate claims from marketing materials",
3485
- "fix": "See commit 5f5b1784",
3486
- "resolved_by": "@geneai",
3487
- "resolved_at": "2026-01-09",
3488
- "files_affected": [
3489
- "docs/marketing/ACCURACY_AUDIT.md",
3490
- "docs/marketing/READY_TO_POST.md",
3491
- "docs/marketing/RESPONSE_TEMPLATES_ACCURATE.md"
3492
- ],
3493
- "source": "git_history"
3494
- },
3495
- {
3496
- "pattern_id": "bug_20260115_0bc4d995",
3497
- "bug_type": "unknown",
3498
- "status": "resolved",
3499
- "root_cause": "test: Fix 12 test failures for v4.0.1 maintenance release",
3500
- "fix": "See commit 0bc4d995",
3501
- "resolved_by": "@geneai",
3502
- "resolved_at": "2026-01-15",
3503
- "files_affected": [
3504
- ".claude/rules/empathy/debugging.md",
3505
- ".coverage 2",
3506
- ".coverage.Mac.home.local.82988.XvJUZQzx"
3507
- ],
3508
- "source": "git_history"
3509
- },
3510
- {
3511
- "pattern_id": "bug_20260115_59ae1e8e",
3512
- "bug_type": "unknown",
3513
- "status": "resolved",
3514
- "root_cause": "test: Fix 20 test failures across security, router, workflow, and integration tests",
3515
- "fix": "See commit 59ae1e8e",
3516
- "resolved_by": "@geneai",
3517
- "resolved_at": "2026-01-15",
3518
- "files_affected": [
3519
- ".../agent_factory/adapters/crewai_adapter.py",
3520
- "src/empathy_os/models/executor.py",
3521
- "src/empathy_os/workflows/security_audit.py"
3522
- ],
3523
- "source": "git_history"
3524
- },
3525
- {
3526
- "pattern_id": "bug_20260115_edb63946",
3527
- "bug_type": "unknown",
3528
- "status": "resolved",
3529
- "root_cause": "fix: Resolve 2 Ruff code quality issues (F841, B007)",
3530
- "fix": "See commit edb63946",
3531
- "resolved_by": "@geneai",
3532
- "resolved_at": "2026-01-15",
3533
- "files_affected": [
3534
- "src/empathy_os/orchestration/real_tools.py",
3535
- "src/empathy_os/workflows/release_prep_crew.py"
3536
- ],
3537
- "source": "git_history"
3538
- },
3539
- {
3540
- "pattern_id": "bug_20260115_ac1dbe24",
3541
- "bug_type": "unknown",
3542
- "status": "resolved",
3543
- "root_cause": "test: Fix test failures and add 207 new tests, boost coverage to 93.91% on workflow_commands",
3544
- "fix": "See commit ac1dbe24",
3545
- "resolved_by": "@geneai",
3546
- "resolved_at": "2026-01-15",
3547
- "files_affected": [
3548
- "tests/unit/memory/test_control_panel.py",
3549
- "tests/unit/telemetry/test_telemetry_cli.py",
3550
- "tests/unit/test_workflow_commands.py"
3551
- ],
3552
- "source": "git_history"
3553
- },
3554
- {
3555
- "pattern_id": "bug_20260115_f7369c9a",
3556
- "bug_type": "async_timing",
3557
- "status": "resolved",
3558
- "root_cause": "fix: Add 5-minute timeout to workflow execution to prevent hanging",
3559
- "fix": "See commit f7369c9a",
3560
- "resolved_by": "@geneai",
3561
- "resolved_at": "2026-01-15",
3562
- "files_affected": [
3563
- "vscode-extension/src/panels/WorkflowReportPanel.ts"
3564
- ],
3565
- "source": "git_history"
3566
- },
3567
- {
3568
- "pattern_id": "bug_20260115_b7323e7a",
3569
- "bug_type": "unknown",
3570
- "status": "resolved",
3571
- "root_cause": "chore: Pattern learning data, CLI JSON mode improvements, and minor fixes",
3572
- "fix": "See commit b7323e7a",
3573
- "resolved_by": "@geneai",
3574
- "resolved_at": "2026-01-15",
3575
- "files_affected": [
3576
- "patterns/debugging/all_patterns.json",
3577
- "patterns/refactoring_memory.json",
3578
- "src/empathy_os/cli.py"
3579
- ],
3580
- "source": "git_history"
3581
- },
3582
- {
3583
- "pattern_id": "bug_20260110_4c01a1d1",
3584
- "bug_type": "type_mismatch",
3585
- "status": "resolved",
3586
- "root_cause": "fix: Resolve all mypy type errors (6 errors fixed)",
3587
- "fix": "See commit 4c01a1d1",
3588
- "resolved_by": "@geneai",
3589
- "resolved_at": "2026-01-10",
3590
- "files_affected": [
3591
- "patterns/debugging/all_patterns.json",
3592
- "patterns/health_check_memory.json",
3593
- ".../orchestration/execution_strategies.py"
3594
- ],
3595
- "source": "git_history"
3596
- },
3597
- {
3598
- "pattern_id": "bug_20260120_99461b9c",
3599
- "bug_type": "unknown",
3600
- "status": "resolved",
3601
- "root_cause": "Release v4.6.1 - Documentation fixes",
3602
- "fix": "See commit 99461b9c",
3603
- "resolved_by": "@geneai",
3604
- "resolved_at": "2026-01-20",
3605
- "files_affected": [
3606
- ".claude/CLAUDE.md",
3607
- "CHANGELOG.md",
3608
- "README.md"
3609
- ],
3610
- "source": "git_history"
3611
- },
3612
- {
3613
- "pattern_id": "bug_20260119_9b048dcb",
3614
- "bug_type": "unknown",
3615
- "status": "resolved",
3616
- "root_cause": "fix: Remove specific $99 pricing from all documentation",
3617
- "fix": "See commit 9b048dcb",
3618
- "resolved_by": "@geneai",
3619
- "resolved_at": "2026-01-19",
3620
- "files_affected": [
3621
- "docs/architecture/STRIPE_INTEGRATION_PLAN.md",
3622
- "docs/explanation/COMPARISON.md",
3623
- "docs/guides/MKDOCS_TUTORIAL.md"
3624
- ],
3625
- "source": "git_history"
3626
- },
3627
- {
3628
- "pattern_id": "bug_20260119_63889f8e",
3629
- "bug_type": "unknown",
3630
- "status": "resolved",
3631
- "root_cause": "fix: Remove specific $99 pricing from user-facing pages",
3632
- "fix": "See commit 63889f8e",
3633
- "resolved_by": "@geneai",
3634
- "resolved_at": "2026-01-19",
3635
- "files_affected": [
3636
- "website/app/book/page.tsx",
3637
- "website/app/faq/page.tsx",
3638
- "website/app/pricing/page.tsx"
3639
- ],
3640
- "source": "git_history"
3641
- },
3642
- {
3643
- "pattern_id": "bug_20260119_9f8d15f5",
3644
- "bug_type": "unknown",
3645
- "status": "resolved",
3646
- "root_cause": "fix: Restore full memory feature description",
3647
- "fix": "See commit 9f8d15f5",
3648
- "resolved_by": "@geneai",
3649
- "resolved_at": "2026-01-19",
3650
- "files_affected": [
3651
- "website/lib/features.ts"
3652
- ],
3653
- "source": "git_history"
3654
- },
3655
- {
3656
- "pattern_id": "bug_20260119_dcf0d039",
3657
- "bug_type": "unknown",
3658
- "status": "resolved",
3659
- "root_cause": "fix: Remove app.py that broke Vercel deployment",
3660
- "fix": "See commit dcf0d039",
3661
- "resolved_by": "@geneai",
3662
- "resolved_at": "2026-01-19",
3663
- "files_affected": [
3664
- ".claude/commands/cache 2.md",
3665
- ".claude/commands/cost-report 2.md",
3666
- ".claude/commands/create-agent 2.md"
3667
- ],
3668
- "source": "git_history"
3669
- },
3670
- {
3671
- "pattern_id": "bug_20260119_c48fee49",
3672
- "bug_type": "unknown",
3673
- "status": "resolved",
3674
- "root_cause": "fix: Add FastAPI entrypoint for deployment platform auto-detection",
3675
- "fix": "See commit c48fee49",
3676
- "resolved_by": "@geneai",
3677
- "resolved_at": "2026-01-19",
3678
- "files_affected": [
3679
- "app.py"
3680
- ],
3681
- "source": "git_history"
3682
- },
3683
- {
3684
- "pattern_id": "bug_20260119_29467e01",
3685
- "bug_type": "unknown",
3686
- "status": "resolved",
3687
- "root_cause": "fix: Change 'agent composition' to 'dynamic agent creation' in Footer",
3688
- "fix": "See commit 29467e01",
3689
- "resolved_by": "@geneai",
3690
- "resolved_at": "2026-01-19",
3691
- "files_affected": [
3692
- "website/components/Footer.tsx"
3693
- ],
3694
- "source": "git_history"
3695
- },
3696
- {
3697
- "pattern_id": "bug_20260120_4c7c4627",
3698
- "bug_type": "unknown",
3699
- "status": "resolved",
3700
- "root_cause": "fix: Resolve remaining test failures in execution strategies and secrets detection",
3701
- "fix": "See commit 4c7c4627",
3702
- "resolved_by": "@geneai",
3703
- "resolved_at": "2026-01-20",
3704
- "files_affected": [
3705
- "tests/test_llm_toolkit_security.py",
3706
- "tests/unit/orchestration/test_execution_strategies.py"
3707
- ],
3708
- "source": "git_history"
3709
- },
3710
- {
3711
- "pattern_id": "bug_20260120_269c1a56",
3712
- "bug_type": "import_error",
3713
- "status": "resolved",
3714
- "root_cause": "fix: Resolve test failures in routing, scanner, and orchestration modules",
3715
- "fix": "See commit 269c1a56",
3716
- "resolved_by": "@geneai",
3717
- "resolved_at": "2026-01-20",
3718
- "files_affected": [
3719
- "src/empathy_os/project_index/models.py",
3720
- ".../orchestration/test_composition_patterns.py",
3721
- "tests/unit/routing/test_classifier.py"
3722
- ],
3723
- "source": "git_history"
3724
- },
3725
- {
3726
- "pattern_id": "bug_20260120_6cee3e2e",
3727
- "bug_type": "unknown",
3728
- "status": "resolved",
3729
- "root_cause": "chore: Update learned patterns from debugging session",
3730
- "fix": "See commit 6cee3e2e",
3731
- "resolved_by": "@geneai",
3732
- "resolved_at": "2026-01-20",
3733
- "files_affected": [
3734
- "patterns/debugging.json",
3735
- "patterns/refactoring_memory.json"
3736
- ],
3737
- "source": "git_history"
3738
- },
3739
- {
3740
- "pattern_id": "bug_20260120_dff7feb4",
3741
- "bug_type": "import_error",
3742
- "status": "resolved",
3743
- "root_cause": "fix: Resolve socratic module API mismatches and test alignment",
3744
- "fix": "See commit dff7feb4",
3745
- "resolved_by": "@geneai",
3746
- "resolved_at": "2026-01-20",
3747
- "files_affected": [
3748
- "src/empathy_os/socratic/explainer.py",
3749
- "src/empathy_os/socratic/mcp_server.py",
3750
- "src/empathy_os/socratic/visual_editor.py"
3751
- ],
3752
- "source": "git_history"
3753
- }
3754
- ],
3755
- "last_updated": "2026-01-20T19:50:55.973745",
3756
- "migration_metadata": {
3757
- "migrated_at": "2026-01-07T05:51:07.939260",
3758
- "total_patterns": 64,
3759
- "migrated": 64,
3760
- "skipped": 0,
3761
- "migration_version": "1.0"
3762
- }
3763
- }