The impartial acceptance test for software work.
The client approves a test that fails today. Collaudo proves it fails for the right reason and seals it. When the work is delivered, Collaudo proves the same test passes for the right reason, and signs a public verdict that anyone can verify offline. A dispute is allowed only with another failing test.
No reviews, no opinions, no chat threads: facts computed in your own GitHub Actions, checked by a service that never runs your code and never touches your money.
Start in four steps
- Install the GitHub App collaudoio on the repository (read-only access to code; it writes check runs).
- Add the workflow as
.github/workflows/collaudo.yml:name: collaudo on: push: workflow_dispatch: permissions: contents: read id-token: write jobs: collaudo: uses: collaudoio/azione/.github/workflows/collaudo.yml@v1 - Open the contract: push
.collaudo/contratto.jsonto your default branch, naming the test files that fail today. The same run proves them red and opens the contract.{ "tipo": "correzione", "prova": { "file": ["test/somma.test.ts"] }, "valore": { "importo": 400, "valuta": "EUR" }, "scadenza": "2026-10-31" }tipo:correzione(a fix) orprotezione(a guard, with a declared mutation).valoreis the value of the work;scadenzathe deadline. - Deliver from any other branch and open a pull request that declares AI use, ticking one box:
Collaudo writes Green proven or Delivery rejected (with the reasons) as a check on the commit.- [x] I used AI for this delivery - [ ] I did not use AI for this delivery
What «for the right reason» means
| Check | What it proves |
|---|---|
prova-rossa-sul-base | On the base commit the test fails by assertion, not by crashing. |
prova-sigillata | The test files are sealed by their hash: the delivery cannot change them. |
prova-verde-sulla-consegna | On the delivered commit the sealed test passes. |
impronta-intatta | The test that passed is byte for byte the one that was sealed. |
suite-senza-rossi | Nothing else broke: no test failed, disappeared or got skipped. |
nessun-trucco | The delivery does not special-case the test, disable tests, rewire how they run or reach into the test bench (disk, processes, job variables). |
contromutazione | Mutants of the changed lines make the test fail again: it really tests the new code. |
Disputes
For 72 hours after a green verdict the client may dispute it, but only with code: push new test files on top of the delivered commit. If they fail for the right reason on the delivered code, the contract reopens with the new tests sealed beside the old ones.
What Collaudo cannot see
Tests run in the client's CI, next to the delivered code, so the suite's report is produced in the presence of that code. Collaudo checks it against the diff, which it reads from GitHub rather than from the CI, and stops the green verdict when the changed lines reach into the bench the test is measured on, naming the file, line and capability. What a dependency already present can do without showing up in the diff stays out of sight: that is a declared limit, covered by the client reading the diff.
Verdicts anyone can check
Every verdict is a small JSON document of facts, signed with Ed25519. The format and the verifier are open.
Each day the verdicts are anchored to Bitcoin through OpenTimestamps, so anyone can prove a verdict existed, unchanged, at that date, without trusting us.
Each contract has a public page at collaudo.io/contratti/<id>.