mirror of
https://github.com/proffesor-for-testing/agentic-qe.git
synced 2026-09-19 08:45:47 +08:00
1e3fbb5ea8
* SwarmMemoryManager Refactoring Plan * fix: add missing directories to npm package (v1.9.3) Added templates/, .claude/helpers/, and docs/reference/ to package.json files array. These were missing from the npm distribution, causing `aqe init` to fail with "Template file not found" errors. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * checkpoint improvements * fix: critical memory/learning system fixes for v1.9.4 ## Critical Fixes - Vector embeddings now stored correctly (was storing NULL) - SQL parameter style fixed for agentdb's SqlJsDatabase wrapper - HNSW index schema mismatch resolved with pattern_id column - Hooks now save to correct database (.agentic-qe/agentdb.db) ## New Features - Added 5 SwarmMemoryManager methods for learning data retrieval: - getBestAction() - Q-learning best action selection - getRecentLearningExperiences() - Recent experience retrieval - getLearningExperiencesByTaskType() - Task-filtered experiences - getHighRewardExperiences() - Successful experience extraction - getLearningStats() - Aggregate learning statistics - Added comprehensive integration test for memory/learning loop - Added RuVector pattern store integration (experimental) ## Technical Details - Vector embeddings: 384 dimensions × 4 bytes = 1,536 bytes per pattern - All 12 integration tests pass - HNSW index: 150x faster vector search enabled 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: move ARM64-only ruvector packages to optionalDependencies Fixes CI failures caused by platform-specific dependencies: - @ruvector/node-linux-arm64-gnu (ARM64 only) - ruvector-core-linux-arm64-gnu (ARM64 only) These packages caused npm ci to fail on x64 CI runners with: "EBADPLATFORM - wanted linux/arm64, current linux/x64" Solution: Move ARM64 packages to optionalDependencies and add x64 variants for cross-platform compatibility. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * chore: regenerate package-lock.json with x64 ruvector packages Updates lockfile to include optional x64 platform packages for CI compatibility: - @ruvector/node-linux-x64-gnu@0.1.17 - ruvector-core-linux-x64-gnu@0.1.15 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: replace fake QUIC with proper implementation and clean up skills manifest QUIC Transport: - Remove fake HTTP/2-based QUICTransport.ts that pretended to be QUIC - Add proper QUIC implementation via Rust/WASM (@agentic-flow/quic-wasm) - Add WebSocket fallback transport for when WASM unavailable - Add dedicated type declarations for optional WASM module - Features: 0-RTT connection, stream multiplexing, TLS 1.3 built-in Skills Manifest: - Rewrite skills-manifest.json with only QE skills (41 skills) - Remove Claude Flow platform skills (agentdb-*, flow-nexus-*, github-*, etc.) - Organize into proper categories: qe-core, testing-methodologies, etc. Bug Fixes: - Fix UnifiedMemoryCoordinator.ts TypeScript errors - Use Logger.getInstance() instead of private constructor - Use swarmMemory.query() instead of non-existent list() method - Use correct close() method signatures for backends 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: add QX Partner agent, compact subagents, fix CLAUDE.md dynamic counts - Add QX Partner agent for Quality Experience analysis combining QA + UX perspectives - Compact 9 subagent definitions to ~80 lines each (88% reduction) - Fix CLAUDE.md template to dynamically count agents (including subagents) and skills - Move CLAUDE.md creation after parallel phases for accurate counts - Remove 'Production-Ready' claim from README and CHANGELOG - Clean up backup files and move docs to proper directory Initialization now correctly reports: - 31 QE Agents (20 main + 11 subagents) - 53 QE Skills - 8 Slash Commands 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix: resolve CI failures and security alert #36 - Replace MD5 with SHA-256 for ETag calculation (security alert #36) - Fix CRLF line endings in shell scripts causing parse errors - Remove 'local' keyword from for-loop in test-integration-batched.sh - Use dynamic process.cwd() instead of hardcoded path in jest.config.js - Enhance quality-gate.ts to parse test logs when results file missing 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: Complete Agentic QE Fleet v2.1 implementation (closes #101) ## Implemented Features ### Error Recovery Enhancement (Task 1.3) - CircuitBreaker class with state management (CLOSED/OPEN/HALF_OPEN) - RetryStrategy with exponential/linear/constant backoff - RecoveryOrchestrator with 6 recovery strategies - Transport fallback mechanisms ### Dynamic Skill Loader (Task 2.2) - Metadata-only initial loading (98% token reduction) - On-demand full skill retrieval - LRU caching with configurable TTL (30min default) - Preload suggestions for critical workflows ### Swarm Learning Optimizer (Task 4.1) - Topology recommendation engine (hierarchical/mesh/ring/star) - Agent allocation with capability matching and load balancing - Bottleneck detection (agent/memory/coordination/IO) - Real-time performance adjustments - Added getLatestRecommendation() method ### Workflow Orchestrator (Task 4.2) - AdaptiveScheduler with dynamic strategy selection - Priority-based task queue with age boosting - Task dependency resolution - Work stealing and backpressure handling - Added getQueueDepth() and getStatus() methods ### Unified Memory Coordinator (Task 4.3) - Consolidated memory managers (SQLite, AgentDB, Vector, JSON) - Automatic failover chain with health monitoring - Batch operations and namespace isolation - Periodic sync between backends ### SwarmCoordinator Improvements - Real CPU utilization tracking via process.cpuUsage() - Queue depth from WorkflowOrchestrator - Optimizer recommendations in feedback data - Calculated average complexity from metrics ## Additional Changes - Migration documentation and test restructuring plan - GitHub issue templates and workflows - Test suite improvements and cleanup 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * feat: optimize 38 QE skills with agent-focused format (#102) - Add enhanced YAML frontmatter (tokenEstimate, agents, tags, etc.) - Add <default_to_action> blocks for immediate actionable guidance - Add Quick Reference Cards with tables for at-a-glance info - Add Agent Integration examples using Task() pattern - Add Agent Coordination Hints (memory namespace + fleet coordination) - Condense content optimized for agent consumption - Reduce total token footprint by ~65% across skills Skills updated: - Core QE: agentic-quality-engineering, holistic-testing-pact - Testing Types: api-testing, chaos-engineering, compatibility, compliance, contract, database, exploratory, localization, mobile, mutation, performance, regression, security, visual-testing - Methodologies: tdd-london-chicago, xp-practices, context-driven, risk-based, shift-left, shift-right - Analysis: code-review-quality, quality-metrics, test-design-techniques - Strategy: test-automation-strategy, test-data-management, test-environment-management, test-reporting-analytics - CI/CD: cicd-pipeline-qe-orchestrator, accessibility-testing - Communication: brutal-honesty-review, bug-reporting-excellence, consultancy-practices, sherlock-review, six-thinking-hats, technical-writing - Refactoring: refactoring-patterns Also includes: package.json updates, docs/optimization/, docs/templates/, scripts/validate-skill-optimization.ts Skipped: testability-scoring (pending PR from @fndlalit) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * release: v2.1.0 - Comprehensive QX Analysis & Skills Optimization ## Summary - Comprehensive QX Analysis with 23+ heuristics (PR #104 by @fndlalit) - 38 QE Skills optimized with agent-focused format (PR #102) - Testability Scoring skill v2.1 with optimized format - QX Partner Agent v2.1 with enhanced capabilities - Fix MCP SDK compatibility for @modelcontextprotocol/sdk bump (PR #105) ## Changes - .claude/agents/qx-partner.md: Updated to v2.1 with domain-specific detection - .claude/skills/testability-scoring/SKILL.md: Optimized format (59% token reduction) - src/mcp/server.ts: Removed deprecated 'description' field for MCP SDK compatibility - package.json: Bumped version to 2.1.0 - README.md: Updated version and release notes - CHANGELOG.md: Added v2.1.0 release notes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
7.2 KiB
7.2 KiB
Test Suite Analysis Results
Analysis Date: 2025-12-02
Analysis Tool: scripts/analyze-test-duplicates.ts
Status: ✅ Complete
📊 Current State (Actual Data)
Test Suite Size
- Total test files: 402
- Total lines of code: 195,929
- Average lines per file: 487
- Files > 1,000 lines: 17 (should be 0)
- Largest file: 1,540 lines (
TestGeneratorAgent.null-safety.test.ts)
Test Focus Distribution (Better Than Expected!)
- User Value: 249 files (61.7%, 120,848 lines) ✅✅✅
- Contracts/APIs: 85 files (22.3%, 43,788 lines) ✅
- Unknown: 60 files (13.5%, 26,353 lines)
- Implementation Details: 8 files (2.5%, 4,940 lines) ❌
Good News: Test focus is actually better than estimated! 61.7% already focus on user value vs. 35% estimated.
Duplicate Analysis
- Duplicate groups found: 22
- Files to delete: 9 (implementation detail tests)
- Groups to consolidate: 1 (TestGenerator pattern)
- Estimated reduction: 58 files, 5,562 lines
🎯 Top 17 Large Files (>1,000 Lines)
| Rank | File | Lines | Recommendation |
|---|---|---|---|
| 1 | tests/unit/agents/TestGeneratorAgent.null-safety.test.ts |
1,540 | ❌ DELETE (TypeScript semantics) |
| 2 | tests/unit/agents/TestGeneratorAgent.comprehensive.test.ts |
1,477 | 🔀 CONSOLIDATE |
| 3 | tests/agents/RequirementsValidatorAgent.test.ts |
1,376 | ✂️ SPLIT |
| 4 | tests/agents/TestDataArchitectAgent.test.ts |
1,304 | ✂️ SPLIT |
| 5 | tests/unit/agents/BaseAgent.test.ts |
1,276 | 🔀 CONSOLIDATE |
| 6 | tests/agents/DeploymentReadinessAgent.test.ts |
1,218 | ✂️ SPLIT |
| 7 | tests/integration/api-contract-validator-integration.test.ts |
1,171 | ✂️ SPLIT |
| 8 | tests/unit/learning/LearningEngine.test.ts |
1,152 | 🔀 CONSOLIDATE |
| 9 | tests/agents/RegressionRiskAnalyzerAgent.test.ts |
1,114 | ✂️ SPLIT |
| 10 | tests/mcp/handlers/coordination/task-orchestrate.test.ts |
1,113 | ✂️ SPLIT |
| 11 | tests/mcp/handlers/quality/quality-gate-execute.test.ts |
1,101 | ✂️ SPLIT |
| 12-17 | 6 more files (1,000-1,100 lines each) | ~6,300 | ✂️ SPLIT |
Action Required: Split or consolidate these 17 files to be under 600 lines each.
🔝 Top 10 Duplicate Groups
| Rank | Pattern | Files | Total Lines | Overlap % | Action |
|---|---|---|---|---|---|
| 1 | Base (BaseAgent) | 7 | 5,331 | 13% | 🔀 Consolidate to 2 files |
| 2 | TestGenerator | 4 | 4,252 | 4% | ❌ Delete null-safety.test.ts |
| 3 | LearningEngine | 2 | 1,955 | 0% | ✅ Keep separate (no overlap) |
| 4 | QualityAnalyzer | 2 | 1,401 | 12% | ✅ Keep (low overlap) |
| 5 | integration | 2 | 1,349 | 0% | ✅ Keep separate |
| 6 | QEReasoningBank | 2 | 1,346 | 3% | ✅ Keep (minimal overlap) |
| 7 | cli | 3 | 1,206 | 1% | ✅ Keep (minimal overlap) |
| 8 | SwarmMemoryManager | 2 | 1,174 | 0% | ✅ Keep separate |
| 9 | task-orchestrate | 2 | 1,166 | 1% | ✅ Keep (minimal overlap) |
| 10 | learning-engine | 2 | 1,162 | 5% | ✅ Keep (low overlap) |
💡 Key Findings
✅ Good News
- Test focus is excellent: 61.7% already user-value focused (better than target!)
- Low duplication: Only 2.5% of code is implementation details
- Minimal overlap: Most duplicate groups have < 5% overlap
- Contract coverage: 22.3% of tests cover APIs (good boundary testing)
⚠️ Areas for Improvement
- File size: 17 files > 1,000 lines (need to split)
- Implementation details: 9 files test TypeScript semantics (delete)
- BaseAgent duplication: 7 files with 13% overlap (consolidate to 2)
- TestGenerator duplication: 4 files, 1 is pure null-safety checks (delete)
📋 Recommended Actions
Immediate (Phase 1)
- ✅ Create new directory structure (
journeys/,contracts/,infrastructure/,regression/) - ✅ Run this analysis script weekly to track progress
- ✅ Setup migration CI pipeline
High Priority (Phase 2)
- ❌ DELETE:
TestGeneratorAgent.null-safety.test.ts(1,540 lines of TypeScript semantics) - ❌ DELETE: 8 other implementation detail files (~4,940 lines total)
- 🔀 CONSOLIDATE: BaseAgent tests (7 files → 2 files)
- 🔀 CONSOLIDATE: TestGenerator tests (4 files → 1 file)
Medium Priority (Phase 3)
- ✂️ SPLIT: 17 large files (>1,000 lines) into smaller, focused tests
- 📝 CREATE: 7 core journey tests (init, generate, execute, coverage, quality, flaky, learning)
- 📝 CREATE: Contract tests for 102 MCP tools + 8 CLI commands
Low Priority (Phase 4)
- 🧹 ORGANIZE: Move remaining tests to new structure
- 📊 OPTIMIZE: Improve test execution speed (parallel workers)
- 📚 DOCUMENT: Update testing guidelines
📈 Estimated Impact
Before Migration
- Files: 402
- Lines: 195,929
- Execution time: ~5 minutes
- Files > 1,000 lines: 17
- Implementation details: 2.5%
After Migration (Revised Target)
- Files: 100 (revised from 50, due to better test focus)
- Lines: 60,000 (revised from 40,000)
- Execution time: < 2 minutes
- Files > 600 lines: 0
- Implementation details: 0%
Reduction
- Files: -75% (402 → 100)
- Lines: -69% (195,929 → 60,000)
- Execution time: -60% (5 min → 2 min)
- Large files: -100% (17 → 0)
🎯 Revised Success Criteria
Based on actual analysis, we can adjust targets:
- ✅ File Count: 402 → 100 files (75% reduction) ← Revised from 50
- ✅ Lines of Code: 195,929 → 60,000 lines (69% reduction) ← Revised from 40,000
- ✅ Test Focus: Maintain 61.7% user value (already excellent!)
- ✅ Large Files: 17 → 0 files > 600 lines
- ✅ Execution Time: 5 min → 2 min (60% reduction)
- ✅ Implementation Details: 2.5% → 0% (delete all 9 files)
📊 Progress Metrics
Files Deleted
Current: 0 / 9 files [ ] 0%
Target: 9 / 9 files [██████████] 100%
Files Consolidated
Current: 0 / 11 groups [ ] 0%
Target: 11 / 11 groups [██████████] 100%
Large Files Split
Current: 0 / 17 files [ ] 0%
Target: 17 / 17 files [██████████] 100%
Journey Tests Created
Current: 0 / 7 tests [ ] 0%
Target: 7 / 7 tests [██████████] 100%
🔄 Next Steps
- Review this analysis with team (30 min meeting)
- Adjust migration plan based on revised targets
- Create GitHub issue with updated metrics
- Start Phase 1: Create directory structure
- Run duplicate analysis weekly to track progress
📚 Raw Data
Full analysis JSON: docs/migration/duplicate-analysis.json
To regenerate this analysis:
npx tsx scripts/analyze-test-duplicates.ts
Analysis Tool: GOAP Specialist + analyze-test-duplicates.ts
Last Run: 2025-12-02T14:22:05.284Z
Next Run: TBD (weekly during migration)