AI-assisted delivery, with a person at every gate
Every new product we build runs through one workflow. AI agents do the drafting, planning and implementation. A named person approves each stage, and nothing is specified, planned, merged or shipped on an agent’s say-so.
Receive and analyse the requirement
A request arrives in whatever form it takes. Before anything is designed, it is turned into a brief the client recognises as their own business, with the open questions written down rather than guessed at.
A problem, not a ticket
A call, a brief, a spreadsheet of complaints, or a system that must be replaced. Interviews with the people who feel the problem, plus access to the data and tools they use today.
Structure it
Drafts a requirements brief: actors, use cases, constraints, integrations, what is explicitly out of scope. Flags contradictions, missing decisions and the assumptions it had to make.
Confirm the problem
Checks that the brief describes the real workflow and names the outcome that will show it is solved. The brief is not accepted until you recognise your business in it.
Five documents before any code
Each is drafted by an agent from the approved brief, reviewed and approved by a person, and versioned in the repository beside the code it describes. Later work may refine them; it may not silently contradict them.
Eight stages, three human gates
One feature at a time. Each stage produces an artifact the next depends on, and a rejected gate sends the work back, never forward. Editing an approved document invalidates every approval downstream of it.
A round marker is a person approving one exact revision: the spec, the plan, then the branch. Passing tests, a finished report or a confident agent never opens a gate on their own.
-
Brainstorming
Agent PersonThe agent asks what a senior engineer would ask: alternatives, trade-offs, what the design must not do, what already exists in the codebase. Decisions and the options rejected are recorded, not only the winner.
OutputDecision record with alternatives and rationale -
Spec / Design
AgentA dated design document written from the brainstorm: what exists today, the decisions taken, the schema changes, the trade-offs accepted and the tests that will prove the behaviour.
OutputVersioned spec in the repository, one per feature -
Review and approve the spec
PersonA person reads the spec and approves that exact revision. Findings are appended to the document rather than lost in chat. A rejection returns the work to brainstorming with the findings attached.
GateApproval bound to the spec revision · rejected → back to 01 -
Implementation plan
AgentThe approved spec becomes independently testable tasks with explicit interfaces, test-first steps, the files each touches and the command that verifies it. Small enough that a fresh reviewer can judge each one.
OutputVersioned plan with a task graph and verification commands -
Review and approve the plan
PersonSequencing, scope and risk are checked before an agent is allowed to run the plan. The approval binds the plan to the approved spec: change either and both must be approved again.
GateApproval bound to spec and plan revisions · rejected → back to 03 -
Implement / execute
Agent Subagents, optionalTasks run test-first with frequent commits. Either one agent works the plan in sequence, or a controller dispatches a fresh implementer per task and an independent reviewer after each attempt. Progress is durable, so a lost session never re-runs finished work.
OutputCommits, a report per task, real test output -
Review PR / codebase
Person Reviewer agentA whole-branch review with the evidence beside it: which tests ran, which findings were fixed or explicitly accepted, and nothing described as done that the tests do not support. Merging is a human action.
GateAcceptance bound to a commit range and evidence · rejected → back to 04 -
CI/CD
Pipeline Person releasesThe pipeline re-runs the suite, formatting and static checks on the merged commit and deploys to the agreed environment. Release to production remains a decision a person makes on a green build.
OutputA deployment tied to the commit, the checks and the person who released it
Who holds what
The split is a rule of the workflow, not a habit. An agent cannot approve its own work, another agent’s work, or lower a verification bar to make a task look finished.
With or without subagents
An approved plan is executed by one of two strategies. Neither changes the gates: both produce the same task reports, evidence and review record, so the person reviewing the branch sees the same thing either way.
One agent works the plan task by task in a single session, pausing for a review checkpoint after each. The person sees the whole branch at the end with every checkpoint recorded.
A controller dispatches a fresh implementer per task with only that task’s brief, then an independent reviewer with a bounded fix loop, then a final review of the whole branch before it reaches a person.
Applied on our own products first
The workflow was shaped on the three products we build and run ourselves. Each repository carries its own specs, plans and a single machine-readable status file, so the claim can be checked against the code.
Every milestone since the first inbox has a dated design spec and an implementation plan in the repository, beside the code and its tests.
Delivery management ProjectHubsBeing built as the control plane for this exact workflow: artifact revisions, approval gates, evidence and the rule that agents never approve.
Commerce GramShopDelivered slice by slice through the spec, plan and execute loop, with ledgers and payment flows that had to survive an independent review before merge.
The weeks go to the decisions only you can make
Drafting and implementation compress. Review, approval and the judgement about what the business actually needs do not, and the workflow is built so they never get skipped to save time.
See the workflow on one of your own requirements
Bring a single feature to a Blueprint. It goes through intake and the design documents, and you keep every document whether or not we build it.
Request a call → 30 minutes. We will tell you if we are not the right fit.