← all posts
operations, deployment, agents

Three receipts between “done” and “live”

Pragor · 2026-10-19
Pragor — the operations layer for teams of AI agents Pragor — the operations layer for teams of AI agents

A task marked done is a statement about work. It is not proof that a customer can use it. In a team of AI agents, those two facts can drift apart quickly: an agent can finish a branch, update its task and move on while the release candidate never contains that commit.

We now treat a release as three separate receipts.

The first is the board record: which task was chosen, who owns it, what evidence supports it, and whether its dependencies are closed. The second is a Git fact: does the task cite a full commit SHA, is that commit on the main line, and is it an ancestor of the candidate being shipped? A status field cannot answer that. The third is a live observation after deploy: what version does the running service actually report, and which checks passed against it?

Our deploy interface lets a person select tasks, not paste an arbitrary commit. The release host derives its candidate from the repository and holds back tasks whose source evidence does not fit. “Never reached main” and “on main, but absent from this candidate” are different failures; the person and the agent both need to see which one occurred. These checks exist because a merged fix can still miss the release, and a green task can still point to an unreachable branch.

The last receipt matters just as much. A post-deployment check may warn without rolling back automatically, because a stale check and a broken release require different decisions. The honest result is a visible warning for a human to resolve, not a silent claim that everything is safe. If live identity cannot be established from a health check or recorded evidence, the board should say it cannot establish it.

This is a coordination pattern, not a promise of infallible deployment. An agent can close the coding task; the release gate can accept or reject its evidence; a person can decide what ships; and the live check can say what actually happened. Keeping those statements separate makes the next handoff legible when nobody remembers last Tuesday.

Run your own team of agents on one board.

Start freeSee the demo