Brain export v3.0 (25 tables), witness chain v3 with Ed25519 signing,
streaming for large tables, RVF freeze/derive/indexStats, npm packaging fix.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
TypeScript was an external ESM dependency loaded at bundle startup,
crashing `aqe --version` when typescript isn't installed (global
installs). Now lazy-loaded via createRequire Proxy — only triggers
when AST parsing features are used.
Also adds isolated install verification to /release skill (steps 8e
and 15) to catch missing externals before they reach users.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v3.5.1 includes:
- Security: tar>=7.5.7 override fixing 6 HIGH severity Dependabot alerts
- Documentation: v3.5.0 release highlights added to READMEs
- skills-manifest.json updated to v1.3.0 with 67 QE skills breakdown
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Previous commits incorrectly counted all skills including Claude Flow
platform skills. The correct count is only AQE-specific QE skills:
- 63 QE skills before v3.5.0
- 4 new in v3.5.0 (QCSD Refinement, Development, CI/CD swarms + compatibility-testing)
- Total: 67 QE skills
Claude Flow platform skills (33) are separate and should not be counted.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(v3.4.1): bundle missing dependencies and test timeouts
- Fixed issue #219: MCP bundle failing due to missing packages
- Changed build scripts from --packages=external to selective externalization
- Pure JS deps (fast-json-patch, jose, uuid) now bundled inline
- Native modules properly externalized (better-sqlite3, hnswlib-node, etc.)
- CommonJS modules with dynamic requires externalized (typescript, fast-glob, yaml, commander, cli-progress, ora)
- Bundle size reduced from ~15MB to ~5MB
- Added timeouts to handleQualityAssess tests to prevent CI failures
- Updated version to 3.4.1
Closes#219
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(v3.4.2): add skill validation system with trust tiers (ADR-056)
Implement 4-layer skill validation system for deterministic outputs:
- Tier 3 (Verified): 46 skills with full eval test suites
- Tier 2 (Validated): 7 skills with executable validators
- Tier 1 (Structured): 5 skills with JSON output schemas
- Tier 0 (Advisory): 5 skills with SKILL.md guidance only
Key additions:
- JSON Schema validation templates for skill outputs
- Executable validator scripts for correctness verification
- Evaluation test framework with multi-model support
- CLI commands: aqe skill report/summary/compare, aqe eval run/status
- ReasoningBank integration for validation pattern learning
- GitHub Actions workflow for CI skill validation
- Trust tier frontmatter in all 63 skill SKILL.md files
- Comprehensive documentation and user guides
Infrastructure:
- .claude/skills/.validation/ - Templates and frameworks
- .claude/skills/*/schemas/ - Output schemas per skill
- .claude/skills/*/scripts/ - Validator scripts per skill
- .claude/skills/*/evals/ - Test cases per skill
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(ci): trust tier-based skill validation
- Tier 3 (Verified): Blocks PR on validation failure
- Tier 2 (Validated): Warns only, doesn't block
- Tier 1 (Structured): Warns only, doesn't block
- Tier 0 (Advisory): Skipped entirely
Reads trust_tier from SKILL.md frontmatter to determine
validation requirements. Only 46 Tier 3 skills block merge.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(validators): remove local keyword from self-test blocks
Shell script fix: 'local' can only be used inside functions, not in
if/else blocks. Both accessibility-testing and compatibility-testing
validators had 'local' declarations in their self-test sections that
caused errors when run outside of a function context.
- Remove local test_file from accessibility-testing self-test
- Remove local test_file, browser_count, tier1_pass from compatibility-testing self-test
- Sync fixes to v3/assets/skills/
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(validators): add --self-test support to n8n skill validators
The 5 n8n skill validators were failing CI because they didn't handle
the --self-test flag properly. Added self-test handling that:
- Checks for required tools (jq)
- Verifies schema file exists and is valid JSON
- Returns exit 0 on success
Fixed validators:
- n8n-expression-testing
- n8n-integration-testing-patterns
- n8n-security-testing
- n8n-trigger-testing-strategies
- n8n-workflow-testing-fundamentals
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(skills-installer): scan actual directory for README generation
The createSkillsIndex method was only counting newly-installed skills,
resulting in misleading README content (e.g., showing "1 skill" when
97 skills exist in the directory).
Changes:
- Add scanSkillsDirectory() method to find all valid skill folders
- Update createSkillsIndex() to use actual directory contents
- Categorize skills into QE (63) vs Platform (34) correctly
- Include validation infrastructure status in summary
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(init): add --upgrade flag to update existing installations
When running `aqe init --auto` on an existing project, skills, agents,
and validation infrastructure were skipped because overwrite=false was
the default. This caused upgrades from v3.2.3 to v3.4.2 to only install
new files instead of updating all existing files.
The --upgrade flag sets overwrite=true for:
- Skills installer (63 QE skills + validation infrastructure)
- Agents installer
- N8n installer
Usage:
aqe init --auto --upgrade # Update existing installation
aqe init --upgrade # Upgrade mode only
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* chore(v3.4.3): version bump and README cleanup
Version:
- Bump to v3.4.3 in root and v3 package.json
- Add CHANGELOG entry for --upgrade flag and README fixes
README improvements:
- Replace version-specific "What's New" sections with generic "Key Features"
- Remove version numbers from section headers (v3.3.0, v3.4.0, etc.)
- Focus on capabilities, not version history
- CHANGELOG.md remains the source of truth for version changes
Verified:
- 63 QE skills installed
- 51 agents installed
- All 12 domains enabled
- MCP server starts with 31 tools
- CLI status command works
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(init): make --upgrade flag work standalone without --auto
Previously, `aqe init --upgrade` would fall through to runStandardInit()
which only initializes kernel/domains but never installs skills. The
--upgrade flag only had effect inside runModularInit() which required
--auto to be set.
Now --upgrade implies --auto, similar to how --auto-migrate does, so
`aqe init --upgrade` works as expected on existing projects.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(cloud-sync): complete Phase 3 & 4 - embeddings and periodic sync
Phase 3 - Embedding Generation:
- Add SyncEmbeddingGenerator for pattern embeddings (384-dim)
- Generate embeddings using Xenova/all-MiniLM-L6-v2 model
- Implement vector similarity search with cosine similarity
- Add CLI script for embedding generation and search
- 67 patterns embedded (45 patterns + 22 sona_patterns)
Phase 4 - Periodic Sync:
- Add CloudSyncWorker background worker
- Default 1-hour interval (configurable via AQE_SYNC_INTERVAL)
- Enable with AQE_CLOUD_SYNC_ENABLED=true
- Graceful handling when gcloud CLI unavailable
Bug Fixes:
- Fix issue #226: Dynamic require of child_process error
- Use platform-based heuristics for global npm paths
- Exclude browser E2E tests from CI workflows
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* chore: update benchmark reports and cleanup old reports
- Update coherence comparison and success rate benchmarks
- Remove stale benchmark reports from earlier dates
- Minor package.json and ADR doc updates
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat(init): MCP daemon auto-start and ESM enum fixes
## MCP Daemon Auto-Start (10-workers.ts)
- Add auto-start functionality during `aqe init --auto`
- Spawn MCP daemon as detached background process
- Smart MCP command discovery (local bundle → global → npx fallback)
- Process health verification after startup (1.5s wait)
- Helpful error messages for missing dependencies
- Daemon script uses relative paths for portability
## ESM Enum Import Fix (agent-booster-wasm)
- Convert Language/MergeStrategy enums to const objects
- Fix tsx dev mode compatibility with static imports
- Add LanguageNames reverse lookup helper
- Works in tsx, node, and bundled environments
## Dynamic WASM Import (agent-booster/adapter.ts)
- Replace static import with lazy-loaded dynamic import
- Add loadWasmModule() for deferred loading
- Works around tsx's static import resolution quirks
- Local WasmLanguage const for type safety
## Init Phase Improvements
- 04-database.ts: Use UnifiedMemoryManager for full v3 schema
- 08-mcp.ts: Dual MCP config (.mcp.json + .claude/mcp.json)
- 10-workers.ts: All 11 workers with correct intervals
## Verified Working
- aqe init --auto: Completes in ~2s
- MCP daemon: Auto-starts and stays running
- Test generation: Full v3 stack (SONA, FlashAttention, DecisionTransformer)
- Database: 28 tables, v7 schema, persistence working
- All 12 DDD domains enabled
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* fix(v3.4.5): MCP daemon startup and code intelligence KG persistence
- Add `aqe mcp` CLI command to start MCP protocol server
- Fix "error: unknown command 'mcp'" during `aqe init --auto`
- Fix code intelligence KG data loss by using SQLite instead of InMemoryBackend
- KG now persists to .agentic-qe/memory.db for QE agent semantic search
- Update daemon startup scripts with proper MCP command resolution
Fixes:
- MCP daemon fallback chain: aqe-mcp → bundled MCP → aqe mcp → npx
- Code intelligence pre-scan now persists to SQLite (was ephemeral)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
- Fixed issue #219: MCP bundle failing due to missing packages
- Changed build scripts from --packages=external to selective externalization
- Pure JS deps (fast-json-patch, jose, uuid) now bundled inline
- Native modules properly externalized (better-sqlite3, hnswlib-node, etc.)
- CommonJS modules with dynamic requires externalized (typescript, fast-glob, yaml, commander, cli-progress, ora)
- Bundle size reduced from ~15MB to ~5MB
- Added timeouts to handleQualityAssess tests to prevent CI failures
- Updated version to 3.4.1
Closes#219
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
- Regenerated package-lock.json after moving @faker-js/faker to dependencies
- Fixes npm ci failure: "lock file's @faker-js/faker@10.1.0 does not satisfy @faker-js/faker@10.2.0"
- Bump version to 3.1.3
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move @faker-js/faker from devDependencies to dependencies
- This fixes "Cannot find package '@faker-js/faker'" error
- The test-generator service imports faker at runtime
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move typescript from devDependencies to dependencies in root package.json
- This fixes "Cannot find package 'typescript'" error after npm install
- Add docs/PUBLISH-STRUCTURE.md explaining the publishing setup
- Bump version to 3.1.1
The root package.json is what gets published to npm. All runtime
dependencies must be in its "dependencies" section, not devDependencies.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Added Critical CLI bugs section under Fixed
- Updated release date to 2026-01-22
- Documented version command fix (build-time injection)
- Documented test execute command fix (runTests method)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Major Features:
- Nervous System Integration: BTSP learning, HDC memory, circadian cycling,
global workspace attention - all QE agents now benefit automatically
- Supabase Cloud Persistence: HybridPersistenceProvider with local-first
storage and background cloud sync, full CLI commands (aqe supabase)
- Migration Support: Transfer local SQLite data to Supabase cloud
Changes:
- BaseAgent: Auto-initializes nervous system components
- Persistence: New IPersistenceProvider interface with adapters
- CLI: Added supabase subcommands (setup, test, status, sync, schema)
- Version bump to 2.8.1 across all files
Tests:
- 41 nervous system integration tests (all passing)
- BaseAgent.nervous-system.test.ts validates HDC, BTSP, workspace
Closes#188 (MCP tool handlers implemented in previous commit)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
### Added
- Database Migration System (src/persistence/migrations/)
- MigrationRunner class for versioned schema migrations
- 7 migrations covering all core tables
- Version tracking in schema_migrations table
- Helper functions: tableExists, columnExists, safeAddColumn, safeCreateIndex
- CLI Migrate Command (src/cli/commands/migrate/)
- aqe migrate status - Show migration status
- aqe migrate run - Run pending migrations
- aqe migrate rollback - Rollback last migration
- aqe migrate reset - Reset all migrations
### Changed
- Database initialization now runs migrations automatically during aqe init
- Schema consistency ensured across all installations
### Fixed
- Schema evolution issues from backup restoration
- Dream learning cycle now works with migrated data
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add `fast-glob` as explicit dependency to fix "Cannot find module 'fast-glob'"
error when installing globally via `npm install -g agentic-qe`.
The module was used in ComponentBoundaryAnalyzer but only available as a
transitive dependency, which wasn't reliably installed during global npm installs.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
### Added
- C4 diagram builders for context, container, and component levels
- ProjectMetadataAnalyzer for system type inference from package.json/docker-compose
- ExternalSystemDetector for database, API, cache, and queue detection
- ComponentBoundaryAnalyzer for layer and relationship mapping
- CLI commands: `aqe kg c4-context`, `aqe kg c4-container`, `aqe kg c4-component`
- CodeIntelligenceAgent c4-diagrams capability
- 22 unit tests for C4 diagram builders
### Changed
- MermaidGenerator with static C4 generation methods
- Type consolidation in src/code-intelligence/inference/types.ts
- Standardized ComponentRelationship to use sourceId/targetId
- Updated qe-code-intelligence.md with C4 capabilities and examples
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
## Added
- ML-Based Complexity Classification with 4-level task analysis
- Model Capability Registry with 25+ December 2025 models
- Claude Opus 4.5, DeepSeek R1/V3, GPT-5, Gemini 2.5 Pro
- Cost Optimization Strategies (PromptCompressor, Caching, Batching)
- HybridRouter integration with complexity-based model selection
## Changed
- README.md Quick Start section (user-focused, no version numbers)
- .env.example rewritten for Phase 2 features
- CONTRIBUTORS.md updated with @fndlalit's n8n contribution (#151)
## Fixed
- HybridRouter RuVector test isolation
- Compression benchmarks with honest expectations (2-8% vs false 50%)
## New Tests
- ComplexityClassifier, ModelCapabilityRegistry, CompressionBenchmark
- HybridRouter integration, model selection, and cost tracking tests
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Phase 0.5: Universal RuVector Integration (v2.5.9)
## Agent Architecture Migration
- **CoverageAnalyzerAgent**: Migrated from EventEmitter to extend BaseAgent
- Full RuVector integration with HybridRouter support
- Implements abstract methods: initializeComponents(), performTask(), loadKnowledge(), cleanup()
- New getCoverageStatus() method for agent-specific status
- Configuration via CoverageAnalyzerConfig extending BaseAgentConfig
- **QualityGateAgent**: Migrated from EventEmitter to extend BaseAgent
- Full RuVector integration with HybridRouter support
- Implements abstract methods: initializeComponents(), performTask(), loadKnowledge(), cleanup()
- New getQualityGateStatus() method for agent-specific status
- Configuration via QualityGateConfig extending BaseAgentConfig
## RuVector Methods Now Available on All Agents
All QE agents now inherit these methods from BaseAgent:
- hasRuVectorCache() - Check if RuVector GNN cache is enabled
- getRuVectorMetrics() - Get GNN/LoRA/cache performance metrics
- getCacheHitRate() - Get cache hit rate (0-1)
- getRoutingStats() - Get routing decisions and latency statistics
- forceRuVectorLearn() - Trigger LoRA learning consolidation
- getCostSavingsReport() - Get cost savings from caching
- getLLMStats() - Get LLM provider status including RuVector
## Other Changes
- Updated QEAgentFactory to use new single-config constructor pattern
- Added 6 RuVector MCP tools for external integration
- Updated verification script - All 6 tests pass
- Added BaseAgent.RuVector.test.ts unit tests
- Added ruvector-agent-usage.ts example
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
## Problem
MCP server failed to start with error: Cannot find module '@axe-core/playwright'
This happened because @axe-core/playwright was in devDependencies but imported
at the top level of scan-comprehensive.ts.
## Solution
1. Changed @axe-core/playwright import to lazy/dynamic loading
2. Added optional dependencies prompt to `aqe init`:
- Interactive: "Do you plan to use accessibility testing features?"
- Non-interactive (-y): Skips optional deps for faster init
3. Clear error message when accessibility tools are used without dependency
## Changes
- src/mcp/tools/qe/accessibility/scan-comprehensive.ts: Lazy import
- src/cli/init/optional-dependencies.ts: New module for optional deps
- src/cli/init/index.ts: Integrated optional deps prompt
- src/types/index.ts: Added yes/nonInteractive to InitOptions
Closes#139🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
## Fixed
- Issue #137: FleetManager MemoryManager type mismatch
- FleetManager now uses SwarmMemoryManager instead of MemoryManager
- Agents spawned by FleetManager now have learning features enabled
- Added validateLearningConfig() for early warning
- Added isSwarmMemoryManager() helper function
- Added regression test
## Enhanced
- A11y-Ally Agent (PR #136, @fndlalit)
- Bot detection bypass with realistic browser fingerprinting
- Strict video analysis pipeline with validation checkpoints
- Output folder standardization (.agentic-qe/a11y-scans/)
- Executive summary template
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
## Changes
### A11y-Ally Agent Enhancements (PR #135)
- Developer-focused output with copy-paste ready code fixes
- Claude Code Native Vision for zero-config video analysis
- Mandatory WebVTT caption and audio description generation
- Updated multi-provider video analysis cascade
### Fixes
- Agent count consistency (19 → 20) in usage.md, skills.md
- CLAUDE.md restored to full Agentic QE configuration
- Root file cleanup - moved aqe wrapper to scripts/aqe-wrapper
### Removed
- All brand-specific (Audi) references from examples
### Added
- Learning scheduler config and startup script
- Test video frames for accessibility testing
- .gitignore updates for CLAUDE.md.backup and /aqe
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>