heygrc
Ingegneriathe heygrc team

Cita la clausola esatta, o non dire nulla

Un riscontro di conformità che non puoi verificare è peggio del silenzio. L'unità di fiducia è la clausola.

Ci sono due modi per segnalare un problema in una pull request. Uno è dire 'questo sembra non conforme'. L'altro è dire 'questo elimina il registro di audit per un'azione privilegiata, che ISO 27001 A.8.15 richiede di mantenere'. Il primo è rumore. Il secondo è qualcosa su cui un ingegnere può agire o discutere. La differenza è la clausola.

Citare la clausola esatta è il nucleo di come heygrc segnalare un riscontro, ed è anche un vincolo che accettiamo: quando non possiamo nominare la clausola, preferiamo tacere. Ecco perché.

Il riscontro vago è peggio di nulla

Un riscontro senza clausola scarica sul lettore il lavoro che ha saltato. È reale? Quale regola? Dove devo controllare? La prima volta, la cercano. Dopo alcune che si rivelano infondate, smettono di leggere i riscontri del tutto, inclusi quelli validi. Un revisore di conformità che grida al lupo non ottiene una seconda possibilità, viene ignorato.

La risorsa scarsa non è la copertura. È la fiducia, e un riscontro vago la consuma.

Una citazione è un'affermazione falsificabile

Indicare la clausola esatta trasforma un'intuizione in un'affermazione verificabile. Dice al lettore quale controllo, a un livello di dettaglio che può confermare, e lo invita a dissentire. Questa è la caratteristica, non un effetto collaterale: un riscontro che puoi confutare è un riscontro di cui puoi fidarti quando è valido.

exports/run.ts+0 -1
async function runExport(userId, rows) {-  await audit.log("data.export", { userId, count: rows.length })  return write(rows)}
heygrcISO 27001 A.8.15

Non 'questo sembra non conforme'. L'affermazione specifica: questo rimuove il record di un'esportazione massiva di dati, il tipo di evento che A.8.15 richiede di registrare. Puoi aprire A.8.15, guardare il diff e decidere tu stesso se l'affermazione è valida. Questo è il punto.

Il livello di dettaglio è la parte difficile

La clausola deve essere al livello di dettaglio giusto. 'Questo riguarda ISO 27001' è quasi inutile quanto il silenzio; 'questo rimuove la registrazione che A.8.15 richiede' è azionabile. Raggiungere questo livello significa mappare il cambiamento effettivo, il comportamento modificato nel diff, al controllo specifico che lo regola. Non il framework, non la famiglia di controlli, la clausola.

La maggior parte della difficoltà nella creazione di un revisore di conformità risiede qui. Notare che qualcosa è cambiato è la parte facile. Indicare esattamente quale controllo è stato modificato, correttamente, è il lavoro.

Quando non possiamo citare, restiamo in silenzio

Questo è il compromesso che facciamo, soprattutto all'inizio: precisione rispetto al richiamo. Se non possiamo mappare un cambiamento a una clausola specifica di cui siamo sicuri, non emettiamo un avviso più generico e vago solo per sicurezza. Un riscontro errato o non verificabile costa più fiducia di uno perso, e la fiducia è ciò che fa atterrare i riscontri validi.

Il silenzio è una caratteristica quando l'alternativa è il rumore. Un revisore guadagna il diritto di essere creduto rimanendo in silenzio quando non è sicuro.

È ancora più importante quando il lettore è un agente

Quando è un agente di codifica a leggere il riscontro, un 'questo sembra non conforme' non verificabile è ancora peggio: l'agente non può ragionarci sopra né agire di conseguenza, quindi lo ignora o indovina. Un riscontro che nomina il controllo e la clausola è qualcosa che sia un umano che un agente possono usare: consultare il controllo, vedere cosa si aspetta, decidere. La citazione è l'interfaccia.

La regola è semplice da enunciare e difficile da mantenere: ogni riscontro nomina la clausola, altrimenti non c'è riscontro. La misura onesta di quanto la stiamo rispettando è la correttezza del livello di dettaglio delle nostre citazioni su diff reali, qualcosa che segnaleremo dai nostri eval quando li avremo eseguiti, con numeri o per nulla.

citationstrustcode-reviewevals