Files
proffesor-for-testing__agen…/docs/migration/duplicate-analysis.json
Profa 08568286ef refactor(tests): aggressive test suite consolidation (-60% lines, -54% files)
Major test suite migration and cleanup completing Issue #103:

## Metrics
- Files: 426 → 197 (-229 files, -53.8%)
- Lines: 208,253 → 82,698 (-125,555 lines, -60.3%)
- Large files (>600 lines): 149 → 25 (-83.2%)
- Skipped tests: 7 → 0 (-100%)

## Categories Deleted
- Phase 1/2/3 milestone tests (superseded by journey tests)
- MCP handler implementation tests (covered by contract tests)
- Comprehensive/exhaustive internal tests
- Duplicate algorithm tests (Q-learning, SARSA, Actor-Critic)
- Internal utility tests (Logger, migration tools)
- Mock-based tests with no real integration value

## High-Value Tests Preserved
- 7 journey tests (user workflows)
- CLI tests (user-facing commands)
- E2E tests (end-to-end workflows)
- Core infrastructure tests (memory, hooks, privacy)
- MCP contract tests (API stability)
- Unique integration tests (neural, multi-agent)

## New CI/CD Infrastructure
- .github/workflows/optimized-ci.yml (parallel jobs)
- scripts/test-dashboard.js (metrics visualization)
- scripts/test-ci-optimized.sh (batched execution)
- New test scripts: test:journeys, test:contracts, test:fast

## Coverage Thresholds
- Global: 80% lines, 75% branches
- Critical paths (core/, agents/): 85% coverage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 07:22:53 +00:00

432 lines
19 KiB
JSON

{
"timestamp": "2025-12-07T19:04:26.535Z",
"totalFiles": 416,
"totalLines": 203865,
"largeFiles": [
{
"path": "/workspaces/agentic-qe-cf/tests/unit/agents/TestGeneratorAgent.comprehensive.test.ts",
"lines": 1477
},
{
"path": "/workspaces/agentic-qe-cf/tests/agents/RequirementsValidatorAgent.test.ts",
"lines": 1376
},
{
"path": "/workspaces/agentic-qe-cf/tests/agents/TestDataArchitectAgent.test.ts",
"lines": 1304
},
{
"path": "/workspaces/agentic-qe-cf/tests/unit/agents/BaseAgent.test.ts",
"lines": 1276
},
{
"path": "/workspaces/agentic-qe-cf/tests/agents/DeploymentReadinessAgent.test.ts",
"lines": 1218
},
{
"path": "/workspaces/agentic-qe-cf/tests/integration/api-contract-validator-integration.test.ts",
"lines": 1171
},
{
"path": "/workspaces/agentic-qe-cf/tests/unit/learning/LearningEngine.test.ts",
"lines": 1152
},
{
"path": "/workspaces/agentic-qe-cf/tests/agents/RegressionRiskAnalyzerAgent.test.ts",
"lines": 1114
},
{
"path": "/workspaces/agentic-qe-cf/tests/mcp/handlers/coordination/task-orchestrate.test.ts",
"lines": 1113
},
{
"path": "/workspaces/agentic-qe-cf/tests/mcp/handlers/quality/quality-gate-execute.test.ts",
"lines": 1101
},
{
"path": "/workspaces/agentic-qe-cf/tests/mcp/handlers/coordination/workflow-resume.test.ts",
"lines": 1080
},
{
"path": "/workspaces/agentic-qe-cf/tests/agents/FlakyTestHunterAgent.test.ts",
"lines": 1076
},
{
"path": "/workspaces/agentic-qe-cf/tests/integration/mcp-optimization.test.ts",
"lines": 1056
},
{
"path": "/workspaces/agentic-qe-cf/tests/mcp/handlers/coordination/workflow-create.test.ts",
"lines": 1027
},
{
"path": "/workspaces/agentic-qe-cf/tests/integration/test-data-architect-integration.test.ts",
"lines": 1023
},
{
"path": "/workspaces/agentic-qe-cf/tests/mcp/handlers/analysis/security-scan-comprehensive.test.ts",
"lines": 1023
}
],
"duplicates": [
{
"pattern": "Base",
"files": [
"/workspaces/agentic-qe-cf/tests/agents/BaseAgent.test.ts",
"/workspaces/agentic-qe-cf/tests/agents/BaseAgent.race-condition.test.ts",
"/workspaces/agentic-qe-cf/tests/agents/BaseAgent.lifecycle.test.ts",
"/workspaces/agentic-qe-cf/tests/agents/BaseAgent.edge-cases.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/agents/BaseAgent.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/agents/BaseAgent.enhanced.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/agents/BaseAgent.comprehensive.test.ts"
],
"totalLines": 5331,
"overlapPercentage": 13,
"recommendation": "keep"
},
{
"pattern": "TestGenerator",
"files": [
"/workspaces/agentic-qe-cf/tests/agents/TestGeneratorAgent.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/agents/TestGeneratorAgent.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/agents/TestGeneratorAgent.comprehensive.test.ts"
],
"totalLines": 2712,
"overlapPercentage": 6,
"recommendation": "keep"
},
{
"pattern": "LearningEngine",
"files": [
"/workspaces/agentic-qe-cf/tests/unit/learning/LearningEngine.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/learning/LearningEngine.database.test.ts"
],
"totalLines": 1955,
"overlapPercentage": 0,
"recommendation": "keep"
},
{
"pattern": "QualityAnalyzer",
"files": [
"/workspaces/agentic-qe-cf/tests/agents/QualityAnalyzerAgent.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/agents/QualityAnalyzerAgent.comprehensive.test.ts"
],
"totalLines": 1401,
"overlapPercentage": 12,
"recommendation": "keep"
},
{
"pattern": "integration",
"files": [
"/workspaces/agentic-qe-cf/tests/routing/integration.test.ts",
"/workspaces/agentic-qe-cf/tests/learning/integration.test.ts"
],
"totalLines": 1349,
"overlapPercentage": 0,
"recommendation": "keep"
},
{
"pattern": "QEReasoningBank",
"files": [
"/workspaces/agentic-qe-cf/tests/unit/reasoning/QEReasoningBank.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/reasoning/QEReasoningBank.enhanced.test.ts"
],
"totalLines": 1346,
"overlapPercentage": 3,
"recommendation": "keep"
},
{
"pattern": "cli",
"files": [
"/workspaces/agentic-qe-cf/tests/e2e/cli.test.ts",
"/workspaces/agentic-qe-cf/tests/cli/cli.test.ts",
"/workspaces/agentic-qe-cf/tests/integration/phase1/cli.test.ts"
],
"totalLines": 1206,
"overlapPercentage": 1,
"recommendation": "keep"
},
{
"pattern": "SwarmMemoryManager",
"files": [
"/workspaces/agentic-qe-cf/tests/memory/SwarmMemoryManager.test.ts",
"/workspaces/agentic-qe-cf/tests/core/memory/SwarmMemoryManager.test.ts"
],
"totalLines": 1174,
"overlapPercentage": 0,
"recommendation": "keep"
},
{
"pattern": "task-orchestrate",
"files": [
"/workspaces/agentic-qe-cf/tests/mcp/handlers/task-orchestrate.test.ts",
"/workspaces/agentic-qe-cf/tests/mcp/handlers/coordination/task-orchestrate.test.ts"
],
"totalLines": 1166,
"overlapPercentage": 1,
"recommendation": "keep"
},
{
"pattern": "learning-engine",
"files": [
"/workspaces/agentic-qe-cf/tests/phase2/learning-engine.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/learning/learning-engine.test.ts"
],
"totalLines": 1162,
"overlapPercentage": 5,
"recommendation": "keep"
},
{
"pattern": "performance",
"files": [
"/workspaces/agentic-qe-cf/tests/reasoning/performance.test.ts",
"/workspaces/agentic-qe-cf/tests/learning/performance.test.ts"
],
"totalLines": 1079,
"overlapPercentage": 3,
"recommendation": "keep"
},
{
"pattern": "FleetManager",
"files": [
"/workspaces/agentic-qe-cf/tests/unit/FleetManager.database.test.ts",
"/workspaces/agentic-qe-cf/tests/core/FleetManager.test.ts"
],
"totalLines": 1020,
"overlapPercentage": 0,
"recommendation": "keep"
},
{
"pattern": "QUICTransport",
"files": [
"/workspaces/agentic-qe-cf/tests/transport/QUICTransport.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/transport/QUICTransport.test.ts"
],
"totalLines": 963,
"overlapPercentage": 0,
"recommendation": "keep"
},
{
"pattern": "SecurityScanner",
"files": [
"/workspaces/agentic-qe-cf/tests/utils/SecurityScanner.test.ts",
"/workspaces/agentic-qe-cf/tests/agents/SecurityScannerAgent.test.ts"
],
"totalLines": 937,
"overlapPercentage": 0,
"recommendation": "keep"
},
{
"pattern": "EventBus",
"files": [
"/workspaces/agentic-qe-cf/tests/unit/EventBus.test.ts",
"/workspaces/agentic-qe-cf/tests/core/EventBus.test.ts"
],
"totalLines": 901,
"overlapPercentage": 9,
"recommendation": "keep"
},
{
"pattern": "",
"files": [
"/workspaces/agentic-qe-cf/tests/unit/Agent.test.ts",
"/workspaces/agentic-qe-cf/tests/core/Agent.test.ts"
],
"totalLines": 877,
"overlapPercentage": 4,
"recommendation": "delete"
},
{
"pattern": "agent-learning-persistence",
"files": [
"/workspaces/agentic-qe-cf/tests/integration/agent-learning-persistence.test.ts",
"/workspaces/agentic-qe-cf/tests/integration/learning/agent-learning-persistence.test.ts"
],
"totalLines": 847,
"overlapPercentage": 0,
"recommendation": "keep"
},
{
"pattern": "FlakyTestDetector",
"files": [
"/workspaces/agentic-qe-cf/tests/unit/learning/FlakyTestDetector.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/learning/FlakyTestDetector.ml.test.ts"
],
"totalLines": 826,
"overlapPercentage": 0,
"recommendation": "delete"
},
{
"pattern": "SwarmIntegration",
"files": [
"/workspaces/agentic-qe-cf/tests/unit/learning/SwarmIntegration.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/learning/SwarmIntegration.comprehensive.test.ts"
],
"totalLines": 772,
"overlapPercentage": 0,
"recommendation": "keep"
},
{
"pattern": "generate-report",
"files": [
"/workspaces/agentic-qe-cf/tests/mcp/handlers/security/generate-report.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/mcp/tools/qe/performance/generate-report.test.ts"
],
"totalLines": 526,
"overlapPercentage": 0,
"recommendation": "keep"
},
{
"pattern": "user",
"files": [
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764584065381/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583871570/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583584567/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583968268/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583823590/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583723189/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583589578/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583394780/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583006583/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583315751/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583154104/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764582661429/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764582808423/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764582304348/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764582441589/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764582032286/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764582188221/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581970878/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581920342/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581857275/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581790442/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581890526/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581837486/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581660653/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581718775/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523985451/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523973344/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523918059/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523948304/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523960423/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523934817/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523894087/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523877964/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523913041/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523839210/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523864991/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523825616/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523852630/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523811651/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523760840/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523800665/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523788604/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523723055/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523748958/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523709766/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523736655/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523694543/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523680854/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523650318/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523665475/tests/user.test.ts"
],
"totalLines": 400,
"overlapPercentage": 100,
"recommendation": "consolidate"
}
],
"categoryBreakdown": {
"user-value": {
"files": 250,
"lines": 122685
},
"implementation-detail": {
"files": 7,
"lines": 3400
},
"contract": {
"files": 90,
"lines": 46864
},
"unknown": {
"files": 69,
"lines": 30916
}
},
"recommendations": {
"filesToDelete": [
"/workspaces/agentic-qe-cf/tests/utils/SecureValidation.edge-cases.test.ts",
"/workspaces/agentic-qe-cf/tests/core/Agent.test.ts",
"/workspaces/agentic-qe-cf/tests/utils/sublinear/matrixSolver.test.ts",
"/workspaces/agentic-qe-cf/tests/utils/sublinear/coverageOptimizer.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/learning/FlakyTestDetector.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/learning/FlakyTestDetector.ml.test.ts",
"/workspaces/agentic-qe-cf/tests/unit/agents/NeuralCapableMixin.skip.test.ts",
"/workspaces/agentic-qe-cf/tests/core/memory/MigrationTools.test.ts"
],
"filesToConsolidate": [
{
"pattern": "user",
"files": [
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764584065381/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583871570/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583584567/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583968268/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583823590/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583723189/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583589578/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583394780/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583006583/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583315751/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764583154104/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764582661429/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764582808423/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764582304348/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764582441589/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764582032286/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764582188221/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581970878/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581920342/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581857275/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581790442/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581890526/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581837486/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581660653/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764581718775/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523985451/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523973344/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523918059/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523948304/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523960423/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523934817/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523894087/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523877964/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523913041/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523839210/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523864991/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523825616/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523852630/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523811651/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523760840/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523800665/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523788604/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523723055/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523748958/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523709766/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523736655/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523694543/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523680854/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523650318/tests/user.test.ts",
"/workspaces/agentic-qe-cf/tests/temp/cli-test-1764523665475/tests/user.test.ts"
],
"totalLines": 400,
"overlapPercentage": 100,
"recommendation": "consolidate"
}
],
"estimatedReduction": {
"files": 57,
"lines": 4022
}
}
}