logoalt Hacker News

Show HN: Optio – Orchestrate AI coding agents in K8s to go from ticket to PR

54 pointsby jawigginsyesterday at 5:10 PM33 commentsview on HN

I think like many of you, I've been jumping between many claude code/codex sessions at a time, managing multiple lines of work and worktrees in multiple repos. I wanted a way to easily manage multiple lines of work and reduce the amount of input I need to give, allowing the agents to remove me as a bottleneck from as much of the process as I can. So I built an orchestration tool for AI coding agents:

Optio is an open-source orchestration system that turns tickets into merged pull requests using AI coding agents. You point it at your repos, and it handles the full lifecycle:

- Intake — pull tasks from GitHub Issues, Linear, or create them manually

- Execution — spin up isolated K8s pods per repo, run Claude Code or Codex in git worktrees

- PR monitoring — watch CI checks, review status, and merge readiness every 30s

- Self-healing — auto-resume the agent on CI failures, merge conflicts, or reviewer change requests

- Completion — squash-merge the PR and close the linked issue

The key idea is the feedback loop. Optio doesn't just run an agent and walk away — when CI breaks, it feeds the failure back to the agent. When a reviewer requests changes, the comments become the agent's next prompt. It keeps going until the PR merges or you tell it to stop.

Built with Fastify, Next.js, BullMQ, and Drizzle on Postgres. Ships with a Helm chart for production deployment.


Comments

saltpathtoday at 9:48 AM

The parallel execution model makes sense for independent tickets but I'm wondering what happens when agent A is halfway through a PR touching shared/utils.py and agent B gets assigned a ticket that needs the same file. Does the orchestrator do any upfront dependency analysis to detect that, or do you just let them both run and deal with the conflict at merge time?

stingraycharlestoday at 9:28 AM

I’ve come to the realization that these kind of systems don’t work, and that a human in the loop is crucial for task planning; the LLM’s role being to identify issues, communicate the design / architecture, etc before it’s handed off, otherwise the LLM always ends up doing not entirely the correct thing.

How is this part tackled when all that you have is GH issues? Doesn’t this work only for the most trivial issues?

show 1 reply
denysvitalitoday at 12:55 AM

FWIW, a "cheaper" version of this is triggering Claude via GitHub Actions and `@claude`ing your agents like that. If you run your CI on Kubernets (ARC), it sounds pretty much the same

pianopatricktoday at 5:49 AM

I wonder, based on your experience, how hard would it be to improve your system to have an AI agent review the software and suggest tickets?

Like, can an AI agent use a browser, attempt to use the software, find bugs and create a ticket? Can an AI agent use a browser, try to use the software and suggest new features?

show 4 replies
naultictoday at 2:01 AM

I'm working on something a little similar but mines more a dev tool vs process automation but I love where yours is headed. The biggest issue I've run into is handling retries with agents. My current solution is I have them set checkpoints so they can revert easily and when they can't make an edit or they can't get a test passing, they just restart from earlier state. Problem is this uses up lots of tokens on retries how did you handle this issue in your app?

show 1 reply
raised_handtoday at 6:12 AM

Why K6? Is there a way I could run it without

MrDarcyyesterday at 11:18 PM

Looks cool, congrats on the launch. Is there any sandbox isolation from the k8s platform layer? Wondering if this is suitable for multiple tenants or customers.

show 1 reply
conceptiontoday at 12:23 AM

What’s the most complicated, finished project you’ve done with this?

show 1 reply
antiheroyesterday at 11:19 PM

And what stops it making total garbage that wrecks your codebase?

show 2 replies
abybaddi009today at 2:43 AM

Does this support skills and MCP?

show 1 reply
verdvermtoday at 5:58 AM

I love k8s, but having it as a requirement for my agent setup is a non-starter. Kubernetes is one method for running, not the center piece.

hmokiguesstoday at 12:28 AM

the misaligned columns in the claude made ASCII diagrams on the README really throw me off, why not fix them?

| | | |

show 1 reply
rafaelbcsyesterday at 11:31 PM

[dead]

QubridAItoday at 12:01 AM

[flagged]

show 1 reply