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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. empathy_framework-4.7.1.dist-info/METADATA +690 -0
  2. empathy_framework-4.7.1.dist-info/RECORD +379 -0
  3. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/top_level.txt +1 -2
  4. empathy_healthcare_plugin/monitors/monitoring/__init__.py +9 -9
  5. empathy_llm_toolkit/agent_factory/__init__.py +6 -6
  6. empathy_llm_toolkit/agent_factory/adapters/wizard_adapter.py +7 -10
  7. empathy_llm_toolkit/agents_md/__init__.py +22 -0
  8. empathy_llm_toolkit/agents_md/loader.py +218 -0
  9. empathy_llm_toolkit/agents_md/parser.py +271 -0
  10. empathy_llm_toolkit/agents_md/registry.py +307 -0
  11. empathy_llm_toolkit/commands/__init__.py +51 -0
  12. empathy_llm_toolkit/commands/context.py +375 -0
  13. empathy_llm_toolkit/commands/loader.py +301 -0
  14. empathy_llm_toolkit/commands/models.py +231 -0
  15. empathy_llm_toolkit/commands/parser.py +371 -0
  16. empathy_llm_toolkit/commands/registry.py +429 -0
  17. empathy_llm_toolkit/config/__init__.py +8 -8
  18. empathy_llm_toolkit/config/unified.py +3 -7
  19. empathy_llm_toolkit/context/__init__.py +22 -0
  20. empathy_llm_toolkit/context/compaction.py +455 -0
  21. empathy_llm_toolkit/context/manager.py +434 -0
  22. empathy_llm_toolkit/hooks/__init__.py +24 -0
  23. empathy_llm_toolkit/hooks/config.py +306 -0
  24. empathy_llm_toolkit/hooks/executor.py +289 -0
  25. empathy_llm_toolkit/hooks/registry.py +302 -0
  26. empathy_llm_toolkit/hooks/scripts/__init__.py +39 -0
  27. empathy_llm_toolkit/hooks/scripts/evaluate_session.py +201 -0
  28. empathy_llm_toolkit/hooks/scripts/first_time_init.py +285 -0
  29. empathy_llm_toolkit/hooks/scripts/pre_compact.py +207 -0
  30. empathy_llm_toolkit/hooks/scripts/session_end.py +183 -0
  31. empathy_llm_toolkit/hooks/scripts/session_start.py +163 -0
  32. empathy_llm_toolkit/hooks/scripts/suggest_compact.py +225 -0
  33. empathy_llm_toolkit/learning/__init__.py +30 -0
  34. empathy_llm_toolkit/learning/evaluator.py +438 -0
  35. empathy_llm_toolkit/learning/extractor.py +514 -0
  36. empathy_llm_toolkit/learning/storage.py +560 -0
  37. empathy_llm_toolkit/providers.py +4 -11
  38. empathy_llm_toolkit/security/__init__.py +17 -17
  39. empathy_llm_toolkit/utils/tokens.py +2 -5
  40. empathy_os/__init__.py +202 -70
  41. empathy_os/cache_monitor.py +5 -3
  42. empathy_os/cli/__init__.py +11 -55
  43. empathy_os/cli/__main__.py +29 -15
  44. empathy_os/cli/commands/inspection.py +21 -12
  45. empathy_os/cli/commands/memory.py +4 -12
  46. empathy_os/cli/commands/profiling.py +198 -0
  47. empathy_os/cli/commands/utilities.py +27 -7
  48. empathy_os/cli.py +28 -57
  49. empathy_os/cli_unified.py +525 -1164
  50. empathy_os/cost_tracker.py +9 -3
  51. empathy_os/dashboard/server.py +200 -2
  52. empathy_os/hot_reload/__init__.py +7 -7
  53. empathy_os/hot_reload/config.py +6 -7
  54. empathy_os/hot_reload/integration.py +35 -35
  55. empathy_os/hot_reload/reloader.py +57 -57
  56. empathy_os/hot_reload/watcher.py +28 -28
  57. empathy_os/hot_reload/websocket.py +2 -2
  58. empathy_os/memory/__init__.py +11 -4
  59. empathy_os/memory/claude_memory.py +1 -1
  60. empathy_os/memory/cross_session.py +8 -12
  61. empathy_os/memory/edges.py +6 -6
  62. empathy_os/memory/file_session.py +770 -0
  63. empathy_os/memory/graph.py +30 -30
  64. empathy_os/memory/nodes.py +6 -6
  65. empathy_os/memory/short_term.py +15 -9
  66. empathy_os/memory/unified.py +606 -140
  67. empathy_os/meta_workflows/agent_creator.py +3 -9
  68. empathy_os/meta_workflows/cli_meta_workflows.py +113 -53
  69. empathy_os/meta_workflows/form_engine.py +6 -18
  70. empathy_os/meta_workflows/intent_detector.py +64 -24
  71. empathy_os/meta_workflows/models.py +3 -1
  72. empathy_os/meta_workflows/pattern_learner.py +13 -31
  73. empathy_os/meta_workflows/plan_generator.py +55 -47
  74. empathy_os/meta_workflows/session_context.py +2 -3
  75. empathy_os/meta_workflows/workflow.py +20 -51
  76. empathy_os/models/cli.py +2 -2
  77. empathy_os/models/tasks.py +1 -2
  78. empathy_os/models/telemetry.py +4 -1
  79. empathy_os/models/token_estimator.py +3 -1
  80. empathy_os/monitoring/alerts.py +938 -9
  81. empathy_os/monitoring/alerts_cli.py +346 -183
  82. empathy_os/orchestration/execution_strategies.py +12 -29
  83. empathy_os/orchestration/pattern_learner.py +20 -26
  84. empathy_os/orchestration/real_tools.py +6 -15
  85. empathy_os/platform_utils.py +2 -1
  86. empathy_os/plugins/__init__.py +2 -2
  87. empathy_os/plugins/base.py +64 -64
  88. empathy_os/plugins/registry.py +32 -32
  89. empathy_os/project_index/index.py +49 -15
  90. empathy_os/project_index/models.py +1 -2
  91. empathy_os/project_index/reports.py +1 -1
  92. empathy_os/project_index/scanner.py +1 -0
  93. empathy_os/redis_memory.py +10 -7
  94. empathy_os/resilience/__init__.py +1 -1
  95. empathy_os/resilience/health.py +10 -10
  96. empathy_os/routing/__init__.py +7 -7
  97. empathy_os/routing/chain_executor.py +37 -37
  98. empathy_os/routing/classifier.py +36 -36
  99. empathy_os/routing/smart_router.py +40 -40
  100. empathy_os/routing/{wizard_registry.py → workflow_registry.py} +47 -47
  101. empathy_os/scaffolding/__init__.py +8 -8
  102. empathy_os/scaffolding/__main__.py +1 -1
  103. empathy_os/scaffolding/cli.py +28 -28
  104. empathy_os/socratic/__init__.py +3 -19
  105. empathy_os/socratic/ab_testing.py +25 -36
  106. empathy_os/socratic/blueprint.py +38 -38
  107. empathy_os/socratic/cli.py +34 -20
  108. empathy_os/socratic/collaboration.py +30 -28
  109. empathy_os/socratic/domain_templates.py +9 -1
  110. empathy_os/socratic/embeddings.py +17 -13
  111. empathy_os/socratic/engine.py +135 -70
  112. empathy_os/socratic/explainer.py +70 -60
  113. empathy_os/socratic/feedback.py +24 -19
  114. empathy_os/socratic/forms.py +15 -10
  115. empathy_os/socratic/generator.py +51 -35
  116. empathy_os/socratic/llm_analyzer.py +25 -23
  117. empathy_os/socratic/mcp_server.py +99 -159
  118. empathy_os/socratic/session.py +19 -13
  119. empathy_os/socratic/storage.py +98 -67
  120. empathy_os/socratic/success.py +38 -27
  121. empathy_os/socratic/visual_editor.py +51 -39
  122. empathy_os/socratic/web_ui.py +99 -66
  123. empathy_os/telemetry/cli.py +3 -1
  124. empathy_os/telemetry/usage_tracker.py +1 -3
  125. empathy_os/test_generator/__init__.py +3 -3
  126. empathy_os/test_generator/cli.py +28 -28
  127. empathy_os/test_generator/generator.py +64 -66
  128. empathy_os/test_generator/risk_analyzer.py +11 -11
  129. empathy_os/vscode_bridge 2.py +173 -0
  130. empathy_os/vscode_bridge.py +173 -0
  131. empathy_os/workflows/__init__.py +212 -120
  132. empathy_os/workflows/batch_processing.py +8 -24
  133. empathy_os/workflows/bug_predict.py +1 -1
  134. empathy_os/workflows/code_review.py +20 -5
  135. empathy_os/workflows/code_review_pipeline.py +13 -8
  136. empathy_os/workflows/keyboard_shortcuts/workflow.py +6 -2
  137. empathy_os/workflows/manage_documentation.py +1 -0
  138. empathy_os/workflows/orchestrated_health_check.py +6 -11
  139. empathy_os/workflows/orchestrated_release_prep.py +3 -3
  140. empathy_os/workflows/pr_review.py +18 -10
  141. empathy_os/workflows/progressive/README 2.md +454 -0
  142. empathy_os/workflows/progressive/__init__ 2.py +92 -0
  143. empathy_os/workflows/progressive/__init__.py +2 -12
  144. empathy_os/workflows/progressive/cli 2.py +242 -0
  145. empathy_os/workflows/progressive/cli.py +14 -37
  146. empathy_os/workflows/progressive/core 2.py +488 -0
  147. empathy_os/workflows/progressive/core.py +12 -12
  148. empathy_os/workflows/progressive/orchestrator 2.py +701 -0
  149. empathy_os/workflows/progressive/orchestrator.py +166 -144
  150. empathy_os/workflows/progressive/reports 2.py +528 -0
  151. empathy_os/workflows/progressive/reports.py +22 -31
  152. empathy_os/workflows/progressive/telemetry 2.py +280 -0
  153. empathy_os/workflows/progressive/telemetry.py +8 -14
  154. empathy_os/workflows/progressive/test_gen 2.py +514 -0
  155. empathy_os/workflows/progressive/test_gen.py +29 -48
  156. empathy_os/workflows/progressive/workflow 2.py +628 -0
  157. empathy_os/workflows/progressive/workflow.py +31 -70
  158. empathy_os/workflows/release_prep.py +21 -6
  159. empathy_os/workflows/release_prep_crew.py +1 -0
  160. empathy_os/workflows/secure_release.py +13 -6
  161. empathy_os/workflows/security_audit.py +8 -3
  162. empathy_os/workflows/test_coverage_boost_crew.py +3 -2
  163. empathy_os/workflows/test_maintenance_crew.py +1 -0
  164. empathy_os/workflows/test_runner.py +16 -12
  165. empathy_software_plugin/SOFTWARE_PLUGIN_README.md +25 -703
  166. empathy_software_plugin/cli.py +0 -122
  167. patterns/README.md +119 -0
  168. patterns/__init__.py +95 -0
  169. patterns/behavior.py +298 -0
  170. patterns/code_review_memory.json +441 -0
  171. patterns/core.py +97 -0
  172. patterns/debugging.json +3763 -0
  173. patterns/empathy.py +268 -0
  174. patterns/health_check_memory.json +505 -0
  175. patterns/input.py +161 -0
  176. patterns/memory_graph.json +8 -0
  177. patterns/refactoring_memory.json +1113 -0
  178. patterns/registry.py +663 -0
  179. patterns/security_memory.json +8 -0
  180. patterns/structural.py +415 -0
  181. patterns/validation.py +194 -0
  182. coach_wizards/__init__.py +0 -45
  183. coach_wizards/accessibility_wizard.py +0 -91
  184. coach_wizards/api_wizard.py +0 -91
  185. coach_wizards/base_wizard.py +0 -209
  186. coach_wizards/cicd_wizard.py +0 -91
  187. coach_wizards/code_reviewer_README.md +0 -60
  188. coach_wizards/code_reviewer_wizard.py +0 -180
  189. coach_wizards/compliance_wizard.py +0 -91
  190. coach_wizards/database_wizard.py +0 -91
  191. coach_wizards/debugging_wizard.py +0 -91
  192. coach_wizards/documentation_wizard.py +0 -91
  193. coach_wizards/generate_wizards.py +0 -347
  194. coach_wizards/localization_wizard.py +0 -173
  195. coach_wizards/migration_wizard.py +0 -91
  196. coach_wizards/monitoring_wizard.py +0 -91
  197. coach_wizards/observability_wizard.py +0 -91
  198. coach_wizards/performance_wizard.py +0 -91
  199. coach_wizards/prompt_engineering_wizard.py +0 -661
  200. coach_wizards/refactoring_wizard.py +0 -91
  201. coach_wizards/scaling_wizard.py +0 -90
  202. coach_wizards/security_wizard.py +0 -92
  203. coach_wizards/testing_wizard.py +0 -91
  204. empathy_framework-4.6.6.dist-info/METADATA +0 -1597
  205. empathy_framework-4.6.6.dist-info/RECORD +0 -410
  206. empathy_llm_toolkit/wizards/__init__.py +0 -43
  207. empathy_llm_toolkit/wizards/base_wizard.py +0 -364
  208. empathy_llm_toolkit/wizards/customer_support_wizard.py +0 -190
  209. empathy_llm_toolkit/wizards/healthcare_wizard.py +0 -378
  210. empathy_llm_toolkit/wizards/patient_assessment_README.md +0 -64
  211. empathy_llm_toolkit/wizards/patient_assessment_wizard.py +0 -193
  212. empathy_llm_toolkit/wizards/technology_wizard.py +0 -209
  213. empathy_os/wizard_factory_cli.py +0 -170
  214. empathy_software_plugin/wizards/__init__.py +0 -42
  215. empathy_software_plugin/wizards/advanced_debugging_wizard.py +0 -395
  216. empathy_software_plugin/wizards/agent_orchestration_wizard.py +0 -511
  217. empathy_software_plugin/wizards/ai_collaboration_wizard.py +0 -503
  218. empathy_software_plugin/wizards/ai_context_wizard.py +0 -441
  219. empathy_software_plugin/wizards/ai_documentation_wizard.py +0 -503
  220. empathy_software_plugin/wizards/base_wizard.py +0 -288
  221. empathy_software_plugin/wizards/book_chapter_wizard.py +0 -519
  222. empathy_software_plugin/wizards/code_review_wizard.py +0 -604
  223. empathy_software_plugin/wizards/debugging/__init__.py +0 -50
  224. empathy_software_plugin/wizards/debugging/bug_risk_analyzer.py +0 -414
  225. empathy_software_plugin/wizards/debugging/config_loaders.py +0 -446
  226. empathy_software_plugin/wizards/debugging/fix_applier.py +0 -469
  227. empathy_software_plugin/wizards/debugging/language_patterns.py +0 -385
  228. empathy_software_plugin/wizards/debugging/linter_parsers.py +0 -470
  229. empathy_software_plugin/wizards/debugging/verification.py +0 -369
  230. empathy_software_plugin/wizards/enhanced_testing_wizard.py +0 -537
  231. empathy_software_plugin/wizards/memory_enhanced_debugging_wizard.py +0 -816
  232. empathy_software_plugin/wizards/multi_model_wizard.py +0 -501
  233. empathy_software_plugin/wizards/pattern_extraction_wizard.py +0 -422
  234. empathy_software_plugin/wizards/pattern_retriever_wizard.py +0 -400
  235. empathy_software_plugin/wizards/performance/__init__.py +0 -9
  236. empathy_software_plugin/wizards/performance/bottleneck_detector.py +0 -221
  237. empathy_software_plugin/wizards/performance/profiler_parsers.py +0 -278
  238. empathy_software_plugin/wizards/performance/trajectory_analyzer.py +0 -429
  239. empathy_software_plugin/wizards/performance_profiling_wizard.py +0 -305
  240. empathy_software_plugin/wizards/prompt_engineering_wizard.py +0 -425
  241. empathy_software_plugin/wizards/rag_pattern_wizard.py +0 -461
  242. empathy_software_plugin/wizards/security/__init__.py +0 -32
  243. empathy_software_plugin/wizards/security/exploit_analyzer.py +0 -290
  244. empathy_software_plugin/wizards/security/owasp_patterns.py +0 -241
  245. empathy_software_plugin/wizards/security/vulnerability_scanner.py +0 -604
  246. empathy_software_plugin/wizards/security_analysis_wizard.py +0 -322
  247. empathy_software_plugin/wizards/security_learning_wizard.py +0 -740
  248. empathy_software_plugin/wizards/tech_debt_wizard.py +0 -726
  249. empathy_software_plugin/wizards/testing/__init__.py +0 -27
  250. empathy_software_plugin/wizards/testing/coverage_analyzer.py +0 -459
  251. empathy_software_plugin/wizards/testing/quality_analyzer.py +0 -525
  252. empathy_software_plugin/wizards/testing/test_suggester.py +0 -533
  253. empathy_software_plugin/wizards/testing_wizard.py +0 -274
  254. wizards/__init__.py +0 -82
  255. wizards/admission_assessment_wizard.py +0 -644
  256. wizards/care_plan.py +0 -321
  257. wizards/clinical_assessment.py +0 -769
  258. wizards/discharge_planning.py +0 -77
  259. wizards/discharge_summary_wizard.py +0 -468
  260. wizards/dosage_calculation.py +0 -497
  261. wizards/incident_report_wizard.py +0 -454
  262. wizards/medication_reconciliation.py +0 -85
  263. wizards/nursing_assessment.py +0 -171
  264. wizards/patient_education.py +0 -654
  265. wizards/quality_improvement.py +0 -705
  266. wizards/sbar_report.py +0 -324
  267. wizards/sbar_wizard.py +0 -608
  268. wizards/shift_handoff_wizard.py +0 -535
  269. wizards/soap_note_wizard.py +0 -679
  270. wizards/treatment_plan.py +0 -15
  271. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/WHEEL +0 -0
  272. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/entry_points.txt +0 -0
  273. {empathy_framework-4.6.6.dist-info → empathy_framework-4.7.1.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,3763 @@
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
+ }