Agentic Quality Engineering Fleet powered by LionAGI - 18 specialized AI agents for comprehensive software testing and quality assurance with CI/CD integration
Project description
LionAGI QE Fleet
Agentic Quality Engineering powered by LionAGI
A Python reimplementation of the Agentic QE Fleet using LionAGI as the orchestration framework. This fleet provides 18 specialized AI agents for comprehensive software testing and quality assurance with production-ready CI/CD integration.
๐ Features
Core Capabilities
- 18 Specialized Agents: From test generation to deployment readiness
- Multi-Model Routing: Intelligent model selection for cost optimization (up to 80% theoretical savings)
- Parallel Execution: Async-first architecture for concurrent test operations
- Execution Tracking: Foundation for continuous improvement and learning
- Framework Agnostic: Works with pytest, Jest, Mocha, Cypress, and more
CI/CD Integration (v1.3.0) ๐
- REST API Server: 40+ FastAPI endpoints for test automation
- Test generation, execution, coverage analysis
- Quality gates, security scanning, performance testing
- WebSocket streaming for real-time progress
- JWT authentication and rate limiting
- Python SDK: Async/sync client with fluent API
- Artifact Storage: Pluggable backends (local, S3, CI-specific)
- Automatic compression (60-80% reduction)
- Retention policies and indexing
- Badge Generation: Shields.io compatible SVG badges
- Coverage, quality, security badges
- Smart caching with ETag support
- CLI Enhancements: CI mode with JSON output and standardized exit codes
- Contract Testing: Pact-style consumer-driven contracts
- Chaos Engineering: Resilience testing with fault injection
Advanced Features (v1.0.0)
- alcall Integration: Automatic retry with exponential backoff (99%+ reliability)
- Fuzzy JSON Parsing: Robust LLM output handling (95% fewer parse errors)
- ReAct Reasoning: Multi-step test generation with think-act-observe loops
- Observability Hooks: Real-time cost tracking with <1ms overhead
- Streaming Progress: AsyncGenerator-based real-time updates
- Code Analyzer: AST-based code structure analysis
Security & Quality
- Security Score: 95/100 (see SECURITY.md)
- Test Coverage: 82% (128+ comprehensive tests)
- Code Quality: Refactored for maintainability (CC < 10)
- Zero Breaking Changes: 100% backward compatible
๐ฆ Installation
Using uv (recommended)
uv add lionagi-qe-fleet
Using pip
pip install lionagi-qe-fleet
Development Installation
For contributing to the project:
git clone https://github.com/lionagi/lionagi-qe-fleet.git
cd lionagi-qe-fleet
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"
pytest # Run tests
See CONTRIBUTING.md for detailed development setup and guidelines.
๐ Quick Start
Basic Usage (Direct Session)
import asyncio
from lionagi import iModel, Session
from lionagi_qe import QETask
from lionagi_qe.agents import TestGeneratorAgent
async def main():
# Create model and session
model = iModel(provider="openai", model="gpt-4o-mini")
session = Session()
# Create agent
agent = TestGeneratorAgent("test-gen", model)
# Create and execute task
task = QETask(
task_type="generate_tests",
context={
"code": "def add(a, b): return a + b",
"framework": "pytest"
}
)
result = await agent.execute(task)
print(result.test_code)
asyncio.run(main())
Using QEOrchestrator (Advanced)
from lionagi_qe import QEOrchestrator
async def orchestrated_workflow():
# Initialize orchestrator with persistence
orchestrator = QEOrchestrator(
memory_backend="postgres", # or "redis" or "memory"
enable_learning=True
)
await orchestrator.initialize()
# Execute workflow
result = await orchestrator.execute_agent("test-generator", task)
print(result)
Multi-Agent Pipeline
async def quality_pipeline():
orchestrator = QEOrchestrator()
await orchestrator.initialize()
# Execute sequential pipeline
result = await orchestrator.execute_pipeline(
pipeline=[
"test-generator",
"test-executor",
"coverage-analyzer",
"quality-gate"
],
context={
"code_path": "./src",
"coverage_threshold": 80
}
)
print(f"Coverage: {result['coverage']}%")
print(f"Quality Gate: {result['passed']}")
Parallel Agent Execution
async def parallel_analysis():
orchestrator = QEOrchestrator()
await orchestrator.initialize()
# Run multiple agents in parallel
results = await orchestrator.execute_parallel(
agents=["test-generator", "security-scanner", "performance-tester"],
tasks=[
{"task": "generate_tests", "code": code1},
{"task": "security_scan", "path": "./src"},
{"task": "load_test", "endpoint": "/api/users"}
]
)
for agent_id, result in zip(agents, results):
print(f"{agent_id}: {result}")
๐ค Available Agents
Core Testing (6 agents)
- test-generator: Generate comprehensive test suites with edge cases
- test-executor: Execute tests across multiple frameworks in parallel
- coverage-analyzer: Identify coverage gaps using O(log n) algorithms
- quality-gate: ML-driven quality validation and pass/fail decisions
- quality-analyzer: Integrate ESLint, SonarQube, Lighthouse metrics
- code-complexity: Analyze cyclomatic and cognitive complexity
Performance & Security (2 agents)
- performance-tester: Load testing with k6, JMeter, Gatling
- security-scanner: SAST, DAST, dependency scanning
Strategic Planning (3 agents)
- requirements-validator: Testability analysis with INVEST criteria
- production-intelligence: Incident replay and anomaly detection
- fleet-commander: Orchestrate 50+ agents hierarchically
Advanced Testing (4 agents)
- regression-risk-analyzer: Smart test selection via ML patterns
- test-data-architect: Generate realistic test data (10k+ records/sec)
- api-contract-validator: Detect breaking changes in APIs
- flaky-test-hunter: 100% accuracy flaky test detection
Specialized (3 agents)
- deployment-readiness: Multi-factor release risk assessment
- visual-tester: AI-powered UI regression detection
- chaos-engineer: Fault injection and resilience testing
๐ Agent Coordination & Persistence
Memory Backends
Agents coordinate through a shared memory namespace (aqe/*) with multiple backend options:
Development (In-Memory):
orchestrator = QEOrchestrator(memory_backend="memory")
Production (PostgreSQL):
orchestrator = QEOrchestrator(
memory_backend="postgres",
postgres_url="postgresql://user:pass@localhost:5432/lionagi_qe"
)
Production (Redis):
orchestrator = QEOrchestrator(
memory_backend="redis",
redis_url="redis://localhost:6379/0"
)
Memory Namespace
aqe/
โโโ test-plan/ # Test requirements and plans
โโโ coverage/ # Coverage analysis results
โโโ quality/ # Quality metrics and gates
โโโ performance/ # Performance test results
โโโ security/ # Security scan findings
โโโ patterns/ # Learned test patterns
โโโ swarm/ # Multi-agent coordination
Setup Persistence
PostgreSQL (Recommended for production):
# Using Docker
docker run -d \
-e POSTGRES_DB=lionagi_qe \
-e POSTGRES_USER=qe_user \
-e POSTGRES_PASSWORD=secure_password \
-p 5432:5432 \
postgres:16-alpine
# Initialize schema
python -m lionagi_qe.persistence.init_db
Redis (Fast, ephemeral):
docker run -d -p 6379:6379 redis:7-alpine
๐ก Advanced Features
Multi-Model Routing
Automatically route tasks to optimal models for cost efficiency:
orchestrator = QEOrchestrator(enable_routing=True)
# Simple tasks โ GPT-3.5 ($0.0004)
# Moderate tasks โ GPT-4o-mini ($0.0008)
# Complex tasks โ GPT-4 ($0.0048)
# Critical tasks โ Claude Sonnet 4.5 ($0.0065)
Q-Learning Integration
Agents learn from past executions with persistent storage:
# Enable learning with PostgreSQL backend
orchestrator = QEOrchestrator(
enable_learning=True,
memory_backend="postgres"
)
# Agents automatically improve through experience
# Target: 20% improvement over baseline
# Learning data persists across restarts
Custom Workflows with LionAGI Builder
Build complex workflows directly with LionAGI's Builder pattern:
from lionagi import Builder, Session
# Direct LionAGI usage (no wrapper)
session = Session()
builder = Builder("CustomQEWorkflow")
node1 = builder.add_operation("test-generator", context=ctx)
node2 = builder.add_operation("security-scanner", depends_on=[node1])
node3 = builder.add_operation("quality-gate", depends_on=[node1, node2])
result = await session.flow(builder.get_graph())
Or use QEOrchestrator for convenience:
from lionagi_qe import QEOrchestrator
orchestrator = QEOrchestrator()
result = await orchestrator.execute_workflow(builder.get_graph())
๐ Documentation
Getting Started
Core Documentation
- Architecture Guide
- Migration Guide - Migrating from QEFleet? Start here!
- Persistence Setup - PostgreSQL & Redis configuration
- Agent Catalog
- API Reference
Migration Guides
- QEFleet to QEOrchestrator - Deprecation guide
- Adding Persistence - PostgreSQL & Redis setup
Advanced Features
Reports & Analysis
Security & Quality
- Security Policy - Vulnerability reporting and best practices
- Changelog - Version history and release notes
๐งช Testing
# Run all tests
pytest
# Run with coverage
pytest --cov=src/lionagi_qe --cov-report=html
# Run specific test category
pytest tests/test_agents.py
pytest tests/test_orchestration.py
๐ค Contributing
We welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or helping others, your contributions are valued.
Ways to Contribute:
- ๐ Report bugs
- ๐ก Request features
- ๐ Improve documentation
- ๐ง Submit pull requests
- ๐ฌ Join discussions
Please read our Contributing Guide and Code of Conduct before contributing.
๐ฅ Community
- GitHub Issues: Bug reports and feature requests
- GitHub Discussions: Questions, ideas, and general discussion
- Discord: Real-time chat and community support (link TBD)
- Twitter: Updates and announcements (link TBD)
๐ฌ Support
- Documentation: Full documentation
- Examples: Example workflows
- FAQ: Frequently asked questions
- Issues: Search existing issues
๐ Security
We take security seriously. If you discover a security vulnerability, please see our Security Policy for reporting instructions.
Current Security Score: 95/100
- โ All critical vulnerabilities fixed (v1.0.0)
- โ Input validation and sanitization
- โ Secure subprocess execution
- โ Safe deserialization (JSON only)
- โ Rate limiting and cost controls
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
Third-Party Licenses
This project builds on LionAGI (Apache 2.0 License).
๐ Project Status
Version: 1.2.0 (Production Ready) Status: Production Ready Security Score: 95/100 Test Coverage: 82% Performance: 5-10x faster than baseline
See CHANGELOG.md for release notes.
๐ Acknowledgments
- Built on LionAGI
- Inspired by the original Agentic QE Fleet
๐ Links
๐ฆ Powered by LionAGI - Because quality engineering demands intelligent agents
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lionagi_qe_fleet-1.3.1.tar.gz.
File metadata
- Download URL: lionagi_qe_fleet-1.3.1.tar.gz
- Upload date:
- Size: 1.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06bd9bb55e98cced533e280156ee976ba5e013e35feb79b6c1cc0c41d3a3f31b
|
|
| MD5 |
85f1b8d91e980b19ba5d70d3cfedc805
|
|
| BLAKE2b-256 |
6d2e03299eb56f46a7c5fc70f4dcae653d4004951091462e3e48c8b6f542256e
|
Provenance
The following attestation bundles were made for lionagi_qe_fleet-1.3.1.tar.gz:
Publisher:
publish.yml on proffesor-for-testing/lionagi-qe-fleet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lionagi_qe_fleet-1.3.1.tar.gz -
Subject digest:
06bd9bb55e98cced533e280156ee976ba5e013e35feb79b6c1cc0c41d3a3f31b - Sigstore transparency entry: 697784601
- Sigstore integration time:
-
Permalink:
proffesor-for-testing/lionagi-qe-fleet@9f0d6d05d580f3c3a0babcae8bcd048f08499b6d -
Branch / Tag:
refs/tags/v1.3.1 - Owner: https://github.com/proffesor-for-testing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9f0d6d05d580f3c3a0babcae8bcd048f08499b6d -
Trigger Event:
release
-
Statement type:
File details
Details for the file lionagi_qe_fleet-1.3.1-py3-none-any.whl.
File metadata
- Download URL: lionagi_qe_fleet-1.3.1-py3-none-any.whl
- Upload date:
- Size: 272.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
490498fbd8b350672d36ef9ac5fa881c1b13baa7530f90ea09da88d194ea6095
|
|
| MD5 |
9ef250415b339853fb101121369dd7c1
|
|
| BLAKE2b-256 |
f21d3ff95ea90bc663be180e92ae66a42c5ea8b965d0693b0a83dacbaebb18a2
|
Provenance
The following attestation bundles were made for lionagi_qe_fleet-1.3.1-py3-none-any.whl:
Publisher:
publish.yml on proffesor-for-testing/lionagi-qe-fleet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
lionagi_qe_fleet-1.3.1-py3-none-any.whl -
Subject digest:
490498fbd8b350672d36ef9ac5fa881c1b13baa7530f90ea09da88d194ea6095 - Sigstore transparency entry: 697784639
- Sigstore integration time:
-
Permalink:
proffesor-for-testing/lionagi-qe-fleet@9f0d6d05d580f3c3a0babcae8bcd048f08499b6d -
Branch / Tag:
refs/tags/v1.3.1 - Owner: https://github.com/proffesor-for-testing
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9f0d6d05d580f3c3a0babcae8bcd048f08499b6d -
Trigger Event:
release
-
Statement type: