* 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>
9.3 KiB
Test Suite Migration Documentation
Migration Status: 🟡 Planning Phase Start Date: TBD Target Completion: 6-7 weeks from start
📚 Documentation Index
Executive Documents
-
MIGRATION-SUMMARY.md - Executive summary for stakeholders
- Overview of current problems
- Goals and success criteria
- ROI and timeline
- Quick reference guide
-
test-suite-restructuring-plan.md - Complete migration plan
- Detailed 5-phase plan with 29 tasks
- Verification steps for each task
- Risks and mitigations
- Mermaid dependency diagram
Progress Tracking
-
progress-tracking.md - Live progress dashboard
- Real-time metrics and phase completion
- Daily progress log
- Blockers and issues
- Lessons learned
-
ANALYSIS-RESULTS.md - Test suite analysis findings
- Current state metrics (actual data)
- Top 17 large files to split
- Top 10 duplicate groups
- Revised targets based on analysis
Technical Resources
- duplicate-analysis.json - Raw analysis data
- Generated by
scripts/analyze-test-duplicates.ts - 402 test files analyzed
- Duplicate patterns identified
- Category breakdown
- Generated by
🎯 Quick Start Guide
For Stakeholders
Read: MIGRATION-SUMMARY.md (5 min)
- Understand the problem
- Review success criteria
- See expected ROI
For Developers
Read: test-suite-restructuring-plan.md (15 min)
- Review 5-phase plan
- Understand new test structure
- See verification steps
For Migration Lead
Read all documents in order:
- MIGRATION-SUMMARY.md - Context
- ANALYSIS-RESULTS.md - Current state
- test-suite-restructuring-plan.md - Execution plan
- progress-tracking.md - Daily tracking
🔧 Tools & Scripts
Analysis Script
Run weekly to track progress:
npx tsx scripts/analyze-test-duplicates.ts
Output: docs/migration/duplicate-analysis.json
What it does:
- Counts test files and lines
- Identifies large files (>1,000 lines)
- Finds duplicate test patterns
- Categorizes tests (user-value, contract, implementation-detail)
- Generates recommendations
Migration CI Pipeline
GitHub Actions workflow: .github/workflows/migration-validation.yml
Runs on:
- Push to
migration/**branches - Pull requests to
mainaffectingtests/
What it checks:
- Journey tests pass (if exist)
- Contract tests pass (if exist)
- Infrastructure tests pass (if exist)
- No files > 600 lines
- No skipped tests
- New directory structure compliance
📊 Key Metrics (Baseline)
Current State (2025-12-02)
- Test Files: 402
- Lines of Code: 195,929
- Execution Time: ~5 minutes
- Files > 1,000 Lines: 17
- Skipped Tests: 7 blocks
Target State
- Test Files: 100 (75% reduction)
- Lines of Code: 60,000 (69% reduction)
- Execution Time: < 2 minutes (60% reduction)
- Files > 600 Lines: 0
- Skipped Tests: 0
Test Focus
- User Value: 61.7% (maintain)
- Contracts: 22.3% (maintain)
- Implementation: 2.5% → 0% (delete)
- Unknown: 13.5% → categorize
🏗️ New Test Structure
tests/
├── journeys/ # 70% of effort - User journeys
│ ├── init-and-bootstrap.test.ts
│ ├── generate-tests.test.ts
│ ├── execute-tests.test.ts
│ ├── coverage-analysis.test.ts
│ ├── quality-gate.test.ts
│ ├── flaky-detection.test.ts
│ └── learning-improvement.test.ts
│
├── contracts/ # 20% of effort - API boundaries
│ ├── mcp-tools.test.ts
│ ├── cli-commands.test.ts
│ └── agent-interfaces.test.ts
│
├── infrastructure/ # 10% of effort - Core systems
│ ├── database.test.ts
│ ├── memory-coordination.test.ts
│ ├── event-bus.test.ts
│ ├── base-agent.test.ts
│ ├── learning-engine.test.ts
│ └── flaky-test-detector.test.ts
│
└── regression/ # Bug prevention
└── fixed-bugs/
├── issue-123.test.ts
└── issue-456.test.ts
📋 Migration Phases
Phase 1: Setup & Analysis (4-6 hours) ⬜ Not Started
Create infrastructure, analyze codebase, establish baselines
Key Deliverable: Migration CI pipeline + baseline metrics
Phase 2: Create Journey Tests (8-12 hours) ⬜ Not Started
Implement 7 core user journeys with real database
Key Deliverable: 7 journey tests passing with 100% reliability
Phase 3: Consolidate Unit Tests (12-16 hours) ⬜ Not Started
Merge duplicate files, focus on business logic
Key Deliverable: All unit tests < 600 lines, no duplicates
Phase 4: Delete Redundant Tests (4-6 hours) ⬜ Not Started
Remove implementation detail tests, clean up old structure
Key Deliverable: ~60K lines deleted, old directories removed
Phase 5: CI/CD Integration (4-6 hours) ⬜ Not Started
Optimize execution, add coverage gates, generate dashboard
Key Deliverable: CI/CD < 2 minutes with automated gates
🚀 Getting Started
Step 1: Review Documents (1 hour)
- Read MIGRATION-SUMMARY.md
- Read ANALYSIS-RESULTS.md
- Review test-suite-restructuring-plan.md
Step 2: Team Alignment (30 min)
- Schedule kick-off meeting
- Assign migration lead
- Review success criteria with team
- Get buy-in from stakeholders
Step 3: Create Tracking Issue (15 min)
- Copy
.github/ISSUE_TEMPLATE/test-suite-migration.mdto new issue - Fill in migration lead, start date, target completion
- Assign reviewers
- Pin issue to project board
Step 4: Run Analysis (5 min)
- Run
npx tsx scripts/analyze-test-duplicates.ts - Review
docs/migration/duplicate-analysis.json - Verify baseline metrics match documentation
Step 5: Start Phase 1 (4-6 hours)
- Create directory structure
- Setup migration CI job
- Document baseline coverage
- Create test mapping document
📞 Questions & Support
Documentation Issues
If you find errors or have suggestions:
- Open a GitHub issue with label
documentation - Tag the migration lead
- Reference specific document and section
Migration Blockers
If you encounter blockers:
- Update progress-tracking.md "Blockers" section
- Add comment to tracking GitHub issue
- Escalate to migration lead
Technical Questions
For questions about implementation:
- Check test-suite-restructuring-plan.md Phase details
- Review verification steps for specific task
- Ask in team Slack channel
📈 Success Criteria
Migration is complete when ALL of these are true:
- All 7 journey tests pass with 100% reliability
- Test execution time < 2 minutes
- 70% of tests focus on user-facing behavior
- Zero skipped tests in CI/CD pipeline
- No test file > 600 lines
- Test coverage maintained ≥85% for critical paths
- Documentation updated (README, testing guide)
- Team trained on new structure
- CI/CD pipeline includes migration validation
🎓 Learning Resources
Testing Best Practices
- Testing Trophy - Kent C. Dodds
- Test Pyramid - Martin Fowler
- Test Sizes - Google Testing Blog
Project Policies
- Test Execution Policy - How to run tests safely
- Git Operations Policy - Git workflow rules
📝 Document Maintenance
When to Update
- Daily: progress-tracking.md - Add daily log entry
- Weekly: Run analysis script, update metrics in progress tracking
- Phase completion: Update phase checkboxes in all documents
- Blocker: Add to progress tracking immediately
- Lesson learned: Add to progress tracking
Who Updates What
- Migration Lead: All documents
- Team Members: progress-tracking.md (daily logs, blockers)
- GOAP Specialist: Initial creation only (human updates after)
Version History
- v1.0.0 (2025-12-02): Initial migration plan created by GOAP Specialist
- 5 phases, 29 tasks
- Baseline analysis: 402 files, 195,929 lines
- Revised targets based on actual data
- Migration CI pipeline created
Migration Lead: TBD Created: 2025-12-02 by GOAP Specialist Last Updated: 2025-12-02 Next Review: TBD (after Phase 1 completion)
This directory contains the complete Test Suite Migration plan and tracking. All documents are living documents that should be updated throughout the migration.