mirror of
https://github.com/proffesor-for-testing/agentic-qe.git
synced 2026-09-19 08:45:47 +08:00
98e58c3c27
- Integrate 8 previously unregistered MCP handlers: - Chaos engineering: chaos_inject_latency, chaos_inject_failure, chaos_resilience_test - Integration testing: integration_dependency_check, integration_test_orchestrate - Token-optimized: test_execute_filtered, performance_test_filtered, quality_assess_filtered - Create NewDomainToolsHandler.ts to route new domain tools Dead code removal (~22k lines): - Delete 4 overlapping filtered handlers (coverage, flaky, security, contract) - Remove unused directories: src/alerting/, src/reporting/, src/transport/ - Remove 4 unregistered CLI command dirs: fleet/, test/, quality/, monitor/ (42 files) - Archive 10 one-time verification scripts to scripts/archive/ - Remove 2 CLI backup files (index-spec.ts, index-working.ts) Test organization: - Move HNSWPatternStore.test.ts from src/ to tests/unit/memory/ - Delete OutputFormatter duplicate test from src/ - Consolidate duplicate RuVector and learning-persistence tests - Rename RuVector.SelfLearning.test.ts for consistent naming Dependencies: - Remove unused packages: jose, @types/chrome, gpt-tokenizer Build config: - Exclude src/edge/ subdirectories from main tsconfig (separate build) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
127 lines
3.8 KiB
TypeScript
127 lines
3.8 KiB
TypeScript
#!/usr/bin/env ts-node
|
|
/**
|
|
* Quick verification script for QX HTML report generation
|
|
* Tests that the HTML report includes the QX framework attribution
|
|
*/
|
|
|
|
import { QXPartnerAgent } from '../src/agents/QXPartnerAgent';
|
|
import { QEAgentType } from '../src/types';
|
|
import { EventBus } from '../src/core/EventBus';
|
|
import { SwarmMemoryManager } from '../src/core/memory/SwarmMemoryManager';
|
|
|
|
async function verify() {
|
|
console.log('🔍 Verifying QX HTML Report Generation...\n');
|
|
|
|
// Create required dependencies
|
|
const eventBus = new EventBus();
|
|
const memoryStore = new SwarmMemoryManager(':memory:');
|
|
await memoryStore.initialize();
|
|
|
|
// Create QX Partner Agent
|
|
const agent = new QXPartnerAgent({
|
|
capabilities: [],
|
|
context: {
|
|
id: 'verify-test',
|
|
type: 'qx-partner',
|
|
status: 'active' as any
|
|
},
|
|
memoryStore: memoryStore as any,
|
|
eventBus,
|
|
enableLearning: false
|
|
});
|
|
|
|
await agent.initialize();
|
|
|
|
// Create a simple mock analysis to test HTML generation
|
|
const mockAnalysis = {
|
|
targetName: 'Test Website',
|
|
targetUrl: 'https://example.com',
|
|
timestamp: new Date().toISOString(),
|
|
overallScore: 85,
|
|
sixThinkingHats: {
|
|
whiteFacts: { facts: ['Test fact 1'], dataGaps: [] },
|
|
redFeelings: { emotions: [], concerns: [] },
|
|
blackCritical: { risks: [], challenges: [] },
|
|
yellowPositive: { strengths: [], opportunities: [] },
|
|
greenCreative: { ideas: [], innovations: [] },
|
|
blueMeta: { processInsights: [], improvements: [] }
|
|
},
|
|
impactAnalysis: {
|
|
visible: {
|
|
guiFlow: {
|
|
forEndUser: ['Simple navigation'],
|
|
forInternalUser: []
|
|
},
|
|
userFeelings: [
|
|
{ feeling: 'satisfied' as any, context: 'Easy to use', likelihood: 'high' as any }
|
|
]
|
|
},
|
|
invisible: {
|
|
userFeelings: []
|
|
},
|
|
immutableRequirements: [],
|
|
overallImpactScore: 80
|
|
},
|
|
heuristicAnalysis: {
|
|
heuristics: [
|
|
{
|
|
name: 'H001-Usability',
|
|
score: 85,
|
|
observations: ['Good usability'],
|
|
recommendations: ['Keep it simple']
|
|
}
|
|
],
|
|
overallScore: 85
|
|
},
|
|
synthesisRecommendations: {
|
|
immediate: ['Fix issue A'],
|
|
shortTerm: ['Improve feature B'],
|
|
longTerm: ['Consider redesign'],
|
|
overall: 'Good quality product'
|
|
}
|
|
};
|
|
|
|
// Generate HTML report (this should include the attribution)
|
|
const reportPath = await (agent as any).generateHTMLReport(mockAnalysis);
|
|
|
|
console.log(`✅ HTML report generated: ${reportPath}`);
|
|
|
|
// Read the generated HTML to verify attribution exists
|
|
const fs = require('fs');
|
|
const htmlContent = fs.readFileSync(reportPath, 'utf-8');
|
|
|
|
// Check for key attribution elements
|
|
const checks = [
|
|
{ name: 'QX Framework mention', pattern: /QX framework/i },
|
|
{ name: 'Quality Advocacy mention', pattern: /Quality Advocacy/i },
|
|
{ name: 'Lalitkumar Bhamare mention', pattern: /Lalitkumar Bhamare/i },
|
|
{ name: 'QCSD link', pattern: /https:\/\/talesoftesting\.com\/qcsd\//i },
|
|
{ name: 'User feelings rendering', pattern: /satisfied.*Easy to use/i }
|
|
];
|
|
|
|
console.log('\n📋 Verification Results:');
|
|
let allPassed = true;
|
|
|
|
for (const check of checks) {
|
|
const passed = check.pattern.test(htmlContent);
|
|
console.log(` ${passed ? '✅' : '❌'} ${check.name}`);
|
|
if (!passed) allPassed = false;
|
|
}
|
|
|
|
await agent.terminate();
|
|
await memoryStore.close();
|
|
|
|
if (allPassed) {
|
|
console.log('\n✅ All verifications passed! HTML report generation is working correctly.');
|
|
process.exit(0);
|
|
} else {
|
|
console.log('\n❌ Some verifications failed.');
|
|
process.exit(1);
|
|
}
|
|
}
|
|
|
|
verify().catch((error) => {
|
|
console.error('❌ Verification failed:', error);
|
|
process.exit(1);
|
|
});
|