Self-Correction for Modern DevOps Pipelines.
- Problem Statement
- Solution Overview
- Core Features
- System Architecture
- Tech Stack
- Installation Guide
- AI Orchestration Flow
- Security Measures
- Roadmap
When a CI/CD pipeline breaks, development grinds to a halt. Engineers must context-switch, dig through hundreds of lines of cryptic terminal logs, reproduce the issue locally, and write a fix. This manual triage process costs engineering teams thousands of hours and delays critical deployments.
Velo bridges the gap between "failing tests" and "production-ready fixes."
It is an agentic AI system that sits inside your CI/CD pipeline. When a build fails, Velo wakes up, reads the logs, analyzes the repository context, autonomously writes the code to fix the issue, and opens a Pull Request with the proposed solution.
- Automated Triage: Instantly understands why a build failed.
- Context-Aware Fixing: Reads project files to ensure the fix aligns with existing architecture.
- Zero-Touch PRs: Developers just review and merge.
- What it does: Ingests raw stdout/stderr from failing GitHub Actions.
- Why it matters: Replaces manual log parsing.
- Technical implementation: Webhook listeners connected to GitHub workflow events.
- What it does: Maps an error stack trace back to the exact file and line of code that caused it.
- Why it matters: Identifies the disease, not just the symptom.
- Technical implementation: Powered by Gemini 2.5 Flash for rapid, massive-context reasoning.
- What it does: Checks out a new branch, applies the fix, and opens a Pull Request.
- Why it matters: Keeps the developer in their standard review workflow.
- Technical implementation: PyGithub integration executing authenticated git operations.
- Trigger: GitHub Action fails -> sends webhook payload to Velo Backend.
- Analysis Node: LangGraph agent fetches the error logs and repository files.
- Plan Node: Agent formulates a fix strategy.
- Execute Node: Agent writes the fix to a virtual filesystem.
- Validation Node: Agent ensures syntax is correct.
- Commit Node: Agent pushes branch and opens PR.
| Category | Technology | Purpose |
|---|---|---|
| AI Orchestration | LangGraph, LangChain | State machine for agentic looping |
| LLM | Gemini 2.5 Flash | High-speed, large context window reasoning |
| Backend API | FastAPI (Python) | High-performance webhook ingestion |
| Frontend UI | Next.js | Dashboard for monitoring agent activity |
| Deployment | Railway, Vercel | Scalable hosting |
- Python 3.11+
- GitHub App Configuration (for permissions)
git clone https://github.com/oyelurker/velo-agent.git
cd velo-agent
pip install -r requirements.txtuvicorn main:app --reloadVelo utilizes a LangGraph State Machine to prevent hallucination and ensure reliable fixes.
- State Persistence: The agent maintains a memory of what files it has read and what changes it has proposed.
- Cyclic Validation: If Velo generates a fix, it runs a self-correction loop. It asks itself: "Does this fix resolve the stack trace?" If no, it loops back to the planning phase.
- Token Efficiency: Instead of sending the whole repo to the LLM, Velo uses targeted RAG (Retrieval-Augmented Generation) to only fetch files mentioned in the stack trace.
- Strict Scopes: Velo only requests
readaccess to code andwriteaccess to Pull Requests. - Isolated Execution: Code generation happens securely without exposing the host environment.
- Human-in-the-Loop: Velo never merges code automatically. It only opens PRs for human review.
- Basic Test Failure Healing (Jest/PyTest)
- GitHub Action Integration
- Infrastructure as Code (Terraform) Healing
- Dependency Conflict Resolution
This project is licensed under the MIT License.