Soe Zayar.
Menu
Book a call
CASE FILE B

Lyra: an AI agent hub that ships pull requests

A central hub that runs AI coding agents in isolated workspaces, checks their work, and delivers changes as pull requests for people to merge.

Engagement
Own product
Role
Designed and built
Status
In development

In plain words

Before

AI coding agents can write useful code, but on their own they are hard to trust. They report success while tests still fail, they need access to real repositories and credentials, and when a provider fails halfway through, the work and what it cost disappear with it. Running several agents across several projects quickly becomes a tangle of terminals, keys and half-finished branches.

What I built

Lyra is a central hub for running AI coding agents against GitHub and Bitbucket projects. You give it an instruction. It prepares an isolated copy of the repository, coordinates specialised agents to plan, implement, test and review, and only delivers the change as a pull request once the project’s own checks pass and an independent review finds nothing blocking. A person still decides whether to merge.

It can also answer questions about a codebase without changing anything, and review existing pull requests line by line. Every step records its model, time, tokens and cost, and budgets pause a run before it overspends. An assistant chat ties these workflows together and asks the owner before anything consequential happens.

Lyra is in development and not yet published.

Under the hood

Architecture

  1. Instruction
  2. Durable run (Temporal)
  3. Sandboxed agents
  4. Verify + review
  5. Pull request

Stack

  • TypeScript modular monorepo
  • React and Vite (installable web app)
  • Fastify API with server-sent events
  • Temporal for durable workflows
  • PostgreSQL
  • Docker sandbox containers
  • OpenRouter, with Codex CLI and Claude Code executors
  • GitHub and Bitbucket adapters

Decisions

  • Runs execute as Temporal workflows, so restarts, provider failures and human pauses do not lose state. Every push, comment and pull request carries a stable effect identity, so a retry can never duplicate it.
  • Agents run in networkless sandbox containers that mount only the run's own worktree. Git, model and source-control credentials, pushes and pull-request creation stay on the host.
  • A run succeeds only when the project's own verification commands pass and an independent reviewer finds nothing blocking on the exact candidate commit. Any new fix invalidates earlier verification and review.
  • Cost, token, duration, diff-size and iteration limits are snapshotted when a run starts and checked before every consequential step. Prompts cannot override policy.
  • GitHub and Bitbucket differences stay inside source-control adapters, and Lyra never merges by default, so a person keeps merge authority.

Related services

Need something like this built?