Changes: - Fix README.md agent counts (48 QE agents = 41 main + 7 subagents) - Fix README.md skill counts (15 QE-specific skills) - Fix v3/README.md agent counts (47 → 48) - Fix init-wizard.ts hooks from 'npx @agentic-qe/v3' to 'npx agentic-qe' - Complete v2 → v2/ folder reorganization (54 items moved) - Update root package.json to point to v3 as main version Verified claims: - 48 QE agents (41 main + 7 TDD subagents) - 15 QE-specific skills - 12 DDD bounded contexts - ~5,600+ tests - HNSW, ReasoningBank, Queen Coordinator features exist Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
4.9 KiB
GitHub Issue Template: Codebase Quality Improvements
Title: [CODEBASE] Technical Debt Remediation - Code Quality Analysis Findings
Labels: technical-debt, code-quality, priority:high
Milestone: v1.8.0
🔍 Overview
Comprehensive codebase analysis using brutal-honesty-review QE skill identified critical technical debt and code quality issues across the Agentic QE codebase.
Quality Score: 6.5/10 ⚠️
Full Analysis Report: docs/analysis/codebase-quality-analysis.md
🔴 Critical Issues (Must Fix)
1. SQL Injection Vulnerability
Location: src/core/memory/RealAgentDBAdapter.ts
Severity: CRITICAL
Issue: String interpolation in SQL queries instead of parameterized queries
Impact: Security vulnerability
Action: Implement parameterized queries immediately
2. Memory Leak in TestExecutorAgent
Location: src/agents/TestExecutorAgent.ts
Severity: CRITICAL
Issue: activeExecutions map never cleaned up on errors
Impact: Memory grows unbounded in production
Action: Add proper cleanup in error handlers
3. Duplicate Embedding Generation
Locations:
BaseAgent.tsTestExecutorAgent.tsNeuralTrainer.tsSeverity: HIGH Issue: 4 different implementations of same hash-based embedding function Impact: Code duplication, maintenance burden Action: Consolidate to single utility function
4. AgentDB Adapter Architecture Confusion
Location: src/core/memory/
Severity: HIGH
Issue: Runtime adapter selection with silent fallbacks to mocks
Impact: Production may silently use mocks instead of real database
Action: Explicit adapter configuration, fail-fast on misconfiguration
5. LearningEngine O(n) Performance
Location: src/learning/LearningEngine.ts
Severity: HIGH
Issue: Full table scan on every pattern update
Impact: Performance degrades with pattern count
Action: Implement indexing strategy
6. BaseAgent Race Condition
Location: src/agents/BaseAgent.ts
Severity: MEDIUM
Issue: No synchronization on concurrent initialize() calls
Impact: Potential double-initialization
Action: Add mutex or initialization flag
7. Test Simulation Instead of Real Testing
Location: src/agents/TestExecutorAgent.ts
Severity: HIGH
Issue: Agent simulates test results with random pass/fail instead of running real tests
Impact: Agent provides no value in production
Action: Implement real test execution or clearly mark as demo/example
8. Deprecated Methods in Production
Locations: Multiple files Severity: MEDIUM Issue: Methods logging deprecation warnings on every call Impact: Log pollution Action: Remove deprecated code or complete migration
🟡 High Priority Issues
Code Duplication
- 55 files with inconsistent
initialize()signatures - 12 different embedding implementations across agents
- 6 different error handling patterns
Technical Debt
- TODO/FIXME: 147+ instances need resolution
- Deprecated tools module: 460+ lines still shipping (
src/tools/deprecated/) - BaseAgent god class: 1,284 lines (should be < 300)
Missing Safeguards
- No cyclomatic complexity checks in CI
- No duplicate code detection
- No unused code detection
🟢 Medium Priority Issues
Code Organization
- Inconsistent file organization in
/src - Missing JSDoc on public APIs
- Incomplete TypeScript strict mode coverage
Error Handling
- Inconsistent patterns (throw vs return)
- Missing error context in many places
- No structured error types
📋 Recommended Remediation Plan
Phase 1: Critical Fixes (1 week)
- Fix SQL injection vulnerability
- Fix memory leak in TestExecutorAgent
- Fix AgentDB adapter architecture (fail-fast)
- Document real vs simulated test execution
Phase 2: High Priority (2-4 weeks)
- Consolidate embedding generation
- Refactor BaseAgent (extract to mixins/composition)
- Implement LearningEngine indexing
- Remove deprecated code
- Standardize error handling
Phase 3: Medium Priority (1-2 months)
- Add cyclomatic complexity checks to CI
- Implement duplicate code detection
- Complete TypeScript strict mode migration
- Add comprehensive JSDoc
Phase 4: Continuous Improvement
- Set up automated code quality dashboard
- Implement pre-commit hooks for quality checks
- Regular technical debt review sessions
🎯 Success Metrics
- Quality Score: 6.5 → 8.5+ within 2 months
- Zero critical security vulnerabilities
- <5% code duplication
- <10 complexity score average
- 90%+ TypeScript strict mode coverage
🔗 Related
- Analysis Report:
docs/analysis/codebase-quality-analysis.md - Test Quality Issue: [Create from github-issue-test-quality.md]
- Documentation Cleanup: [Create from github-issue-documentation-cleanup.md]
Assignees: [To be assigned by team]