Product · Proof of work
A task cannot reach done on its word alone
Every status change that claims completion carries a proof of work: a CSV written against the flow's template, the documents that back it, and a coverage report where tests are part of the claim. The gate reads it before the status moves.
What it is
A file, not a feeling.
Proof of work is a document set attached to the task. It is the same shape for a person and for an agent, which is the point: the record does not get thinner because the worker was trusted.
The CSV is the claim
One row per unit of work, written against the flow's template. It states what was done and what the result was, in a shape a checker can read without a human translating it.
The documents are the backing
A version holds more than one file. The coverage report, the decision record, the export, the screenshot: whatever the definition of done named as evidence.
The hash pins the bytes
We store references and a content hash captured at verification time, never a second copy of your files. A report always points at the exact bytes it passed on.
The done-gate
The most useful thing this product does is say no.
A feature list can claim a gate exists. A refusal, in the server's own words, with the shortcut that would satisfy it, is the gate working.
What happens without it
Refused. This status requires a proof of work.
The harness template expects a CSV and a coverage report. Neither is attached to this task.
Attach proof of workThe same rule holds for a person and for an agent. A code path that let our own agents skip it would be a bug, not a shortcut.
What it leaves behind
- v38f2c1abcurrentVerified
- proof-of-work.csvharness template, 24 rows
- coverage.lcov91.4% lines
- adr-0012-token-exchange.mddecision record
- v23d90e77superseded
- v1b71204csuperseded
Versions are immutable and monotonic. Editing a proof mints the next one; nothing is rewritten, so a report always points at the exact bytes it passed on.
On the task
Scope, definition of done, proof: three tabs, one argument.
The proof register sits beside the scope, so what was promised and what was delivered are one click apart. Nobody has to go and find the evidence somewhere else.
Who checks it
- Deterministic checkers first
- the parts a machine can settle: the template's shape, the required files, the thresholds.
- Then the AI verification flow
- reads the proof against the definition of done, line by line, and writes the summary a reviewer starts from.
- Then a human sample
- a share of passes is reviewed by a person, and the share is set by score, not by mood.
Templates
Each flow asks for the evidence that flow produces.
The template is what makes the gate checkable rather than a matter of opinion. Three ship with the flows; a custom flow brings its own.
One row per pass: what ran, what it produced, whether the checker cleared it. A coverage report is required where tests are part of the definition of done.
One row per branch, plus the merge row. A branch that was never rejoined is visible as a gap rather than quietly missing.
One row per attempt, with what changed between them. The attempts that failed stay in the record, which is what makes the last one credible.
Your own columns. The gate checks the template you defined, so the rule stays as strict as you wrote it.
First-pass rate is the number this whole mechanism produces: the share of agent tasks whose proof clears the gate on attempt one. A well-written definition of done passes first time, so a low first-pass rate is usually a specification problem rather than a worker problem.
Questions
What people ask about the gate.
Including the one the name invites: this has nothing to do with mining.
- Is this the same proof of work as in cryptocurrency?
- No, and the two are unrelated. There is no mining, no chain of blocks and no consensus puzzle. Proof of work here means the ordinary English sense: the evidence that a piece of work was actually done, attached to the task that claims it.
- What counts as a proof of work?
- A CSV filled in against the template for the flow the project runs, plus the documents it references. Where the claim involves test cases, a coverage report is part of it too. The template is what makes the file checkable rather than a note: a checker knows which columns must be present before a person reads a word of it.
- Can I write my own template?
- Yes. Harness, Graph and Loop each ship with one, and a project can define its own for a custom flow. The gate enforces the template you defined, so a template that asks for little will refuse little, and the report shows what was asked.
- Can a proof of work be edited after it is attached?
- Not in place. Proof of work is versioned, and a change mints the next version rather than overwriting the last, so v1 remains readable next to v3. One version can hold several documents, because a claim usually rests on more than one file.
- Who actually checks it?
- Three layers, in order of cost. Deterministic checkers first, for what a machine can decide outright. Then, on the AI plan, a flow that reads the proof against the definition of done and writes a summary of where they agree and where they do not. A human sample sits behind both, and its rate is set by the agent's score rather than by anyone's mood.
- What happens when the proof does not match the definition of done?
- The status change is refused and the reason is shown in the words the checker used, alongside a shortcut to the thing that would satisfy it. A refusal is feedback, not a dead end: the work goes back with the gap named.
- Do you keep a copy of my documents?
- No. Your systems stay the system of record: code in your Git, documents in your Drive, mail in your inbox. What is stored is a reference plus a content hash captured at verification time, so every report is pinned to the exact bytes it saw without a parallel copy existing anywhere.
- Can an agent mark its own work as done?
- It can attach proof and request the status change; it cannot decide the outcome. The gate is not code the agent runs, and there is no path that special-cases our own agents either: a shortcut for them would be a bug rather than a feature.
Something not answered here? Bring us the question.
Built for proof.
Working today.
Every feature, free for teams of up to 10. No card.
