Skip to content

AI-Assisted Delivery Pipeline

A delivery pipeline where a planner model scopes the ticket, cheaper models implement it, and the planner reviews the diff against its own plan — with a human gate where it belongs.


Role

Software Engineer, designer and owner

Period

2025, Integrity Asia

Stack

Azure DevOps, model routing, CI/CD

Outcome

Routine fixes ship without a human in the loop


01 — Context

Most bug tickets are not interesting

A meaningful share of an enterprise backlog is small, well-specified and repetitive: a validation that is wrong, a null that is not handled, a label that does not match the spec. Those tickets still cost a context switch, a branch, a review and a merge.

The goal was never to have models write the hard parts. It was to stop paying full engineering attention for the parts that do not need it, without lowering what reaches the main branch.

02 — Design

Three roles, deliberately separated

Planner

A high-capability model reads the ticket and produces a plan: what changes, where, and what would prove it works. Planning is where capability pays for itself, so this stage is not where you economise.

Implementer

Cheaper models execute the plan and raise the merge request. The plan constrains the work, which is what makes a cheaper model sufficient here rather than merely affordable.

Reviewer

The planner reads the resulting diff against the plan it wrote. Checking whether the work matches the intent is a narrower question than writing the work, and a model that authored the intent is well placed to ask it.

The gate

Routine fixes merge autonomously. Anything the planner scopes as complex stops for manual approval. The gate is placed by the plan's own assessment of the work, not by a file-count heuristic.

03 — Trade-off

A model reviewing its own plan is not an independent reviewer.

The planner checking the diff against its plan catches drift — work that wandered off the intent — but it will not catch a plan that was wrong to begin with. That is a real limit, and it is precisely why the manual gate exists for complex work rather than for large work.

The honest framing is narrow: this pipeline reduces the cost of tickets that were already routine. It does not make hard tickets cheap, and pretending otherwise is how teams end up reviewing machine output they no longer understand.

Stack
Azure DevOpsModel routingCI / CD

Next
Case 04
encrypted-search-service

Substring search over personal data without reversible encryption — field-scoped, key-rotatable, and built so that a leaked index yields hashes rather than names.