Skip to main content

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

Version License Python Security Tests PRs Welcome

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

Migration Guides

Advanced Features

Reports & Analysis

Security & Quality

๐Ÿงช 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:

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

๐Ÿ”’ 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

๐Ÿ”— Links


๐Ÿฆ Powered by LionAGI - Because quality engineering demands intelligent agents

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lionagi_qe_fleet-1.3.1.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lionagi_qe_fleet-1.3.1-py3-none-any.whl (272.4 kB view details)

Uploaded Python 3

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

Hashes for lionagi_qe_fleet-1.3.1.tar.gz
Algorithm Hash digest
SHA256 06bd9bb55e98cced533e280156ee976ba5e013e35feb79b6c1cc0c41d3a3f31b
MD5 85f1b8d91e980b19ba5d70d3cfedc805
BLAKE2b-256 6d2e03299eb56f46a7c5fc70f4dcae653d4004951091462e3e48c8b6f542256e

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lionagi_qe_fleet-1.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for lionagi_qe_fleet-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 490498fbd8b350672d36ef9ac5fa881c1b13baa7530f90ea09da88d194ea6095
MD5 9ef250415b339853fb101121369dd7c1
BLAKE2b-256 f21d3ff95ea90bc663be180e92ae66a42c5ea8b965d0693b0a83dacbaebb18a2

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page