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.
- package/.opencode/hooks/post-commit +152 -55
- package/.opencode/hooks/post-commit.backup +110 -174
- package/.opencode/hooks/post-push +47 -64
- package/.opencode/hooks/post-push.backup +34 -38
- package/.opencode/strray/features.json +3 -3
- package/.opencode/strray/routing-mappings.json +90 -34
- package/AGENTS.md +7 -2
- package/dist/analytics/anonymization-engine.d.ts +108 -0
- package/dist/analytics/anonymization-engine.d.ts.map +1 -0
- package/dist/analytics/anonymization-engine.js +352 -0
- package/dist/analytics/anonymization-engine.js.map +1 -0
- package/dist/analytics/consent-manager.d.ts +94 -0
- package/dist/analytics/consent-manager.d.ts.map +1 -0
- package/dist/analytics/consent-manager.js +257 -0
- package/dist/analytics/consent-manager.js.map +1 -0
- package/dist/analytics/emerging-pattern-detector.d.ts +68 -0
- package/dist/analytics/emerging-pattern-detector.d.ts.map +1 -0
- package/dist/analytics/emerging-pattern-detector.js +250 -0
- package/dist/analytics/emerging-pattern-detector.js.map +1 -0
- package/dist/analytics/pattern-learning-engine.d.ts +81 -0
- package/dist/analytics/pattern-learning-engine.d.ts.map +1 -0
- package/dist/analytics/pattern-learning-engine.js +262 -0
- package/dist/analytics/pattern-learning-engine.js.map +1 -0
- package/dist/analytics/pattern-performance-tracker.d.ts +89 -0
- package/dist/analytics/pattern-performance-tracker.d.ts.map +1 -0
- package/dist/analytics/pattern-performance-tracker.js +289 -0
- package/dist/analytics/pattern-performance-tracker.js.map +1 -0
- package/dist/analytics/prompt-pattern-analyzer.d.ts +100 -0
- package/dist/analytics/prompt-pattern-analyzer.d.ts.map +1 -0
- package/dist/analytics/prompt-pattern-analyzer.js +372 -0
- package/dist/analytics/prompt-pattern-analyzer.js.map +1 -0
- package/dist/analytics/routing-performance-analyzer.d.ts +102 -0
- package/dist/analytics/routing-performance-analyzer.d.ts.map +1 -0
- package/dist/analytics/routing-performance-analyzer.js +342 -0
- package/dist/analytics/routing-performance-analyzer.js.map +1 -0
- package/dist/analytics/routing-refiner.d.ts +105 -0
- package/dist/analytics/routing-refiner.d.ts.map +1 -0
- package/dist/analytics/routing-refiner.js +381 -0
- package/dist/analytics/routing-refiner.js.map +1 -0
- package/dist/cli/commands/analytics-disable.d.ts +10 -0
- package/dist/cli/commands/analytics-disable.d.ts.map +1 -0
- package/dist/cli/commands/analytics-disable.js +73 -0
- package/dist/cli/commands/analytics-disable.js.map +1 -0
- package/dist/cli/commands/analytics-enable-action.d.ts +9 -0
- package/dist/cli/commands/analytics-enable-action.d.ts.map +1 -0
- package/dist/cli/commands/analytics-enable-action.js +83 -0
- package/dist/cli/commands/analytics-enable-action.js.map +1 -0
- package/dist/cli/commands/analytics-preview.d.ts +10 -0
- package/dist/cli/commands/analytics-preview.d.ts.map +1 -0
- package/dist/cli/commands/analytics-preview.js +107 -0
- package/dist/cli/commands/analytics-preview.js.map +1 -0
- package/dist/cli/commands/analytics-status.d.ts +10 -0
- package/dist/cli/commands/analytics-status.d.ts.map +1 -0
- package/dist/cli/commands/analytics-status.js +68 -0
- package/dist/cli/commands/analytics-status.js.map +1 -0
- package/dist/cli/index.js +6 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/core/adaptive-kernel.d.ts +110 -0
- package/dist/core/adaptive-kernel.d.ts.map +1 -0
- package/dist/core/adaptive-kernel.js +193 -0
- package/dist/core/adaptive-kernel.js.map +1 -0
- package/dist/core/kernel-patterns.d.ts +105 -0
- package/dist/core/kernel-patterns.d.ts.map +1 -0
- package/dist/core/kernel-patterns.js +328 -0
- package/dist/core/kernel-patterns.js.map +1 -0
- package/dist/core/orchestrator.d.ts +1 -0
- package/dist/core/orchestrator.d.ts.map +1 -1
- package/dist/core/orchestrator.js +40 -11
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/delegation/agent-delegator.d.ts +1 -0
- package/dist/delegation/agent-delegator.d.ts.map +1 -1
- package/dist/delegation/agent-delegator.js +24 -2
- package/dist/delegation/agent-delegator.js.map +1 -1
- package/dist/delegation/task-skill-router.d.ts +269 -5
- package/dist/delegation/task-skill-router.d.ts.map +1 -1
- package/dist/delegation/task-skill-router.js +810 -23
- package/dist/delegation/task-skill-router.js.map +1 -1
- package/dist/postprocessor/PostProcessor.d.ts +10 -0
- package/dist/postprocessor/PostProcessor.d.ts.map +1 -1
- package/dist/postprocessor/PostProcessor.js +87 -17
- package/dist/postprocessor/PostProcessor.js.map +1 -1
- package/dist/processors/agents-md-validation-processor.d.ts +1 -0
- package/dist/processors/agents-md-validation-processor.d.ts.map +1 -1
- package/dist/processors/agents-md-validation-processor.js +34 -12
- package/dist/processors/agents-md-validation-processor.js.map +1 -1
- package/dist/processors/processor-manager.d.ts +7 -0
- package/dist/processors/processor-manager.d.ts.map +1 -1
- package/dist/processors/processor-manager.js +93 -0
- package/dist/processors/processor-manager.js.map +1 -1
- package/dist/processors/test-auto-creation-processor.d.ts.map +1 -1
- package/dist/processors/test-auto-creation-processor.js +52 -38
- package/dist/processors/test-auto-creation-processor.js.map +1 -1
- package/dist/scripts/analytics/daily-routing-analysis.d.ts +18 -0
- package/dist/scripts/analytics/daily-routing-analysis.d.ts.map +1 -0
- package/dist/scripts/analytics/daily-routing-analysis.js +268 -0
- package/dist/scripts/analytics/daily-routing-analysis.js.map +1 -0
- package/dist/scripts/analytics/index.d.ts +15 -0
- package/dist/scripts/analytics/index.d.ts.map +1 -0
- package/dist/scripts/analytics/index.js +17 -0
- package/dist/scripts/analytics/index.js.map +1 -0
- package/dist/scripts/test-p9.d.ts +15 -0
- package/dist/scripts/test-p9.d.ts.map +1 -0
- package/dist/scripts/test-p9.js +220 -0
- package/dist/scripts/test-p9.js.map +1 -0
- package/package.json +6 -2
- package/scripts/node/kernel-e2e-test.mjs +168 -0
- package/scripts/node/kernel-framework-test.mjs +127 -0
- package/scripts/node/kernel-live-test.mjs +147 -0
- package/scripts/node/kernel-real-framework-test.mjs +103 -0
- package/scripts/node/kernel-update.cjs +379 -0
- package/scripts/node/reflection-check.sh +245 -27
- package/scripts/node/test-simple-names-comprehensive.mjs +221 -0
- package/scripts/node/test-simple-names.mjs +39 -0
- package/dist/agents/documentation-writer.d.ts +0 -9
- package/dist/agents/documentation-writer.d.ts.map +0 -1
- package/dist/agents/documentation-writer.js +0 -85
- package/dist/agents/documentation-writer.js.map +0 -1
- package/dist/agents/explore.d.ts +0 -8
- package/dist/agents/explore.d.ts.map +0 -1
- package/dist/agents/explore.js +0 -55
- package/dist/agents/explore.js.map +0 -1
- package/dist/agents/librarian.d.ts +0 -3
- package/dist/agents/librarian.d.ts.map +0 -1
- package/dist/agents/librarian.js +0 -84
- package/dist/agents/librarian.js.map +0 -1
- package/dist/agents/marketing-expert.d.ts +0 -9
- package/dist/agents/marketing-expert.d.ts.map +0 -1
- package/dist/agents/marketing-expert.js +0 -112
- package/dist/agents/marketing-expert.js.map +0 -1
- package/dist/agents/oracle.d.ts +0 -8
- package/dist/agents/oracle.d.ts.map +0 -1
- package/dist/agents/oracle.js +0 -51
- package/dist/agents/oracle.js.map +0 -1
- package/dist/agents/seo-copywriter.d.ts +0 -10
- package/dist/agents/seo-copywriter.d.ts.map +0 -1
- package/dist/agents/seo-copywriter.js +0 -73
- package/dist/agents/seo-copywriter.js.map +0 -1
- package/dist/agents/seo-specialist.d.ts +0 -9
- package/dist/agents/seo-specialist.d.ts.map +0 -1
- package/dist/agents/seo-specialist.js +0 -54
- package/dist/agents/seo-specialist.js.map +0 -1
- package/dist/agents/test-architect.d.ts +0 -3
- package/dist/agents/test-architect.d.ts.map +0 -1
- package/dist/agents/test-architect.js +0 -96
- package/dist/agents/test-architect.js.map +0 -1
- package/dist/mcps/enhanced-orchestrator.server.d.ts +0 -14
- package/dist/mcps/enhanced-orchestrator.server.d.ts.map +0 -1
- package/dist/mcps/enhanced-orchestrator.server.js +0 -266
- package/dist/mcps/enhanced-orchestrator.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/analyzer.server.d.ts +0 -7
- package/dist/mcps/knowledge-skills/analyzer.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/analyzer.server.js +0 -282
- package/dist/mcps/knowledge-skills/analyzer.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/documentation-generation.server.d.ts +0 -48
- package/dist/mcps/knowledge-skills/documentation-generation.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/documentation-generation.server.js +0 -1238
- package/dist/mcps/knowledge-skills/documentation-generation.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/explore.server.d.ts +0 -21
- package/dist/mcps/knowledge-skills/explore.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/explore.server.js +0 -582
- package/dist/mcps/knowledge-skills/explore.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/marketing-expert.server.d.ts +0 -8
- package/dist/mcps/knowledge-skills/marketing-expert.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/marketing-expert.server.js +0 -356
- package/dist/mcps/knowledge-skills/marketing-expert.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/oracle.server.d.ts +0 -25
- package/dist/mcps/knowledge-skills/oracle.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/oracle.server.js +0 -569
- package/dist/mcps/knowledge-skills/oracle.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/seo-copywriter.server.d.ts +0 -8
- package/dist/mcps/knowledge-skills/seo-copywriter.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/seo-copywriter.server.js +0 -251
- package/dist/mcps/knowledge-skills/seo-copywriter.server.js.map +0 -1
- package/dist/mcps/knowledge-skills/seo-specialist.server.d.ts +0 -8
- package/dist/mcps/knowledge-skills/seo-specialist.server.d.ts.map +0 -1
- package/dist/mcps/knowledge-skills/seo-specialist.server.js +0 -211
- package/dist/mcps/knowledge-skills/seo-specialist.server.js.map +0 -1
- package/dist/mcps/librarian.server.d.ts +0 -17
- package/dist/mcps/librarian.server.d.ts.map +0 -1
- package/dist/mcps/librarian.server.js +0 -382
- package/dist/mcps/librarian.server.js.map +0 -1
- package/dist/optimization/performance-optimizer.d.ts +0 -179
- package/dist/optimization/performance-optimizer.d.ts.map +0 -1
- package/dist/optimization/performance-optimizer.js +0 -556
- package/dist/optimization/performance-optimizer.js.map +0 -1
- package/dist/utils/memory-pool.d.ts +0 -90
- package/dist/utils/memory-pool.d.ts.map +0 -1
- package/dist/utils/memory-pool.js +0 -245
- package/dist/utils/memory-pool.js.map +0 -1
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* StringRay Kernel Integration Script
|
|
5
|
+
*
|
|
6
|
+
* Updates kernel with new patterns from recent reflections
|
|
7
|
+
* Integrates kernel patterns into actual codebase
|
|
8
|
+
*
|
|
9
|
+
* ⚠️ READS AND WRITES CODE - BACKUP RECOMMENDED
|
|
10
|
+
*
|
|
11
|
+
* Run: node scripts/node/kernel-update.js
|
|
12
|
+
* With: --dry-run (to preview changes)
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
const fs = require('fs');
|
|
16
|
+
const path = require('path');
|
|
17
|
+
|
|
18
|
+
// ============================================================
|
|
19
|
+
// KERNEL UPDATE CONFIGURATION
|
|
20
|
+
// ============================================================
|
|
21
|
+
|
|
22
|
+
const KERNEL_CONFIG = {
|
|
23
|
+
kernelDir: './kernel',
|
|
24
|
+
patternsFile: './kernel/inference/BYTECODE.md',
|
|
25
|
+
targetFiles: [
|
|
26
|
+
'./src/delegation/agent-delegator.ts',
|
|
27
|
+
'./src/delegation/task-skill-router.ts',
|
|
28
|
+
'./src/core/orchestrator.ts',
|
|
29
|
+
],
|
|
30
|
+
backupDir: './backups/kernel-updates',
|
|
31
|
+
newPatterns: {
|
|
32
|
+
// From our v1.6.31 → v1.7.2 journey
|
|
33
|
+
securityTransformation: {
|
|
34
|
+
pattern: 'P6',
|
|
35
|
+
trigger: ['H-005', 'security vulnerability', 'authentication'],
|
|
36
|
+
action: 'SECURITY_TRANSFORMATION',
|
|
37
|
+
confidence: 0.95
|
|
38
|
+
},
|
|
39
|
+
releaseReadiness: {
|
|
40
|
+
pattern: 'P7',
|
|
41
|
+
trigger: ['precommit', 'validation', 'release blocked'],
|
|
42
|
+
action: 'COMPREHENSIVE_VALIDATION',
|
|
43
|
+
confidence: 0.90
|
|
44
|
+
},
|
|
45
|
+
infrastructureHardening: {
|
|
46
|
+
pattern: 'P8',
|
|
47
|
+
trigger: ['script permission', 'execution failed', 'chmod'],
|
|
48
|
+
action: 'INFRASTRUCTURE_HARDENING',
|
|
49
|
+
confidence: 0.88
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
// New assumptions from journey
|
|
53
|
+
newAssumptions: [
|
|
54
|
+
{
|
|
55
|
+
id: 'A8',
|
|
56
|
+
trigger: ['security later', 'optional security', 'after feature'],
|
|
57
|
+
action: 'SECURITY_IS_FOUNDATION',
|
|
58
|
+
reason: 'Security cannot be optional foundation'
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: 'A9',
|
|
62
|
+
trigger: ['works locally', 'localhost secure', 'tested locally'],
|
|
63
|
+
action: 'PRODUCTION_ENVIRONMENT_TESTING',
|
|
64
|
+
reason: 'Local ≠ production security'
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
// ============================================================
|
|
70
|
+
// PATTERN GENERATION
|
|
71
|
+
// ============================================================
|
|
72
|
+
|
|
73
|
+
function generateKernelPattern(pattern) {
|
|
74
|
+
return `
|
|
75
|
+
// KERNEL PATTERN: ${pattern.pattern}
|
|
76
|
+
// ============================================================
|
|
77
|
+
// TRIGGER: ${pattern.trigger.map(t => `'${t}'`).join(', ')}
|
|
78
|
+
// ACTION: ${pattern.action}
|
|
79
|
+
// CONFIDENCE: ${pattern.confidence}
|
|
80
|
+
// ============================================================
|
|
81
|
+
// Implementation Notes:
|
|
82
|
+
${generateImplementationNotes(pattern)}
|
|
83
|
+
`;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function generateImplementationNotes(pattern) {
|
|
87
|
+
const notes = {
|
|
88
|
+
'SECURITY_TRANSFORMATION': `
|
|
89
|
+
// Add security foundation checks before task delegation
|
|
90
|
+
if (this.detectSecurityAssumption(request)) {
|
|
91
|
+
return this.applySecurityFoundationProtocol(request);
|
|
92
|
+
}`,
|
|
93
|
+
|
|
94
|
+
'COMPREHENSIVE_VALIDATION': `
|
|
95
|
+
// 62-point validation before release approval
|
|
96
|
+
const validation = await this.runComprehensiveValidation();
|
|
97
|
+
if (validation.score < 0.95) {
|
|
98
|
+
return this.blockRelease(validation);
|
|
99
|
+
}`,
|
|
100
|
+
|
|
101
|
+
'INFRASTRUCTURE_HARDENING': `
|
|
102
|
+
// Validate script permissions and execution
|
|
103
|
+
if (!this.validateScriptPermissions()) {
|
|
104
|
+
return this.fixScriptInfrastructure();
|
|
105
|
+
}`
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
return notes[pattern.action] || '// Implementation notes not available';
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function generateKernelIntegrationCode() {
|
|
112
|
+
return `
|
|
113
|
+
// ============================================================
|
|
114
|
+
// KERNEL INTEGRATION CODE
|
|
115
|
+
// ============================================================
|
|
116
|
+
// This code should be added to target files after update
|
|
117
|
+
// ============================================================
|
|
118
|
+
|
|
119
|
+
// 1. AGENT DELEGATOR ENHANCEMENT
|
|
120
|
+
export class KernelEnhancedDelegator extends AgentDelegator {
|
|
121
|
+
private kernel: KernelAnalyzer;
|
|
122
|
+
|
|
123
|
+
constructor(config) {
|
|
124
|
+
super(config);
|
|
125
|
+
this.kernel = new KernelAnalyzer();
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
async delegate(request: DelegationRequest): Promise<DelegationResult> {
|
|
129
|
+
// STEP 1: Kernel pattern analysis
|
|
130
|
+
const kernelInsights = await this.kernel.analyze(request.description);
|
|
131
|
+
|
|
132
|
+
// STEP 2: Apply new security patterns (P6, A8, A9)
|
|
133
|
+
if (kernelInsights.securityTransformations) {
|
|
134
|
+
await this.applySecurityFoundation(kernelInsights);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// STEP 3: Apply release readiness pattern (P7)
|
|
138
|
+
if (this.isReleaseCandidate(request)) {
|
|
139
|
+
const validation = await this.runComprehensiveValidation();
|
|
140
|
+
if (validation.score < 0.95) {
|
|
141
|
+
return this.blockRelease(validation);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// STEP 4: Execute with kernel guidance
|
|
146
|
+
return super.delegate({
|
|
147
|
+
...request,
|
|
148
|
+
kernelGuidance: kernelInsights
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// 2. TASK SKILL ROUTER ENHANCEMENT
|
|
154
|
+
export class KernelEnhancedRouter extends TaskSkillRouter {
|
|
155
|
+
private kernel: KernelAnalyzer;
|
|
156
|
+
|
|
157
|
+
async route(task: TaskDefinition): Promise<RoutingResult> {
|
|
158
|
+
// Apply infrastructure hardening (P8)
|
|
159
|
+
if (this.detectScriptIssues(task)) {
|
|
160
|
+
return this.applyInfrastructureFix(task);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// Apply production environment testing (A9)
|
|
164
|
+
if (task.context?.production && this.isLocalTestingOnly(task)) {
|
|
165
|
+
return this.requireProductionTesting(task);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Use existing routing with kernel insights
|
|
169
|
+
const baseResult = await super.route(task);
|
|
170
|
+
|
|
171
|
+
return {
|
|
172
|
+
...baseResult,
|
|
173
|
+
kernelInsights: this.kernel.analyze(task.description)
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// 3. ORCHESTRATOR ENHANCEMENT
|
|
179
|
+
export class KernelEnhancedOrchestrator extends StringRayOrchestrator {
|
|
180
|
+
private kernel: KernelAnalyzer;
|
|
181
|
+
|
|
182
|
+
async executeTask(task: TaskDefinition): Promise<OrchestrationResult> {
|
|
183
|
+
// Kernel-informed task execution
|
|
184
|
+
const inferenceLevels = this.kernel.process(task.description);
|
|
185
|
+
|
|
186
|
+
// Apply security foundation (P6)
|
|
187
|
+
if (inferenceLevels.securityGaps) {
|
|
188
|
+
await this.establishSecurityFoundation(task);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
return super.executeTask({
|
|
192
|
+
...task,
|
|
193
|
+
kernelGuidance: inferenceLevels
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
}`;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// ============================================================
|
|
200
|
+
// ANALYSIS FUNCTIONS
|
|
201
|
+
// ============================================================
|
|
202
|
+
|
|
203
|
+
function analyzeCurrentKernel() {
|
|
204
|
+
const patternsContent = fs.readFileSync(KERNEL_CONFIG.patternsFile, 'utf8');
|
|
205
|
+
const lineCount = patternsContent.split('\\n').length;
|
|
206
|
+
const patternCount = (patternsContent.match(/PATTERN/g) || []).length;
|
|
207
|
+
const assumptionCount = (patternsContent.match(/A[0-9]/g) || []).length;
|
|
208
|
+
|
|
209
|
+
return {
|
|
210
|
+
lines: lineCount,
|
|
211
|
+
patterns: patternCount,
|
|
212
|
+
assumptions: assumptionCount,
|
|
213
|
+
density: (patternCount / lineCount * 100).toFixed(2)
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
function analyzeCodebaseReadiness() {
|
|
218
|
+
const readiness = {
|
|
219
|
+
agentDelegator: false,
|
|
220
|
+
taskRouter: false,
|
|
221
|
+
orchestrator: false
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
KERNEL_CONFIG.targetFiles.forEach(file => {
|
|
225
|
+
if (fs.existsSync(file)) {
|
|
226
|
+
const content = fs.readFileSync(file, 'utf8');
|
|
227
|
+
if (content.includes('KernelAnalyzer')) {
|
|
228
|
+
readiness[path.basename(file)] = true;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
return readiness;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
function generateAnalysisReport(currentState, codebaseState) {
|
|
237
|
+
return `
|
|
238
|
+
╔════════════════════════════════════════════════════════════╗
|
|
239
|
+
║ STRINGRAY KERNEL INTEGRATION ANALYSIS ║
|
|
240
|
+
╠═══════════════════════════════════════════════════════════╣
|
|
241
|
+
║ Generated: ${new Date().toISOString()} ║
|
|
242
|
+
╚═════════════════════════════════════════════════════════════╝
|
|
243
|
+
|
|
244
|
+
📊 CURRENT KERNEL STATE
|
|
245
|
+
──────────────────────────────────────────────────────────────────
|
|
246
|
+
• Pattern File: ${KERNEL_CONFIG.patternsFile}
|
|
247
|
+
• Total Lines: ${currentState.lines}
|
|
248
|
+
• Patterns: ${currentState.patterns}
|
|
249
|
+
• Assumptions: ${currentState.assumptions}
|
|
250
|
+
• Pattern Density: ${currentState.density}% patterns per 100 lines
|
|
251
|
+
|
|
252
|
+
🎯 NEW PATTERNS FROM V1.6.31→V1.7.2 JOURNEY
|
|
253
|
+
──────────────────────────────────────────────────────────────────
|
|
254
|
+
|
|
255
|
+
SECURITY TRANSFORMATION (P6):
|
|
256
|
+
• Trigger: ${KERNEL_CONFIG.newPatterns.securityTransformation.trigger.join(', ')}
|
|
257
|
+
• Action: ${KERNEL_CONFIG.newPatterns.securityTransformation.action}
|
|
258
|
+
• Confidence: ${KERNEL_CONFIG.newPatterns.securityTransformation.confidence}
|
|
259
|
+
|
|
260
|
+
RELEASE READINESS (P7):
|
|
261
|
+
• Trigger: ${KERNEL_CONFIG.newPatterns.releaseReadiness.trigger.join(', ')}
|
|
262
|
+
• Action: ${KERNEL_CONFIG.newPatterns.releaseReadiness.action}
|
|
263
|
+
• Confidence: ${KERNEL_CONFIG.newPatterns.releaseReadiness.confidence}
|
|
264
|
+
|
|
265
|
+
INFRASTRUCTURE HARDENING (P8):
|
|
266
|
+
• Trigger: ${KERNEL_CONFIG.newPatterns.infrastructureHardening.trigger.join(', ')}
|
|
267
|
+
• Action: ${KERNEL_CONFIG.newPatterns.infrastructureHardening.action}
|
|
268
|
+
• Confidence: ${KERNEL_CONFIG.newPatterns.infrastructureHardening.confidence}
|
|
269
|
+
|
|
270
|
+
🆕 NEW ASSUMPTIONS
|
|
271
|
+
──────────────────────────────────────────────────────────────────
|
|
272
|
+
|
|
273
|
+
ASSUMPTION A8 (Security Foundation):
|
|
274
|
+
• Trigger: ${KERNEL_CONFIG.newAssumptions[0].trigger.join(', ')}
|
|
275
|
+
• Action: ${KERNEL_CONFIG.newAssumptions[0].action}
|
|
276
|
+
• Reason: ${KERNEL_CONFIG.newAssumptions[0].reason}
|
|
277
|
+
|
|
278
|
+
ASSUMPTION A9 (Production Environment):
|
|
279
|
+
• Trigger: ${KERNEL_CONFIG.newAssumptions[1].trigger.join(', ')}
|
|
280
|
+
• Action: ${KERNEL_CONFIG.newAssumptions[1].action}
|
|
281
|
+
• Reason: ${KERNEL_CONFIG.newAssumptions[1].reason}
|
|
282
|
+
|
|
283
|
+
🏗️ CODEBASE INTEGRATION READINESS
|
|
284
|
+
──────────────────────────────────────────────────────────────────
|
|
285
|
+
|
|
286
|
+
Agent Delegator: ${codebaseState.agentDelegator ? '✅ READY' : '⚠️ NOT READY'}
|
|
287
|
+
Task Skill Router: ${codebaseState.taskRouter ? '✅ READY' : '⚠️ NOT READY'}
|
|
288
|
+
Orchestrator: ${codebaseState.orchestrator ? '✅ READY' : '⚠️ NOT READY'}
|
|
289
|
+
|
|
290
|
+
📋 RECOMMENDED NEXT STEPS
|
|
291
|
+
──────────────────────────────────────────────────────────────────
|
|
292
|
+
|
|
293
|
+
1. BACKUP CURRENT CODE
|
|
294
|
+
$ mkdir -p ${KERNEL_CONFIG.backupDir}
|
|
295
|
+
$ cp -r src/ ${KERNEL_CONFIG.backupDir}/$(date +%Y%m%d)
|
|
296
|
+
|
|
297
|
+
2. UPDATE KERNEL PATTERNS
|
|
298
|
+
$ # Add new patterns to kernel/inference/BYTECODE.md
|
|
299
|
+
$ # Include P6, P7, P8, A8, A9 from our journey
|
|
300
|
+
|
|
301
|
+
3. INTEGRATE KERNEL INTO CODEBASE
|
|
302
|
+
$ # Apply kernel integration code to:
|
|
303
|
+
$ # - src/delegation/agent-delegator.ts
|
|
304
|
+
$ # - src/delegation/task-skill-router.ts
|
|
305
|
+
$ # - src/core/orchestrator.ts
|
|
306
|
+
|
|
307
|
+
4. RUN ANALYSIS COMMANDS
|
|
308
|
+
$ npx strray-ai analytics # Check pattern effectiveness
|
|
309
|
+
$ npx strray-ai calibrate # Calibrate complexity predictions
|
|
310
|
+
$ npx strray-ai doctor # Validate integration
|
|
311
|
+
|
|
312
|
+
5. VALIDATE CHANGES
|
|
313
|
+
$ npm test -- src/__tests__/unit/kernel-integration.test.ts
|
|
314
|
+
$ npm run typecheck
|
|
315
|
+
$ npm run lint
|
|
316
|
+
|
|
317
|
+
⚠️ BACKUP YOUR CODE BEFORE MAKING CHANGES!
|
|
318
|
+
`;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
// ============================================================
|
|
322
|
+
// MAIN EXECUTION
|
|
323
|
+
// ============================================================
|
|
324
|
+
|
|
325
|
+
function main() {
|
|
326
|
+
const args = process.argv.slice(2);
|
|
327
|
+
const isDryRun = args.includes('--dry-run');
|
|
328
|
+
|
|
329
|
+
console.log(`
|
|
330
|
+
╔═════════════════════════════════════════════════════════════════╗
|
|
331
|
+
║ STRINGRAY KERNEL INTEGRATION UPDATE SCRIPT ║
|
|
332
|
+
╠═══════════════════════════════════════════════════════════╣
|
|
333
|
+
║ Version: v1.6.31 → v1.7.2 Kernel Integration ║
|
|
334
|
+
╚═════════════════════════════════════════════════════════════════╝
|
|
335
|
+
`);
|
|
336
|
+
|
|
337
|
+
if (isDryRun) {
|
|
338
|
+
console.log('🔍 DRY RUN MODE - No changes will be made\\n');
|
|
339
|
+
} else {
|
|
340
|
+
console.log('🚀 UPDATE MODE - Changes will be applied\\n');
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// Analyze current kernel state
|
|
344
|
+
console.log('📊 Analyzing current kernel...');
|
|
345
|
+
const currentState = analyzeCurrentKernel();
|
|
346
|
+
|
|
347
|
+
// Analyze codebase readiness
|
|
348
|
+
console.log('🏗️ Checking codebase integration readiness...');
|
|
349
|
+
const codebaseState = analyzeCodebaseReadiness();
|
|
350
|
+
|
|
351
|
+
// Generate analysis report
|
|
352
|
+
const report = generateAnalysisReport(currentState, codebaseState);
|
|
353
|
+
console.log(report);
|
|
354
|
+
|
|
355
|
+
// Generate integration code if not dry run
|
|
356
|
+
if (!isDryRun) {
|
|
357
|
+
const integrationCode = generateKernelIntegrationCode();
|
|
358
|
+
const integrationFile = './kernel-integration-code.ts';
|
|
359
|
+
fs.writeFileSync(integrationFile, integrationCode);
|
|
360
|
+
console.log(`\\n✅ Kernel integration code generated: ${integrationFile}`);
|
|
361
|
+
console.log('\\n🎯 Next: Review and apply the integration code to target files');
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
console.log('\\n📋 Pattern updates to apply manually:');
|
|
365
|
+
KERNEL_CONFIG.newPatterns.securityTransformation &&
|
|
366
|
+
console.log('\\n• Add P6 (Security Transformation) pattern');
|
|
367
|
+
KERNEL_CONFIG.newPatterns.releaseReadiness &&
|
|
368
|
+
console.log('• Add P7 (Release Readiness) pattern');
|
|
369
|
+
KERNEL_CONFIG.newPatterns.infrastructureHardening &&
|
|
370
|
+
console.log('• Add P8 (Infrastructure Hardening) pattern');
|
|
371
|
+
|
|
372
|
+
console.log('\\n🆕 New assumptions to add:');
|
|
373
|
+
KERNEL_CONFIG.newAssumptions.forEach(assumption => {
|
|
374
|
+
console.log(`• ${assumption.id}: ${assumption.action}`);
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// Run main function
|
|
379
|
+
main();
|