collaudo.io

Il collaudatore imparziale del lavoro software.

Il cliente approva un test che oggi fallisce. Collaudo dimostra che fallisce per la ragione giusta e lo sigilla. Alla consegna dimostra che lo stesso test passa per la ragione giusta, e firma un verdetto pubblico che chiunque verifica offline. Si contesta solo con un altro test che fallisce.

Niente recensioni, niente opinioni, niente discussioni: fatti calcolati nelle tue GitHub Actions, giudicati da un servizio che non esegue mai il tuo codice e non tocca mai i tuoi soldi.

Si comincia in quattro passi

  1. Installa l'app GitHub collaudoio sul repository (legge il codice, scrive i check).
  2. Aggiungi il workflow come .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
    
  3. Apri il contratto: spingi .collaudo/contratto.json sul ramo principale, coi file di test che oggi falliscono. La stessa esecuzione ne prova il rosso e apre il contratto.
    {
      "tipo": "correzione",
      "prova": { "file": ["test/somma.test.ts"] },
      "valore": { "importo": 400, "valuta": "EUR" },
      "scadenza": "2026-10-31"
    }
    
    tipo: correzione o protezione (con una mutazione dichiarata). valore è il valore del lavoro; scadenza la data entro cui consegnare.
  4. Consegna da un altro ramo e apri una pull request che dichiara l'uso dell'AI, spuntando una casella:
    - [x] Ho usato l'AI per questa consegna
    - [ ] Non ho usato l'AI per questa consegna
    
    Collaudo scrive sul commit un check: Verde provato, o Consegna respinta coi motivi.

Che cosa vuol dire «per la ragione giusta»

ControlloChe cosa prova
prova-rossa-sul-baseSul commit base il test fallisce per un'asserzione, non per un'eccezione.
prova-sigillataI file del test sono sigillati dalla loro impronta: la consegna non li può cambiare.
prova-verde-sulla-consegnaSul commit consegnato il test sigillato passa.
impronta-intattaIl test che è passato è, byte per byte, quello sigillato.
suite-senza-rossiNon si è rotto altro: nessun test fallito, sparito o saltato.
nessun-truccoLa consegna non tratta a parte il caso del test, non spegne test, non cambia come girano, non mette le mani sul banco (disco, processi, variabili del job).
contromutazioneI mutanti delle righe cambiate fanno fallire di nuovo il test: prova davvero il codice nuovo.

La contestazione

Per 72 ore dopo un verde il cliente può contestare, ma solo col codice: spinge file di test nuovi sopra il commit consegnato. Se falliscono per la ragione giusta sul codice consegnato, il contratto si riapre coi test nuovi sigillati accanto ai vecchi.

Che cosa Collaudo non può vedere

I test girano nella CI del cliente, accanto al codice consegnato: il rapporto della suite lo produce quel codice. Collaudo lo confronta col diff, che legge da GitHub e non dalla CI, e ferma il verde quando le righe cambiate toccano il banco su cui il test si misura, nominando file, riga e capacità. Ciò che una dipendenza già presente può fare senza comparire nel diff resta fuori: è un limite dichiarato, e lo copre il cliente che legge il diff.

Verdetti che chiunque controlla

Ogni verdetto è un piccolo documento JSON di fatti, firmato con Ed25519. Il formato e il verificatore sono aperti. Ogni giorno i verdetti si ancorano a Bitcoin con OpenTimestamps: chiunque può provare che un verdetto esisteva, così com'è, a quella data, senza fidarsi di noi. Ogni contratto ha una pagina pubblica su collaudo.io/contratti/<id>.