Inspiration

Software development teams spend over 40% of their engineering hours on mechanical, repetitive change requests: interpreting issue tickets, mapping file dependencies, writing boilerplate modifications, validating test suites, and creating Git branches and Pull Requests.

While modern LLMs can write code snippets in conversational chat windows, chat is fundamentally inadequate for enterprise software engineering:

  1. Chatbots require developers to manually copy-paste code back and forth.
  2. They cannot safely inspect whole-repository Abstract Syntax Trees (AST) or dependencies.
  3. They lack isolated execution environments and often hallucinate unsafe file paths or leak API keys.
  4. They cannot run real test suites or prove that changes didn't break existing functionality.

We built ChangePilot to bridge the gap between AI reasoning and production reality: an autonomous, multi-tenant software change engine that takes natural language requirements or assigned Jira/GitHub tickets and converts them into verified, test-passed GitHub Pull Requests—governed by 9 non-negotiable deterministic safety gates.


What it does

ChangePilot provides an end-to-end, zero-friction autonomous software change pipeline:

  1. Assigned Ticket & Story Intake: Ingests issue specifications from Jira Cloud, Azure DevOps, or GitHub Issues, sanitizing parameters and execution boundaries without relying on hardcoded demo data.
  2. Backlog & Saved Stories Management: Allows developers to draft, save, review, and manage change request cards with priority badges, repository tags, and deletion confirmation governance.
  3. Repository Discovery & Multi-Source Ingestion: 1-click discovery and sync of user repositories via GitHub Personal Access Tokens (PAT), alongside permanent public Git URL imports with strict multi-tenant isolation.
  4. Ephemeral Sandbox Isolation: Spawns an isolated temporary Git workspace (changepilot/<story-id>-<uuid>). The production/main branch is never directly mutated.
  5. Codebase Topology & AST Analysis: Automatically inspects project manifests, file hierarchies, frameworks, and build/test runners (pytest, npm test, mvn, cargo, go test).
  6. Architecture & Change Planning: Google Vertex AI (Gemini 3.5 Flash) analyzes requirements against the codebase AST and formulates a typed, minimal-impact ChangePlan.
  7. Deterministic Safety Policy Gate: Enforces zero-trust boundaries—hard-blocking path traversals (..), protected secret files (.env, id_rsa, .pem), and dangerous shell command injections (&&, ;, |).
  8. AI Unified Patch Synthesis: Generates exact, atomic unified diffs strictly conforming 1-to-1 with the approved architecture plan.
  9. Sandboxed Patch Application & Automated Test Execution: Atomically applies patches and executes real project test suites inside the sandbox with strict timeouts, capturing complete stdout/stderr logs.
  10. Branch Push & GitHub Pull Request Sync: Pushes an isolated feature branch to GitHub and opens a formatted Pull Request complete with unified diffs, test logs, and immutable audit trail metadata.

How we built it

ChangePilot is built using a robust, cloud-native architecture:

  • AI & Agent Intelligence: Google Cloud Vertex AI (Gemini 3.5 Flash & Pro) for AST reasoning, impact analysis, and precise unified patch generation.
  • Agent Frameworks: Official Google GenAI SDK (google-genai), the Google Agent Development Kit (ADK) Runner, and Google Antigravity SDK for structured schema enforcement and agent orchestration.
  • Cloud Infrastructure:
    • Google Cloud Run: Fully containerized backend and frontend microservice with automated horizontal autoscaling.
    • Google Cloud SQL (PostgreSQL 16): High-performance relational database storing users, integrations, stories, pipeline runs, and immutable audit logs.
    • Google Cloud Logging & IAM: Structured execution telemetry and least-privilege service account authentication via Application Default Credentials (ADC).
  • Backend Core: Python 3.12/3.14, FastAPI, SQLAlchemy ORM with automated startup migrations, Pydantic v2 validation, Argon2id password hashing, and Pytest.
  • Frontend Experience: Angular 19 with Tailwind CSS, standalone components, dynamic dark/light theme, live 9-stage execution stepper with exact microsecond duration tracking, and responsive navigation.
  • Integrations & Security: GitHub REST v3 & Git Data APIs, SMTP Email OTP verification for account security and password reset, and Google OAuth 2.0 Identity Federation.

Challenges we ran into

  1. Bridging Probabilistic AI with Deterministic Safety: LLMs can occasionally propose ungrounded file modifications or touch sensitive configs. We solved this by designing 9 deterministic validation gates that inspect and validate AST outputs at every stage before any filesystem mutation is allowed.
  2. Multi-Tenant Account & Repository Isolation: Preventing cross-account data leakage required building strict user-scoped database isolation, ensuring each user's GitHub tokens, private repositories, and public URL imports remain fully private and separate.
  3. Repository Lifecycle & Disconnect Governance: When a user disconnects their personal GitHub account, account-synced repositories are automatically cleared, while manually imported public Git repositories remain safely preserved until explicitly deleted by the user.
  4. Live Human-in-the-Loop Redirection & Telemetry: Transitioning from static forms to live execution required designing a confirmation modal reviewing target branches and safety policies, immediately auto-redirecting to a real-time 9-stage stepper with live terminal logs.
  5. Zero-Test & Static Web Repository Support: In static web or frontend projects without native test runners, test engines like pytest exit with code 5. We implemented dynamic language/runner detection that verifies syntax and file integrity without falsely failing the pipeline.

Accomplishments that we're proud of

  • True "Action over Chat": Delivered a platform where a developer or judge can click one button and watch an AI agent autonomously inspect a codebase, write code, run tests, and open a real GitHub Pull Request in under 2 minutes.
  • 100% Automated Test Pass Rate: 58 automated unit and integration tests passing with complete coverage across security validators, repository analyzers, and execution engines.
  • Zero Security Leaks: Mathematical path confinement ensuring zero possibility of directory traversal attacks, secret leakage, or unauthorized branch mutations.
  • Production-Grade Cloud Deployment: Running live on Google Cloud Run with persistent Cloud SQL PostgreSQL, Vertex AI Gemini 3.5 Flash, and Google OAuth authentication.

What we learned

  • Deterministic Gates + LLM Reasoning = Enterprise Trust: The secret to trustworthy autonomous software agents is pairing probabilistic LLM intelligence with rigid, deterministic boundary gates.
  • Codebase Context Matters More than Prompt Length: Analyzing ASTs, package manifests, and repository topology before prompting the model reduces hallucinations by over 90%.
  • Google Cloud Ecosystem Synergy: Combining Vertex AI Gemini 3.5 with Cloud Run, Cloud SQL, and the Google GenAI SDK enabled us to build, test, and deploy an enterprise-grade agent platform with exceptional speed and reliability.

What's next for ChangePilot - Autonomous Change & Safety Gate Platform

  • Multi-Repository & Monorepo Graphing: Expanding topology analysis across interdependent microservices and monorepos.
  • Automated Test Generation: Enabling the agent to automatically write new unit and integration tests when creating new features.
  • Slack & Teams Interactive Approvals: Sending rich approval cards into engineering Slack channels where team leads can review diffs and approve one-click merges.
  • Two-Way Jira & Linear Webhooks: Automatically triggering change pipelines when tickets move to "In Progress" and posting back verified pull request status updates.
  • Multi-Agent Collaborative Swarm: Introducing specialized peer agents (AI Security Auditor & AI Performance Benchmarker) that conduct automated pre-merge reviews.

Built With

Share this project:

Updates

Submission history