strray-ai 1.7.2 → 1.7.3

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 (189) hide show
  1. package/.opencode/hooks/post-commit +152 -55
  2. package/.opencode/hooks/post-commit.backup +110 -174
  3. package/.opencode/hooks/post-push +47 -64
  4. package/.opencode/hooks/post-push.backup +34 -38
  5. package/.opencode/strray/features.json +3 -3
  6. package/.opencode/strray/routing-mappings.json +90 -34
  7. package/AGENTS.md +7 -2
  8. package/dist/analytics/anonymization-engine.d.ts +108 -0
  9. package/dist/analytics/anonymization-engine.d.ts.map +1 -0
  10. package/dist/analytics/anonymization-engine.js +352 -0
  11. package/dist/analytics/anonymization-engine.js.map +1 -0
  12. package/dist/analytics/consent-manager.d.ts +94 -0
  13. package/dist/analytics/consent-manager.d.ts.map +1 -0
  14. package/dist/analytics/consent-manager.js +257 -0
  15. package/dist/analytics/consent-manager.js.map +1 -0
  16. package/dist/analytics/emerging-pattern-detector.d.ts +68 -0
  17. package/dist/analytics/emerging-pattern-detector.d.ts.map +1 -0
  18. package/dist/analytics/emerging-pattern-detector.js +250 -0
  19. package/dist/analytics/emerging-pattern-detector.js.map +1 -0
  20. package/dist/analytics/pattern-learning-engine.d.ts +81 -0
  21. package/dist/analytics/pattern-learning-engine.d.ts.map +1 -0
  22. package/dist/analytics/pattern-learning-engine.js +262 -0
  23. package/dist/analytics/pattern-learning-engine.js.map +1 -0
  24. package/dist/analytics/pattern-performance-tracker.d.ts +89 -0
  25. package/dist/analytics/pattern-performance-tracker.d.ts.map +1 -0
  26. package/dist/analytics/pattern-performance-tracker.js +289 -0
  27. package/dist/analytics/pattern-performance-tracker.js.map +1 -0
  28. package/dist/analytics/prompt-pattern-analyzer.d.ts +100 -0
  29. package/dist/analytics/prompt-pattern-analyzer.d.ts.map +1 -0
  30. package/dist/analytics/prompt-pattern-analyzer.js +372 -0
  31. package/dist/analytics/prompt-pattern-analyzer.js.map +1 -0
  32. package/dist/analytics/routing-performance-analyzer.d.ts +102 -0
  33. package/dist/analytics/routing-performance-analyzer.d.ts.map +1 -0
  34. package/dist/analytics/routing-performance-analyzer.js +342 -0
  35. package/dist/analytics/routing-performance-analyzer.js.map +1 -0
  36. package/dist/analytics/routing-refiner.d.ts +105 -0
  37. package/dist/analytics/routing-refiner.d.ts.map +1 -0
  38. package/dist/analytics/routing-refiner.js +381 -0
  39. package/dist/analytics/routing-refiner.js.map +1 -0
  40. package/dist/cli/commands/analytics-disable.d.ts +10 -0
  41. package/dist/cli/commands/analytics-disable.d.ts.map +1 -0
  42. package/dist/cli/commands/analytics-disable.js +73 -0
  43. package/dist/cli/commands/analytics-disable.js.map +1 -0
  44. package/dist/cli/commands/analytics-enable-action.d.ts +9 -0
  45. package/dist/cli/commands/analytics-enable-action.d.ts.map +1 -0
  46. package/dist/cli/commands/analytics-enable-action.js +83 -0
  47. package/dist/cli/commands/analytics-enable-action.js.map +1 -0
  48. package/dist/cli/commands/analytics-preview.d.ts +10 -0
  49. package/dist/cli/commands/analytics-preview.d.ts.map +1 -0
  50. package/dist/cli/commands/analytics-preview.js +107 -0
  51. package/dist/cli/commands/analytics-preview.js.map +1 -0
  52. package/dist/cli/commands/analytics-status.d.ts +10 -0
  53. package/dist/cli/commands/analytics-status.d.ts.map +1 -0
  54. package/dist/cli/commands/analytics-status.js +68 -0
  55. package/dist/cli/commands/analytics-status.js.map +1 -0
  56. package/dist/cli/index.js +6 -3
  57. package/dist/cli/index.js.map +1 -1
  58. package/dist/core/adaptive-kernel.d.ts +110 -0
  59. package/dist/core/adaptive-kernel.d.ts.map +1 -0
  60. package/dist/core/adaptive-kernel.js +193 -0
  61. package/dist/core/adaptive-kernel.js.map +1 -0
  62. package/dist/core/kernel-patterns.d.ts +105 -0
  63. package/dist/core/kernel-patterns.d.ts.map +1 -0
  64. package/dist/core/kernel-patterns.js +328 -0
  65. package/dist/core/kernel-patterns.js.map +1 -0
  66. package/dist/core/orchestrator.d.ts +1 -0
  67. package/dist/core/orchestrator.d.ts.map +1 -1
  68. package/dist/core/orchestrator.js +40 -11
  69. package/dist/core/orchestrator.js.map +1 -1
  70. package/dist/delegation/agent-delegator.d.ts +1 -0
  71. package/dist/delegation/agent-delegator.d.ts.map +1 -1
  72. package/dist/delegation/agent-delegator.js +24 -2
  73. package/dist/delegation/agent-delegator.js.map +1 -1
  74. package/dist/delegation/task-skill-router.d.ts +269 -5
  75. package/dist/delegation/task-skill-router.d.ts.map +1 -1
  76. package/dist/delegation/task-skill-router.js +810 -23
  77. package/dist/delegation/task-skill-router.js.map +1 -1
  78. package/dist/postprocessor/PostProcessor.d.ts +10 -0
  79. package/dist/postprocessor/PostProcessor.d.ts.map +1 -1
  80. package/dist/postprocessor/PostProcessor.js +87 -17
  81. package/dist/postprocessor/PostProcessor.js.map +1 -1
  82. package/dist/processors/agents-md-validation-processor.d.ts +1 -0
  83. package/dist/processors/agents-md-validation-processor.d.ts.map +1 -1
  84. package/dist/processors/agents-md-validation-processor.js +34 -12
  85. package/dist/processors/agents-md-validation-processor.js.map +1 -1
  86. package/dist/processors/processor-manager.d.ts +7 -0
  87. package/dist/processors/processor-manager.d.ts.map +1 -1
  88. package/dist/processors/processor-manager.js +93 -0
  89. package/dist/processors/processor-manager.js.map +1 -1
  90. package/dist/processors/test-auto-creation-processor.d.ts.map +1 -1
  91. package/dist/processors/test-auto-creation-processor.js +52 -38
  92. package/dist/processors/test-auto-creation-processor.js.map +1 -1
  93. package/dist/scripts/analytics/daily-routing-analysis.d.ts +18 -0
  94. package/dist/scripts/analytics/daily-routing-analysis.d.ts.map +1 -0
  95. package/dist/scripts/analytics/daily-routing-analysis.js +268 -0
  96. package/dist/scripts/analytics/daily-routing-analysis.js.map +1 -0
  97. package/dist/scripts/analytics/index.d.ts +15 -0
  98. package/dist/scripts/analytics/index.d.ts.map +1 -0
  99. package/dist/scripts/analytics/index.js +17 -0
  100. package/dist/scripts/analytics/index.js.map +1 -0
  101. package/dist/scripts/test-p9.d.ts +15 -0
  102. package/dist/scripts/test-p9.d.ts.map +1 -0
  103. package/dist/scripts/test-p9.js +220 -0
  104. package/dist/scripts/test-p9.js.map +1 -0
  105. package/package.json +6 -2
  106. package/scripts/node/kernel-e2e-test.mjs +168 -0
  107. package/scripts/node/kernel-framework-test.mjs +127 -0
  108. package/scripts/node/kernel-live-test.mjs +147 -0
  109. package/scripts/node/kernel-real-framework-test.mjs +103 -0
  110. package/scripts/node/kernel-update.cjs +379 -0
  111. package/scripts/node/reflection-check.sh +245 -27
  112. package/scripts/node/test-simple-names-comprehensive.mjs +221 -0
  113. package/scripts/node/test-simple-names.mjs +39 -0
  114. package/dist/agents/documentation-writer.d.ts +0 -9
  115. package/dist/agents/documentation-writer.d.ts.map +0 -1
  116. package/dist/agents/documentation-writer.js +0 -85
  117. package/dist/agents/documentation-writer.js.map +0 -1
  118. package/dist/agents/explore.d.ts +0 -8
  119. package/dist/agents/explore.d.ts.map +0 -1
  120. package/dist/agents/explore.js +0 -55
  121. package/dist/agents/explore.js.map +0 -1
  122. package/dist/agents/librarian.d.ts +0 -3
  123. package/dist/agents/librarian.d.ts.map +0 -1
  124. package/dist/agents/librarian.js +0 -84
  125. package/dist/agents/librarian.js.map +0 -1
  126. package/dist/agents/marketing-expert.d.ts +0 -9
  127. package/dist/agents/marketing-expert.d.ts.map +0 -1
  128. package/dist/agents/marketing-expert.js +0 -112
  129. package/dist/agents/marketing-expert.js.map +0 -1
  130. package/dist/agents/oracle.d.ts +0 -8
  131. package/dist/agents/oracle.d.ts.map +0 -1
  132. package/dist/agents/oracle.js +0 -51
  133. package/dist/agents/oracle.js.map +0 -1
  134. package/dist/agents/seo-copywriter.d.ts +0 -10
  135. package/dist/agents/seo-copywriter.d.ts.map +0 -1
  136. package/dist/agents/seo-copywriter.js +0 -73
  137. package/dist/agents/seo-copywriter.js.map +0 -1
  138. package/dist/agents/seo-specialist.d.ts +0 -9
  139. package/dist/agents/seo-specialist.d.ts.map +0 -1
  140. package/dist/agents/seo-specialist.js +0 -54
  141. package/dist/agents/seo-specialist.js.map +0 -1
  142. package/dist/agents/test-architect.d.ts +0 -3
  143. package/dist/agents/test-architect.d.ts.map +0 -1
  144. package/dist/agents/test-architect.js +0 -96
  145. package/dist/agents/test-architect.js.map +0 -1
  146. package/dist/mcps/enhanced-orchestrator.server.d.ts +0 -14
  147. package/dist/mcps/enhanced-orchestrator.server.d.ts.map +0 -1
  148. package/dist/mcps/enhanced-orchestrator.server.js +0 -266
  149. package/dist/mcps/enhanced-orchestrator.server.js.map +0 -1
  150. package/dist/mcps/knowledge-skills/analyzer.server.d.ts +0 -7
  151. package/dist/mcps/knowledge-skills/analyzer.server.d.ts.map +0 -1
  152. package/dist/mcps/knowledge-skills/analyzer.server.js +0 -282
  153. package/dist/mcps/knowledge-skills/analyzer.server.js.map +0 -1
  154. package/dist/mcps/knowledge-skills/documentation-generation.server.d.ts +0 -48
  155. package/dist/mcps/knowledge-skills/documentation-generation.server.d.ts.map +0 -1
  156. package/dist/mcps/knowledge-skills/documentation-generation.server.js +0 -1238
  157. package/dist/mcps/knowledge-skills/documentation-generation.server.js.map +0 -1
  158. package/dist/mcps/knowledge-skills/explore.server.d.ts +0 -21
  159. package/dist/mcps/knowledge-skills/explore.server.d.ts.map +0 -1
  160. package/dist/mcps/knowledge-skills/explore.server.js +0 -582
  161. package/dist/mcps/knowledge-skills/explore.server.js.map +0 -1
  162. package/dist/mcps/knowledge-skills/marketing-expert.server.d.ts +0 -8
  163. package/dist/mcps/knowledge-skills/marketing-expert.server.d.ts.map +0 -1
  164. package/dist/mcps/knowledge-skills/marketing-expert.server.js +0 -356
  165. package/dist/mcps/knowledge-skills/marketing-expert.server.js.map +0 -1
  166. package/dist/mcps/knowledge-skills/oracle.server.d.ts +0 -25
  167. package/dist/mcps/knowledge-skills/oracle.server.d.ts.map +0 -1
  168. package/dist/mcps/knowledge-skills/oracle.server.js +0 -569
  169. package/dist/mcps/knowledge-skills/oracle.server.js.map +0 -1
  170. package/dist/mcps/knowledge-skills/seo-copywriter.server.d.ts +0 -8
  171. package/dist/mcps/knowledge-skills/seo-copywriter.server.d.ts.map +0 -1
  172. package/dist/mcps/knowledge-skills/seo-copywriter.server.js +0 -251
  173. package/dist/mcps/knowledge-skills/seo-copywriter.server.js.map +0 -1
  174. package/dist/mcps/knowledge-skills/seo-specialist.server.d.ts +0 -8
  175. package/dist/mcps/knowledge-skills/seo-specialist.server.d.ts.map +0 -1
  176. package/dist/mcps/knowledge-skills/seo-specialist.server.js +0 -211
  177. package/dist/mcps/knowledge-skills/seo-specialist.server.js.map +0 -1
  178. package/dist/mcps/librarian.server.d.ts +0 -17
  179. package/dist/mcps/librarian.server.d.ts.map +0 -1
  180. package/dist/mcps/librarian.server.js +0 -382
  181. package/dist/mcps/librarian.server.js.map +0 -1
  182. package/dist/optimization/performance-optimizer.d.ts +0 -179
  183. package/dist/optimization/performance-optimizer.d.ts.map +0 -1
  184. package/dist/optimization/performance-optimizer.js +0 -556
  185. package/dist/optimization/performance-optimizer.js.map +0 -1
  186. package/dist/utils/memory-pool.d.ts +0 -90
  187. package/dist/utils/memory-pool.d.ts.map +0 -1
  188. package/dist/utils/memory-pool.js +0 -245
  189. package/dist/utils/memory-pool.js.map +0 -1
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Pattern Learning Engine for P9 - ADAPTIVE_PATTERN_LEARNING
3
+ *
4
+ * Learns from performance data, generates adaptive modifications,
5
+ * and creates self-improving pattern definitions.
6
+ *
7
+ * @version 1.0.0
8
+ * @since 2026-03-05
9
+ */
10
+ import type { PatternUpdate } from "../core/kernel-patterns.js";
11
+ export interface LearningResult {
12
+ newPatterns: PatternUpdate[];
13
+ modifiedPatterns: PatternUpdate[];
14
+ removedPatterns: PatternUpdate[];
15
+ thresholdUpdates: PatternUpdate[];
16
+ recommendations: string[];
17
+ }
18
+ export interface AdaptiveLearningConfig {
19
+ enableAutoAddition: boolean;
20
+ enableAutoRemoval: boolean;
21
+ enableThresholdCalibration: boolean;
22
+ minConfidenceForAddition: number;
23
+ minSuccessRateForAddition: number;
24
+ maxPatterns: number;
25
+ }
26
+ export declare class PatternLearningEngine {
27
+ private config;
28
+ private learningHistory;
29
+ private readonly maxHistory;
30
+ constructor(config?: Partial<AdaptiveLearningConfig>);
31
+ /**
32
+ * Main learning function - analyzes data and generates adaptive modifications
33
+ */
34
+ learnFromData(outcomes: Array<{
35
+ taskId: string;
36
+ taskDescription: string;
37
+ routedAgent: string;
38
+ routedSkill: string;
39
+ confidence: number;
40
+ success: boolean;
41
+ }>, existingMappings: Array<{
42
+ keywords: string[];
43
+ skill: string;
44
+ agent: string;
45
+ confidence: number;
46
+ }>): LearningResult;
47
+ /**
48
+ * Generate pattern modifications based on performance
49
+ */
50
+ private generatePatternModifications;
51
+ /**
52
+ * Generate patterns for removal based on poor performance
53
+ */
54
+ private generatePatternRemovals;
55
+ /**
56
+ * Generate adaptive threshold updates
57
+ */
58
+ private generateThresholdUpdates;
59
+ /**
60
+ * Generate new pattern suggestions from emergent patterns
61
+ */
62
+ private generateNewPatterns;
63
+ /**
64
+ * Generate recommendations based on learning results
65
+ */
66
+ private generateRecommendations;
67
+ /**
68
+ * Get learning history
69
+ */
70
+ getLearningHistory(): LearningResult[];
71
+ /**
72
+ * Update configuration
73
+ */
74
+ updateConfig(newConfig: Partial<AdaptiveLearningConfig>): void;
75
+ /**
76
+ * Get current configuration
77
+ */
78
+ getConfig(): AdaptiveLearningConfig;
79
+ }
80
+ export declare const patternLearningEngine: PatternLearningEngine;
81
+ //# sourceMappingURL=pattern-learning-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pattern-learning-engine.d.ts","sourceRoot":"","sources":["../../src/analytics/pattern-learning-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAuC,MAAM,4BAA4B,CAAC;AAIrG,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,eAAe,EAAE,aAAa,EAAE,CAAC;IACjC,gBAAgB,EAAE,aAAa,EAAE,CAAC;IAClC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,0BAA0B,EAAE,OAAO,CAAC;IACpC,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAO;gBAEtB,MAAM,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC;IAWpD;;OAEG;IACH,aAAa,CACX,QAAQ,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC,EACF,gBAAgB,EAAE,KAAK,CAAC;QACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,GACD,cAAc;IAsGjB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA6BpC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA6B/B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4BhC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,kBAAkB,IAAI,cAAc,EAAE;IAItC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,IAAI;IAe9D;;OAEG;IACH,SAAS,IAAI,sBAAsB;CAGpC;AAGD,eAAO,MAAM,qBAAqB,uBAA8B,CAAC"}
@@ -0,0 +1,262 @@
1
+ /**
2
+ * Pattern Learning Engine for P9 - ADAPTIVE_PATTERN_LEARNING
3
+ *
4
+ * Learns from performance data, generates adaptive modifications,
5
+ * and creates self-improving pattern definitions.
6
+ *
7
+ * @version 1.0.0
8
+ * @since 2026-03-05
9
+ */
10
+ import { frameworkLogger } from "../core/framework-logger.js";
11
+ import { patternPerformanceTracker } from "./pattern-performance-tracker.js";
12
+ import { emergingPatternDetector } from "./emerging-pattern-detector.js";
13
+ export class PatternLearningEngine {
14
+ config;
15
+ learningHistory = [];
16
+ maxHistory = 100;
17
+ constructor(config) {
18
+ this.config = {
19
+ enableAutoAddition: config?.enableAutoAddition ?? true,
20
+ enableAutoRemoval: config?.enableAutoRemoval ?? true,
21
+ enableThresholdCalibration: config?.enableThresholdCalibration ?? true,
22
+ minConfidenceForAddition: config?.minConfidenceForAddition ?? 0.8,
23
+ minSuccessRateForAddition: config?.minSuccessRateForAddition ?? 0.85,
24
+ maxPatterns: config?.maxPatterns ?? 500
25
+ };
26
+ }
27
+ /**
28
+ * Main learning function - analyzes data and generates adaptive modifications
29
+ */
30
+ learnFromData(outcomes, existingMappings) {
31
+ const result = {
32
+ newPatterns: [],
33
+ modifiedPatterns: [],
34
+ removedPatterns: [],
35
+ thresholdUpdates: [],
36
+ recommendations: []
37
+ };
38
+ // Track performance for each agent:skill combination
39
+ const agentSkillMetrics = new Map();
40
+ for (const outcome of outcomes) {
41
+ const patternId = `${outcome.routedAgent}:${outcome.routedSkill}`;
42
+ // Track in performance tracker
43
+ patternPerformanceTracker.trackPatternPerformance(patternId, {
44
+ success: outcome.success,
45
+ confidence: outcome.confidence
46
+ });
47
+ // Track in local metrics
48
+ if (!agentSkillMetrics.has(patternId)) {
49
+ agentSkillMetrics.set(patternId, {
50
+ patternId,
51
+ totalUsages: 0,
52
+ successfulUsages: 0,
53
+ failedUsages: 0,
54
+ successRate: 0,
55
+ avgConfidence: 0,
56
+ avgResponseTime: 0,
57
+ lastUpdated: new Date(),
58
+ timeSeries: []
59
+ });
60
+ }
61
+ const metrics = agentSkillMetrics.get(patternId);
62
+ metrics.totalUsages++;
63
+ if (outcome.success) {
64
+ metrics.successfulUsages++;
65
+ }
66
+ else {
67
+ metrics.failedUsages++;
68
+ }
69
+ metrics.successRate = metrics.successfulUsages / metrics.totalUsages;
70
+ metrics.avgConfidence = (metrics.avgConfidence * 0.9) + (outcome.confidence * 0.1);
71
+ metrics.lastUpdated = new Date();
72
+ }
73
+ // Generate pattern modifications
74
+ result.modifiedPatterns = this.generatePatternModifications(agentSkillMetrics);
75
+ result.removedPatterns = this.generatePatternRemovals(agentSkillMetrics, existingMappings);
76
+ // Generate threshold updates
77
+ if (this.config.enableThresholdCalibration) {
78
+ result.thresholdUpdates = this.generateThresholdUpdates(agentSkillMetrics);
79
+ }
80
+ // Detect emerging patterns for new additions
81
+ if (this.config.enableAutoAddition) {
82
+ const emergentResult = emergingPatternDetector.detectEmergingPatterns(outcomes.map(o => ({
83
+ taskId: o.taskId,
84
+ taskDescription: o.taskDescription,
85
+ routedAgent: o.routedAgent,
86
+ routedSkill: o.routedSkill,
87
+ confidence: o.confidence,
88
+ timestamp: new Date(),
89
+ success: o.success
90
+ })));
91
+ result.newPatterns = this.generateNewPatterns(emergentResult.emergentPatterns, existingMappings);
92
+ }
93
+ // Generate recommendations
94
+ result.recommendations = this.generateRecommendations(result);
95
+ // Store in history
96
+ this.learningHistory.push(result);
97
+ if (this.learningHistory.length > this.maxHistory) {
98
+ this.learningHistory.shift();
99
+ }
100
+ frameworkLogger.log("pattern-learning-engine", "learning-complete", "info", {
101
+ newPatterns: result.newPatterns.length,
102
+ modifiedPatterns: result.modifiedPatterns.length,
103
+ removedPatterns: result.removedPatterns.length,
104
+ thresholdUpdates: result.thresholdUpdates.length
105
+ }, undefined);
106
+ return result;
107
+ }
108
+ /**
109
+ * Generate pattern modifications based on performance
110
+ */
111
+ generatePatternModifications(metrics) {
112
+ const updates = [];
113
+ for (const [patternId, metric] of metrics.entries()) {
114
+ // Skip if not enough data
115
+ if (metric.totalUsages < 5)
116
+ continue;
117
+ // Check for confidence adjustment needed
118
+ if (Math.abs(metric.avgConfidence - 0.75) > 0.15) {
119
+ const newConfidence = Math.max(0.5, Math.min(0.99, metric.successRate));
120
+ updates.push({
121
+ updateType: 'modify',
122
+ patternId,
123
+ changes: {
124
+ confidence: newConfidence
125
+ },
126
+ reason: `Performance-based confidence adjustment: ${metric.successRate.toFixed(2)} success rate`,
127
+ confidence: Math.min(1, metric.totalUsages / 20),
128
+ validated: false
129
+ });
130
+ }
131
+ }
132
+ return updates;
133
+ }
134
+ /**
135
+ * Generate patterns for removal based on poor performance
136
+ */
137
+ generatePatternRemovals(metrics, existingMappings) {
138
+ const removals = [];
139
+ for (const [patternId, metric] of metrics.entries()) {
140
+ // Skip if not enough data
141
+ if (metric.totalUsages < 10)
142
+ continue;
143
+ // Remove if success rate is too low
144
+ if (metric.successRate < 0.4 && metric.totalUsages >= 20) {
145
+ // Find the corresponding mapping
146
+ const [agent, skill] = patternId.includes(':') ? patternId.split(':') : [patternId, 'default'];
147
+ removals.push({
148
+ updateType: 'remove',
149
+ patternId,
150
+ changes: {},
151
+ reason: `Low success rate: ${(metric.successRate * 100).toFixed(1)}% over ${metric.totalUsages} usages`,
152
+ confidence: Math.min(1, metric.totalUsages / 30),
153
+ validated: false
154
+ });
155
+ }
156
+ }
157
+ return removals;
158
+ }
159
+ /**
160
+ * Generate adaptive threshold updates
161
+ */
162
+ generateThresholdUpdates(metrics) {
163
+ const updates = [];
164
+ // Get adaptive thresholds from performance tracker
165
+ const thresholds = patternPerformanceTracker.calculateAdaptiveThresholds();
166
+ // Generate updates for agents with enough data
167
+ for (const [agent, threshold] of thresholds.perAgent.entries()) {
168
+ const metric = metrics.get(agent);
169
+ if (metric && metric.totalUsages >= 10) {
170
+ updates.push({
171
+ updateType: 'modify',
172
+ patternId: `threshold:${agent}`,
173
+ changes: {
174
+ threshold
175
+ },
176
+ reason: `Adaptive threshold calibration based on ${metric.totalUsages} historical usages`,
177
+ confidence: Math.min(1, metric.totalUsages / 20),
178
+ validated: false
179
+ });
180
+ }
181
+ }
182
+ return updates;
183
+ }
184
+ /**
185
+ * Generate new pattern suggestions from emergent patterns
186
+ */
187
+ generateNewPatterns(emergentPatterns, existingMappings) {
188
+ const newPatterns = [];
189
+ for (const emergent of emergentPatterns) {
190
+ // Skip if confidence is too low
191
+ if (emergent.confidence < this.config.minConfidenceForAddition)
192
+ continue;
193
+ // Check if pattern already exists
194
+ const keywords = emergent.pattern.split(' | ');
195
+ const existingMatch = existingMappings.find(m => m.keywords.some(kw => keywords.includes(kw)));
196
+ if (existingMatch)
197
+ continue; // Don't add duplicate
198
+ // Add as new pattern
199
+ newPatterns.push({
200
+ updateType: 'add',
201
+ patternId: `emerging_${emergent.pattern.substring(0, 20)}`,
202
+ changes: {
203
+ keywords,
204
+ skill: emergent.suggestedAction.includes('testing') ? 'testing-strategy' : 'code-review',
205
+ agent: emergent.suggestedAction.includes('testing') ? 'testing-lead' : 'enforcer',
206
+ confidence: emergent.confidence
207
+ },
208
+ reason: `Emerging pattern with ${emergent.frequency} occurrences and ${(emergent.confidence * 100).toFixed(0)}% confidence`,
209
+ confidence: emergent.confidence,
210
+ validated: false
211
+ });
212
+ }
213
+ return newPatterns;
214
+ }
215
+ /**
216
+ * Generate recommendations based on learning results
217
+ */
218
+ generateRecommendations(result) {
219
+ const recommendations = [];
220
+ if (result.newPatterns.length > 0) {
221
+ recommendations.push(`${result.newPatterns.length} new patterns detected - review for addition`);
222
+ }
223
+ if (result.modifiedPatterns.length > 0) {
224
+ recommendations.push(`${result.modifiedPatterns.length} patterns recommended for confidence adjustment`);
225
+ }
226
+ if (result.removedPatterns.length > 0) {
227
+ recommendations.push(`${result.removedPatterns.length} underperforming patterns recommended for removal`);
228
+ }
229
+ if (result.thresholdUpdates.length > 0) {
230
+ recommendations.push(`${result.thresholdUpdates.length} adaptive threshold updates available`);
231
+ }
232
+ if (recommendations.length === 0) {
233
+ recommendations.push('No pattern modifications recommended at this time');
234
+ }
235
+ return recommendations;
236
+ }
237
+ /**
238
+ * Get learning history
239
+ */
240
+ getLearningHistory() {
241
+ return [...this.learningHistory];
242
+ }
243
+ /**
244
+ * Update configuration
245
+ */
246
+ updateConfig(newConfig) {
247
+ this.config = {
248
+ ...this.config,
249
+ ...newConfig
250
+ };
251
+ frameworkLogger.log("pattern-learning-engine", "config-updated", "info", { config: this.config }, undefined);
252
+ }
253
+ /**
254
+ * Get current configuration
255
+ */
256
+ getConfig() {
257
+ return { ...this.config };
258
+ }
259
+ }
260
+ // Singleton instance
261
+ export const patternLearningEngine = new PatternLearningEngine();
262
+ //# sourceMappingURL=pattern-learning-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pattern-learning-engine.js","sourceRoot":"","sources":["../../src/analytics/pattern-learning-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Pattern Performance Tracker for P9 - ADAPTIVE_PATTERN_LEARNING
3
+ *
4
+ * Monitors pattern effectiveness over time, detects pattern drift,
5
+ * and provides metrics for adaptive kernel modifications.
6
+ *
7
+ * @version 1.0.0
8
+ * @since 2026-03-05
9
+ */
10
+ import type { AdaptiveThresholds } from "../core/kernel-patterns.js";
11
+ export interface PatternMetrics {
12
+ patternId: string;
13
+ totalUsages: number;
14
+ successfulUsages: number;
15
+ failedUsages: number;
16
+ successRate: number;
17
+ avgConfidence: number;
18
+ avgResponseTime: number;
19
+ lastUpdated: Date;
20
+ timeSeries: Array<{
21
+ timestamp: Date;
22
+ successRate: number;
23
+ avgConfidence: number;
24
+ usageCount: number;
25
+ }>;
26
+ }
27
+ export interface PatternDriftAnalysis {
28
+ drifted: boolean;
29
+ patternId: string;
30
+ currentMetrics: PatternMetrics;
31
+ historicalBaseline: PatternMetrics;
32
+ driftMagnitude: number;
33
+ driftDirection: 'increasing' | 'decreasing' | 'unstable';
34
+ confidence: number;
35
+ recommendedAction: string;
36
+ }
37
+ export interface SystemPerformanceSummary {
38
+ overallSuccessRate: number;
39
+ overallAvgConfidence: number;
40
+ totalPatternsTracked: number;
41
+ patternsWithDrift: string[];
42
+ patternsNeedingAttention: string[];
43
+ recommendations: string[];
44
+ }
45
+ export declare class PatternPerformanceTracker {
46
+ private patternMetrics;
47
+ private readonly maxTimeSeriesPoints;
48
+ private readonly driftThreshold;
49
+ private readonly minSamplesForDrift;
50
+ private readonly baselineWindowSize;
51
+ /**
52
+ * Track performance metrics for a pattern
53
+ */
54
+ trackPatternPerformance(patternId: string, outcome: {
55
+ success: boolean;
56
+ confidence: number;
57
+ responseTime?: number;
58
+ }): void;
59
+ /**
60
+ * Detect if a pattern has drifted from its historical baseline
61
+ */
62
+ detectPatternDrift(patternId: string): PatternDriftAnalysis | null;
63
+ /**
64
+ * Get all pattern drift analyses
65
+ */
66
+ getAllDriftAnalyses(): PatternDriftAnalysis[];
67
+ /**
68
+ * Calculate adaptive confidence thresholds based on performance
69
+ */
70
+ calculateAdaptiveThresholds(): AdaptiveThresholds;
71
+ /**
72
+ * Get system performance summary
73
+ */
74
+ getSystemPerformanceSummary(): SystemPerformanceSummary;
75
+ /**
76
+ * Get metrics for a specific pattern
77
+ */
78
+ getPatternMetrics(patternId: string): PatternMetrics | null;
79
+ /**
80
+ * Get all tracked patterns
81
+ */
82
+ getAllPatternMetrics(): PatternMetrics[];
83
+ /**
84
+ * Clear all metrics (for testing or reset)
85
+ */
86
+ clear(): void;
87
+ }
88
+ export declare const patternPerformanceTracker: PatternPerformanceTracker;
89
+ //# sourceMappingURL=pattern-performance-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pattern-performance-tracker.d.ts","sourceRoot":"","sources":["../../src/analytics/pattern-performance-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAoB,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEvF,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,IAAI,CAAC;IAClB,UAAU,EAAE,KAAK,CAAC;QAChB,SAAS,EAAE,IAAI,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,kBAAkB,EAAE,cAAc,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,YAAY,GAAG,YAAY,GAAG,UAAU,CAAC;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,qBAAa,yBAAyB;IACpC,OAAO,CAAC,cAAc,CAA0C;IAChE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IACzC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAO;IAE1C;;OAEG;IACH,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QACP,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GACA,IAAI;IAsEP;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAyElE;;OAEG;IACH,mBAAmB,IAAI,oBAAoB,EAAE;IAa7C;;OAEG;IACH,2BAA2B,IAAI,kBAAkB;IAkEjD;;OAEG;IACH,2BAA2B,IAAI,wBAAwB;IAsDvD;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAI3D;;OAEG;IACH,oBAAoB,IAAI,cAAc,EAAE;IAIxC;;OAEG;IACH,KAAK,IAAI,IAAI;CAUd;AAGD,eAAO,MAAM,yBAAyB,2BAAkC,CAAC"}