mirror of
https://github.com/ruvnet/RuView
synced 2026-08-06 19:51:43 +00:00
feat: vendor midstream and sublinear-time-solver libraries
Add ruvnet/midstream (AIMDS real-time inference) and ruvnet/sublinear-time-solver (sublinear optimization algorithms) as vendored dependencies under vendor/. Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
+134
@@ -0,0 +1,134 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const fs = require('fs');
|
||||
|
||||
console.log('🔬 COMMUNICATION PROTOCOL VALIDATOR INITIALIZATION');
|
||||
console.log('======================================================================');
|
||||
console.log('🎯 Mission: Validate individual communication protocols');
|
||||
console.log('📡 Testing handshake sequences and response validation');
|
||||
console.log('🔍 Analyzing pattern consistency and signal integrity');
|
||||
console.log('');
|
||||
|
||||
const sessionId = 'protocol_' + Date.now() + '_' + Math.random().toString(36).substr(2, 9);
|
||||
console.log(`[${new Date().toISOString()}] 🔬 Protocol Validator Initialized`, { sessionId });
|
||||
|
||||
let protocolTests = 0;
|
||||
let successfulHandshakes = 0;
|
||||
let failedAttempts = 0;
|
||||
const startTime = Date.now();
|
||||
|
||||
// Protocol testing configurations
|
||||
const protocols = [
|
||||
{ name: 'Binary Handshake', pattern: [1, 0, 1, 0], confidence: 0.95 },
|
||||
{ name: 'Numerical Sequence', pattern: [-0.029, -0.029, -0.029], confidence: 0.90 },
|
||||
{ name: 'Fibonacci Echo', pattern: [1, 1, 2, 3, 5], confidence: 0.85 },
|
||||
{ name: 'Prime Modulation', pattern: [2, 3, 5, 7, 11], confidence: 0.88 },
|
||||
{ name: 'Sine Wave Pattern', pattern: [0, 0.707, 1, 0.707, 0], confidence: 0.92 }
|
||||
];
|
||||
|
||||
function testProtocol(protocol) {
|
||||
protocolTests++;
|
||||
|
||||
const response = protocol.pattern.map(val => {
|
||||
const noise = (Math.random() - 0.5) * 0.01;
|
||||
return val + noise;
|
||||
});
|
||||
|
||||
const similarity = calculateSimilarity(protocol.pattern, response);
|
||||
const success = similarity > protocol.confidence;
|
||||
|
||||
if (success) {
|
||||
successfulHandshakes++;
|
||||
console.log(`[${new Date().toISOString()}] ✅ Protocol validation SUCCESS`, {
|
||||
protocol: protocol.name,
|
||||
similarity: similarity.toFixed(4),
|
||||
pattern: protocol.pattern,
|
||||
response: response.map(v => v.toFixed(4))
|
||||
});
|
||||
} else {
|
||||
failedAttempts++;
|
||||
console.log(`[${new Date().toISOString()}] ❌ Protocol validation FAILED`, {
|
||||
protocol: protocol.name,
|
||||
similarity: similarity.toFixed(4),
|
||||
threshold: protocol.confidence
|
||||
});
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
function calculateSimilarity(pattern1, pattern2) {
|
||||
if (pattern1.length !== pattern2.length) return 0;
|
||||
|
||||
let sumDiff = 0;
|
||||
for (let i = 0; i < pattern1.length; i++) {
|
||||
sumDiff += Math.abs(pattern1[i] - pattern2[i]);
|
||||
}
|
||||
|
||||
const maxPossibleDiff = pattern1.length * Math.max(...pattern1.map(Math.abs));
|
||||
return 1 - (sumDiff / maxPossibleDiff);
|
||||
}
|
||||
|
||||
function runValidationSuite() {
|
||||
console.log(`[${new Date().toISOString()}] 🔄 Running protocol validation suite`);
|
||||
|
||||
protocols.forEach(protocol => {
|
||||
setTimeout(() => {
|
||||
testProtocol(protocol);
|
||||
}, Math.random() * 1000);
|
||||
});
|
||||
}
|
||||
|
||||
function logValidationStats() {
|
||||
const elapsed = Date.now() - startTime;
|
||||
const successRate = protocolTests > 0 ? (successfulHandshakes / protocolTests * 100).toFixed(1) : 0;
|
||||
|
||||
console.log(`[${new Date().toISOString()}] 📊 Protocol Validation Statistics`, {
|
||||
elapsed: `${(elapsed / 1000).toFixed(1)}s`,
|
||||
totalTests: protocolTests,
|
||||
successful: successfulHandshakes,
|
||||
failed: failedAttempts,
|
||||
successRate: `${successRate}%`,
|
||||
protocolsActive: protocols.length
|
||||
});
|
||||
}
|
||||
|
||||
// Main validation loop
|
||||
console.log(`[${new Date().toISOString()}] 🚀 Starting Protocol Validator main loop`);
|
||||
|
||||
// Initial validation
|
||||
runValidationSuite();
|
||||
|
||||
// Set up intervals
|
||||
const validationInterval = setInterval(() => {
|
||||
runValidationSuite();
|
||||
}, 10000); // Every 10 seconds
|
||||
|
||||
const statsInterval = setInterval(() => {
|
||||
logValidationStats();
|
||||
}, 30000); // Every 30 seconds
|
||||
|
||||
const statusInterval = setInterval(() => {
|
||||
console.log(`[${new Date().toISOString()}] ✅ Protocol Validator Status: ACTIVE`, {
|
||||
uptime: `${((Date.now() - startTime) / 1000).toFixed(1)}s`,
|
||||
testsCompleted: protocolTests,
|
||||
currentSuccessRate: protocolTests > 0 ? `${(successfulHandshakes / protocolTests * 100).toFixed(1)}%` : '0%'
|
||||
});
|
||||
}, 45000);
|
||||
|
||||
console.log('🔄 Protocol Validator now running in background...');
|
||||
console.log('📊 Testing 5 different communication protocols');
|
||||
console.log('⏱️ Will run continuously for validation data collection');
|
||||
console.log('');
|
||||
|
||||
// Graceful shutdown
|
||||
process.on('SIGINT', () => {
|
||||
console.log(`\n[${new Date().toISOString()}] 🛑 Protocol Validator shutting down...`);
|
||||
clearInterval(validationInterval);
|
||||
clearInterval(statsInterval);
|
||||
clearInterval(statusInterval);
|
||||
|
||||
logValidationStats();
|
||||
console.log(`[${new Date().toISOString()}] ✅ Protocol Validator terminated gracefully`);
|
||||
process.exit(0);
|
||||
});
|
||||
Reference in New Issue
Block a user