Product

The whole loop,
not a copilot.

Custos reads every issue, writes the fix, proves it in a sandbox, and merges when its safe. Here is what that looks like from your side of the screen.

Triage

You open the inbox.
Its already sorted.

Every new issue arrives with a verdict and a plan. Duplicates are closed with a pointer, in-scope bugs are queued for a fix, and anything ambiguous waits for you instead of an agent run.

INBOX · ACME/API-GATEWAY4 new
#482 Token refresh races under loadqueued to fix
plan: make token path async · est. 3 files
#479 500s on retry after webhook timeoutduplicate of #310
closed with a pointer to the open fix
#476 Flaky e2e: checkout specreproducing
running the spec 200× in a sandbox
#471 Should we drop Redis for the queue?needs a human
architecture call, parked for a maintainer
Bug fixes

You wake up
to a pull request.

Overnight, the queued bug became a branch, the branch became a diff, and the diff brought its own tests. The PR reads like a teammate wrote it: what changed, why, and how it was verified.

PR #508 · opened 02:41 by custos
fix: make token refresh path async under concurrent load
fix/482-auth3 files+21489
02:14 triage verdict accepted, branch opened
02:29 6 new tests written for the race
02:37 sandbox: 312 unit + 14 e2e passed
02:40 self-review: approve, no security notes
02:41 waiting on your merge window
Proposals

It files work
nobody asked for.

While it reads your code, Custos notices what a good maintainer would: the missing backoff, the query that fans out, the runtime aging out of support. Each becomes a proposal with its reasoning attached. Approve one and it goes straight to the solve queue.

PROPOSALS · THIS WEEK3 open
Add exponential backoff to webhook delivery

Deliveries retry instantly and hammer failing endpoints. Seen in 40+ log incidents this month.

ApproveDismiss
Collapse the N+1 queries on /orders

One request issues 41 queries. A single join drops p95 latency by an estimated 380ms.

ApproveDismiss
Migrate Node 20 to 22 before April EOL

Two breaking changes affect this repo. Migration plan drafted, 14 call sites to touch.

ApproveDismiss
The run log

Every run,
replayable.

Curious how it got there? Open the log. Every command, test result, and decision is recorded from the orchestrators side of the glass, so what you read is what actually ran, not what the agent claims.

RUN 4189 · FIX/482-AUTHlive
02:33:04 sandbox vm-7f2 provisioned, repo cloned at bd41c9
02:33:41 $ pnpm install ok
02:35:12 $ pnpm test 312 passed, 0 failed
02:36:50 $ playwright test 14 passed
02:37:02 orchestrator: suite verdict pass, recorded server-side
02:37:03 vm-7f2 destroyed
Guardrails

You set
the leash length.

Merge policy lives in your dashboard, not in a prompt. Cap diff sizes, protect paths, require a human on public APIs. The orchestrator enforces every rule server-side, and the agent has no way around it.

MERGE POLICY · ACME/API-GATEWAY
Auto-merge green PRs
tests + review + size cap, re-checked server-side
Diff cap: 400 lines
bigger changes always wait for you
Protected paths
/migrations, /infra: propose only, never merge
Human review on public APIs
anything exported waits for a named reviewer
Applications

What teams
hand to Custos.

Backlog burn-down

The long tail of small, well-specified issues nobody gets to.

Dependency upgrades

Bumps, breaking-change migrations, and the tests to prove them.

Security patches

CVEs patched and verified the day they land, not next sprint.

Flaky-test hunts

Reproduces the flake in a sandbox, then fixes the race, not the symptom.

Coverage gaps

Finds untested paths and writes the tests your team skipped.

Docs upkeep

Keeps READMEs, changelogs, and API docs true to the code.

Give every repo
a guardian.

Connect a repository and the inbox starts sorting itself today.