engineering: Ship with the process attached.

ConvOps runs your engineering process as governed AI agent workflows. Bugs reproduce before they get fixed. Tests go red before green. Releases wait for your OK. Every engineer and agent runs it the same way.

claude code · cursor · codex · gates the engine checks · nothing to install

Claude Codeconnected

new chat

ConvOps · task · exampleBug Fix
task

EU cards fail at checkout

step 1 of 6
bug arrives reproduce reproduced? test + fix approve approvalrelease
the problem

Fixed. But how, and by whom?

Every engineer and every agent fixes bugs a little differently. The reasons vanish with the chat.

“Who approved that release?”

It shipped on a Friday night. Nobody can say if anyone checked it first.

“Where did that decision go?”

Why we pinned the payments library lives in a closed chat. The next fix undoes it.

“What happens when someone leaves?”

Their way of debugging leaves with them. The new hire and the agent start from zero.

watch it work

One bug, report to release.

A real bug, run through the Bug Fix workflow from Claude Code. Same steps, whoever picks it up.

01you, in Claude Code

The bug becomes a task.

You paste the error and ask for a fix. ConvOps files a bug and attaches the Bug Fix workflow. The work has a home before anyone touches code.

example
Claude Codeconnected to ConvOps
Checkout fails for EU cards. Error log attached.
bug filed · Bug Fix workflow attached
Step 1 of 6: reproduce. Starting there, before any fix.
02the AI

It looks before it touches code.

Before acting, the AI asks the brain: past decisions on payments, where checkout lives, related bugs. It starts where the last person stopped.

example
ConvOps · recallbefore acting

askeu card checkout failure

memoryEU cards need the 3-D Secure step. Never skip it.
routeCheckout code: api/payments/checkout/
taskCard declines in Spain (done)
03the AI · reproduce

No fix before the failure is real.

The AI writes a test that fails the way production fails. Cannot reproduce it? The bug closes with an explanation instead of rotting.

example
terminalreproduce
  • $ pytest tests/checkout -k card
  • ✓ test_us_card_checkout
  • ✓ test_uk_card_checkout
  • ✕ test_eu_card_checkout
  • 3-D Secure redirect lost the session
reproducedFailing test captured on the task
04the AI · fix

Red, then green.

The fix lands against the failing test. The test turns green, and the whole checkout suite runs again before anyone is asked.

example
checkout/session.pyfix
  • - cookie.same_site = "Strict"
  • + cookie.same_site = "Lax"
  • $ pytest tests/checkout
  • ✓ 3 passed
fix readyEvery checkout test green
05you approve

The release waits for you.

The workflow stops at the approval gate and will not advance without it. You read the fix, the test and the reasoning, then say go.

example
waiting for you

Release the EU card fix?

1 file changed · 3 tests green · reproduced first

Send backApprove release
approvedRelease step unlockedThe run continues from exactly here.
06the record

Logged. And remembered.

Every step lands on the task, with the agent and the signed-in person kept apart. The lesson becomes a memory, so the next bug starts smarter.

example
ConvOps · task activityrecord
  • createdBug filed from Claude Code
  • step doneReproduce: failing test captured
  • step doneFix: 3 tests green
  • approvedRelease gate passed
  • completedReleased

agent: claude-code (its own label) · person: from verified sign-in

memory · lesson3-D Secure redirects drop strict cookies. Use Lax.linked to this task
example
Claude Codeconnected to ConvOps
Checkout fails for EU cards. Error log attached.
bug filed · Bug Fix workflow attached
Step 1 of 6: reproduce. Starting there, before any fix.
the workflow

The Bug Fix workflow, running.

Six steps and one approval. The same for every engineer, every agent and every bug.

workflow · Bug Fixrunning · step 1 of 6
  1. 01

    A bug arrives

    Typed in chat, sent from your stack, or found by another workflow.

  2. 02

    Reproduce

    No fix before the failure is real and captured.

  3. 03

    Branch on reality

    Cannot reproduce? It closes with an explanation instead of rotting.

    decision
  4. 04

    Failing test, then the fix

    Red before green. The fix ships with its proof.

  5. 05

    You approve the release

    The run holds here until a person says go.

    needs a person
  6. 06

    Release

    Logged on the task, step by step.

what it remembers

Every bug teaches the next.

Kept by the team, not by whoever was on call. Recalled before the next fix starts.

Decisions

Why the payments library is pinned, with the reason and the task that decided it.

why we did it

Where code lives

Checkout lives in api/payments/checkout. No session searches for it again.

where it lives

What broke before

The fix that broke Safari last spring, so nobody ships it twice.

lessons from failures

Linked to the bug

Every memory points back to the task that produced it. The reason and the code stay together.

traceable

the difference

Ad hoc vs taught once.

  • Each engineer fixes bugs their own way
  • The agent jumps straight to a fix
  • Releases ship when someone feels ready
  • The reason for a change lives in a closed chat

The gate is real

Approval is a requires_approval gate. The engine refuses to advance the cursor until it is met, and returns what is missing.

Routing attaches the workflow

A workflow assignment maps task type, tags or project to a template, so a bug gets Bug Fix the moment it is filed.

Detours come back

A decision step records its outcome. Detours, like closing a bug that will not reproduce, run as sub-workflows that return to the main line.

Runs in your client

Attended runs need only the MCP connection. For unattended work, a custom runner on your machines receives an envelope and a lease.

built on

The parts doing the work.

ConvOps is the operations layer for AI agents: an MCP server that holds your team's process as workflows, with approval gates, a shared memory and an audit trail. It runs no AI models.

questions

What teams ask.

Does this replace our issue tracker?

It becomes the system of record for AI-driven work: tasks with hierarchy, workflows, and a full query surface your agents reach over MCP. Whether it replaces or sits beside your tracker is your call; nothing forces a migration to start.

Which coding clients work?

Claude Code, Cursor, ChatGPT, and any client that speaks MCP. The engine hands out steps; whichever client is connected does the work.

Can an agent skip the process when nobody is looking?

Routing attaches the workflow at task creation, and gates are evaluated by the engine on every advance. A run that has not satisfied a gate does not move, whoever or whatever is driving.

Can implementation run on our own machines?

Yes. Attended runs already execute in your local client. For unattended work, a custom runner on your infra receives an envelope and a lease, or you point dispatch at your own OpenCode server.