Direzione roguelike + Milestone 1 (loop VS-like)2026-05-20
- [feature] Scelta direzione roguelike stile Vampire Survivors, tono assurdo cartoonesco; le stat fame/energia/igiene diventano soft constraint (debuff, non morte).
- [feature] Milestone 1 su branch
dev: autoload RunManager (timer 15min, fasi calma→boss) e XPSystem; classi base Weapon/BottleWeapon, Projectile, Enemy + varianti, Pickup/CoinPickup, RunPlayer, WaveManager; UI RunHUD / LevelUpScreen / RunEndScreen; Arena.tscn. Layer collision: 1=player, 2=enemy, 4=projectile, 8=pickup, 16=boundaries. Tag locale v0.1-survival-base. - [feature] Curva di difficoltà time-based (autoload
DifficultyManager, tier 0-3 su 30min), DebugPanel (F1, slider stat/meteo/tier/skip time), big notifications via EventBus.big_notify(). Feedback dal tester Valerio Grosso (fame troppo veloce, notifiche poco visibili, troppe panchine).
RIENTRI ATTESI (messi In revisione il 2026-08-14, sprint notturno): SU-393, SU-406, SU-407, SU-411, SU-412, SU-413, SU-414, SU-415.
ESITO RIENTRI dei giri precedenti, misurato all'apertura di questo: del lotto 13/08 (SU-388, SU-389, SU-392, SU-395, SU-396) nessuno tornato in «Da fare»; del giro serale 14/08 erano invece rientrati KO in giornata SU-393, SU-406 e SU-407 — rilavorati qui.
NON LAVORATI in questo giro, di proposito: SU-409 (il ticket prescrive design live con Ivan), SU-410 (arte già generata, aspetta solo l'occhio di Ivan sul foglio di contatto), SU-381 (fermo: manca la scelta del quartiere per il lampione, proposta nel commento).
RIENTRI ATTESI (messi In revisione il 2026-08-15, giro KO del mattino): SU-393 (3º giro), SU-406, SU-410, SU-412.
ESITO RIENTRI misurato all'apertura di questo giro: dello sprint notturno 14/08 (8 chiavi attese) sono rientrati KO in mattinata SU-393, SU-406 e SU-412 — tasso 3/8; più SU-410, che era fermo sull'occhio di Ivan e ha preso un KO invece del «Fatto». Tutti e 4 rilavorati qui. Non rientrati: SU-407, SU-411, SU-413, SU-414, SU-415.
NON LAVORATI in questo giro, di proposito: SU-409 (il ticket prescrive la sessione di design dal vivo con Ivan) e SU-381 (fermo: manca la scelta di quale quartiere si prende il lampione del parco all'imbrunire — proposta LA COLLINA nel commento del 14/08, senza risposta).
ESITO RIENTRI misurato all'apertura del secondo giro 15/08 (~9:40): delle 4 chiavi del giro del mattino (SU-393 3º giro, SU-406, SU-410, SU-412) nessuna era rientrata in «Da fare» — zero KO al momento del check.
RIENTRI ATTESI (messi In revisione il 2026-08-15, secondo giro): SU-381 (lavorato stavolta: la condizione è caduta e il lampione è andato alla COLLINA come da proposta), SU-426. NON LAVORATO di proposito: SU-409 (aspetta la sessione di design dal vivo con Ivan).
ESITO RIENTRI misurato all'apertura del terzo giro 15/08 (~21:50): delle 2 chiavi del secondo giro (SU-381, SU-426) nessuna è rientrata — 0 su 2. Del giro KO del mattino (SU-393, SU-406, SU-410, SU-412) ne sono invece rientrate 2 su 4: SU-406 e SU-410, entrambi ticket di generazione arte, dove Ivan itera sul risultato visivo. Lettura onesta: il codice regge, l'arte torna indietro — e torna indietro perché è giusto che lo faccia, non perché sia lavorata male.
RIENTRI ATTESI (messi In revisione il 2026-08-15, terzo giro serale): SU-406 (4º giro), SU-410 (3º giro), SU-416, SU-417, SU-418, SU-419, SU-420, SU-421, SU-423, SU-427, SU-428. NON LAVORATI di proposito: SU-409, SU-424 e SU-425 — sono i tre ticket DESIGN che prescrivono progetta-feature e pretendono le risposte di Ivan; su SU-424 e SU-425 è stata comunque fatta e commentata la verifica nel codice che i ticket stessi chiedono. SU-422 resta bloccato dal «Fatto» di Ivan su SU-421.
ESITO RIENTRI misurato all'apertura di questo giro (2026-08-16, notte): delle 11 chiavi messe In revisione il 15/08 nel terzo giro serale (SU-406, SU-410, SU-416, SU-417, SU-418, SU-419, SU-420, SU-421, SU-423, SU-427, SU-428) ne sono rientrate in «Da fare» 4: SU-416, SU-418, SU-423 e SU-427 — tasso 4/11. Le altre sette non sono tornate indietro. Lettura onesta: due dei quattro rientri (SU-423, SU-426) non erano difetti del codice ma la mancanza di una PROVA — il multiplayer locale era dichiarato incollaudabile per ragioni d'ambiente che non esistevano. Gli altri due erano difetti veri di lettura del requisito.
RIENTRI ATTESI (messi In revisione il 2026-08-16, giro notturno): SU-416, SU-418, SU-423, SU-424, SU-425, SU-426, SU-427.
NON LAVORATI in questo giro, di proposito: SU-409 (le sue 6 domande di design sono ancora senza risposta di Ivan: senza quelle si potrebbe solo inventarle) e SU-422 (il ticket stesso si dichiara bloccato finché SU-421, la generazione delle carnagioni, non è «Fatto» — è ancora «In revisione», e il «Fatto» lo mette solo Ivan).
ESITO RIENTRI misurato all'apertura del secondo giro 16/08 (~3:30, notte fonda): delle 7 chiavi del giro notturno (SU-416, SU-418, SU-423, SU-424, SU-425, SU-426, SU-427) ne sono rientrate in «Da fare» 2: SU-418 e SU-424 — tasso 2/7. Promossi a Fatto da Ivan: SU-416, SU-423, SU-427 (più SU-417, dal giro dei KO iPhone). Restano In revisione senza rientrare: SU-425 e SU-426. Lettura onesta: entrambi i rientri sono ticket dove il giro precedente aveva visto il problema e l'aveva lasciato agli atti come domanda aperta invece di chiuderlo — su SU-418 il «se lo vuoi immediato dimmelo», su SU-424 la scorciatoia della guideline 4.8. Non è un difetto di esecuzione, è l'abitudine di consegnare una scelta al posto di una soluzione: quando la risposta prevedibile è «sì, fallo», va fatta.
RIENTRI ATTESI (messi In revisione il 2026-08-16, secondo giro): SU-406 (5º giro), SU-414 (2º giro), SU-418 (3º giro), SU-424 (2º giro), SU-429, SU-430, SU-434, SU-435.
NON LAVORATI in questo giro, di proposito: SU-409 (le 6 domande di design aspettano ancora le risposte di Ivan) e SU-422 (bloccato finché SU-421 non è «Fatto»: è ancora «In revisione», e il «Fatto» lo mette solo lui — motivo commentato sul ticket). SU-431 e SU-432 non sono stati implementati perché dipendono dallo spike SU-429, ma le loro descrizioni sono state riscritte su Jira secondo il KO di SU-424; sono nati da lì SU-436, SU-437 e SU-438.
GLI «IN CORSO» RIMASTI A METÀ, guardati come vuole il perimetro della fase e non solo i «Da fare» — erano tre e due avevano lavoro vero ancora possibile: SU-408 aveva la meccanica in gioco dal 14/08 e aspettava una prova MP che credevamo impossibile: fatta stanotte, resta In corso solo per l'arte di SU-410. SU-378 aveva tre modelli dati da Ivan il 14/08 alle 18:58, dopo il nostro ultimo aggiornamento delle 17:37: due erano già registrati, il terzo no ed è stato censito; resta In corso perché il deliverable è il numero finale e mancano 14 risposte su 34. SU-302 resta fermo, ma il suo blocco si è mosso e gliel'ho scritto: non aspetta più le pavimentazioni (ci sono tutte), aspetta la riga di Ivan su *cosa* non va nei lampioni attuali.
DUE COSE CHE ASPETTANO UNA RISPOSTA DI IVAN, e senza le quali due ticket restano a metà: (1) su SU-429 tre criteri su quattro vivono nel Dev Portal EOS o in un login Epic interattivo — la sonda è scritta e le tre azioni sono elencate nel commento, ma le credenziali le mette sempre lui; (2) su SU-414 il criterio del JSONL su emulatore è BLOCCATO-AMBIENTE dopo tre ipotesi smentite, e la scelta fra device reale e aggancio di sviluppo FORCE_RUN è sua.
ESITO RIENTRI misurato all'apertura di questo giro (2026-08-17, mattina): delle 8 chiavi messe In revisione il 16/08 nel secondo giro (SU-406, SU-414, SU-418, SU-424, SU-429, SU-430, SU-434, SU-435) è rientrata in «Da fare» 1 sola: SU-418 — tasso 1/8, il migliore finora. E quel rientro non era un difetto di esecuzione: è il GDPR che ha cambiato il requisito. Promossi a Fatto da Ivan: SU-406, SU-434, SU-435. Restano In revisione senza rientrare: SU-414, SU-424, SU-429, SU-430.
Lettura onesta, però: il tasso di rientro basso NON significa che il giro precedente fosse buono. Questo sprint ha trovato tre difetti veri in codice che il giro di stanotte aveva dichiarato funzionante — il login Epic che non entrava in EOS Connect, il trasporto del PUID rovesciato (avrebbe cancellato le classifiche a ogni accesso), e la telemetria che non consegnava un solo file. Nessuno dei tre era rientrato come KO, perché nessuno dei tre era provabile da Ivan su device: erano tutti dietro a un «NON MISURATO» che noi stessi avevamo scritto. Il tasso di rientro misura solo ciò che Ivan può vedere.
RIENTRI ATTESI (messi In revisione il 2026-08-17, giro del mattino): SU-413, SU-418 (6º giro), SU-431, SU-432 (3º giro), SU-436, SU-437, SU-441.
NON LAVORATI in questo giro, di proposito: SU-409 (quinta volta — il ticket pretende le risposte di Ivan alle sue sei domande di design, e in autonomia si potrebbero solo inventare: proposto di spostarlo fuori dallo sprint finché non c'è una data) e SU-422 (bloccato finché SU-421 non è «Fatto»: è ancora In revisione, e il «Fatto» lo mette solo lui).
APERTO IN BACKLOG: SU-442 — i quattro simulatori mobile non eseguono il gioco (iOS non installa per un problema di architettura, Android si blocca dopo il menu con QueuePresentKHR failed, riprodotto in isolamento). Finché resta aperto, ogni criterio «provato su iPhone/iPad/telefono/tablet» nasce NON MISURATO — ed è per questo che SU-431 ne porta uno.
TRE COSE CHE ASPETTANO IVAN: (1) l'ultimo passo misurabile di SU-431, bash tools/autotest/probe_su431.sh --trasporto --esegui-trasporto, il cui permesso è stato negato all'agente; (2) i token veri di Apple e Google, che richiedono un gesto umano sul pannello di sistema e un telefono con i servizi Google; (3) riaprire la cartella Box dei loghi EOS per riconfermare la provenienza dell'icona Epic, che non è dimostrabile su disco.
DUE COSE DA RIPULIRE QUANDO VUOLE: sul suo Drive ci sono 4 file di telemetria di prova in StreetU_telemetria/2026-08/, e sulla board SU_SCORE_CENTRO c'è un punteggio di prova (1234 pt, account «ITA_Blackwind») che con aggregazione Max non si abbassa più.
⚠️ UNA COSA DA FARE PRIMA DI RILANCIARE IL GIOCO: nella coda locale ci sono 2 .jsonl da partite vere del 16/08 con consent=true. Le prove sono state fatte con una HOME dedicata per non spedirli a sua insaputa, ma ora che la coda funziona partiranno al prossimo avvio: se non li vuole mandare, vanno tolti da user://telemetria/ prima.
ESITO RIENTRI misurato all'apertura di questo giro (2026-08-17, notte): delle 7 chiavi messe In revisione stamattina (SU-413, SU-418, SU-431, SU-432, SU-436, SU-437, SU-441) è rientrata in «Da fare» nessuna — tasso 0/7. Promossi a Fatto da Ivan: SU-413, SU-418, SU-432, SU-436. SU-431 resta In revisione.
Lettura onesta, però, la stessa di stamattina e vale ancora: il tasso di rientro misura solo ciò che Ivan può vedere. Tre dei cinque ticket di stanotte portano un NON MISURATO che nessun KO potrebbe scoprire, perché sta dietro a un login con token veri o a un device — non dietro a un difetto di codice.
RIENTRI ATTESI (messi In revisione il 2026-08-17, giro notturno): SU-444, SU-445, SU-446, SU-447, SU-448 — cioè lo sprint intero, che era il giro dei nickname dall'inizio alla fine.
GLI «IN CORSO», guardati come vuole il perimetro della fase e non solo i «Da fare»: erano tre e nessuno aveva lavoro tecnico possibile stanotte. SU-378 aspetta risposte di persone (il deliverable è un numero e mancano le risposte dei tester). SU-449 e SU-451 sono stati lavorati poche ore fa nei giri precedenti e i loro blocchi sono già scritti sui ticket: aspettano device e gesti di Ivan, non codice.
⚠️ DUE CONDIZIONI DI RILASCIO CHE NASCONO DA QUESTO GIRO, e che valgono per la release, non per lo sviluppo: (1) SU-445 va rilasciato insieme a SU-449, perché fino a quel momento chi entra con Google o Apple si vede pubblicare il nome legale; (2) prima di rilasciare il gate di SU-447 la lista degli utenti di prova OAuth di Google dev'essere completa, altrimenti chi manca da quella lista non viene solo respinto al login — perde il multiplayer per intero, e il gioco sembra rotto.
📌 DUE MINI-TICKET PROPOSTI, non aperti in autonomia: allineare MainMenu.gd a OnlineLeaderboard.RIGHE_MENU (oggi il menu usa una costante locale a 6 e la board ne dichiara 8: per questo la distinzione degli omonimi usa la finestra da 5 di fine partita); e decidere se browse_lobbies() va gated come gli altri tre ingressi (oggi non lo è, ma non apre né entra in niente e dalla UI un ospite non ci arriva più).
✅ MISURATO SU DEVICE la notte stessa (Honor 10, 2026-08-17 22:54), e cade il NON MISURATO più importante dello sprint: [EOSBridge] LOGIN «google» riuscito — PUID: 0002f6a5… seguito da nome pubblico rifatto dentro EOS per «google». Cioè: il login Google con un token vero completa fino a EOS su un telefono vero, la schermata del nome pubblico compare vuota (nessun «IVAN BIANCO», che era il motivo per cui SU-445 è diventato una condizione di rilascio), e il nickname scelto entra dentro EOS rifacendo la login Connect.
⚠️ LA FIRMA DELL'APK NON È UN DETTAGLIO: il primo export, firmato in debug, è stato rifiutato dall'installazione per firma diversa — e sarebbe stato inutile comunque, perché quella SHA-1 non è registrata in Cloud Console e Google avrebbe respinto il login. La prova vale solo con un export release firmato streetuniversity_release.keystore (SHA-1 2133c059…). Chi rifà questa prova parta da lì.
⚠️ DIFETTO TROVATO DAL LOGCAT, annotato su SU-449: su Android il login Apple non parte — bad_arguments — La sessione web richiede sia «url» sia «scheme». È lo stesso buco che SU-449 ha chiuso per Google e non per Apple: dove Apple non è «di casa» il login deve passare dalla sessione web con PKCE, e nessuno costruisce url e scheme.
📌 UN BUCO DI OSSERVABILITÀ, non un difetto: il registro dei nickname non stampa niente nel log. Il claim su device è chiaramente riuscito (senza, il nome non sarebbe entrato in EOS), ma da un logcat non si distingue «il registro ha detto ok» da «il registro è stato muto». Al primo nickname che si comporta male su un telefono, questa mancanza costerà un giro.
ESITO RIENTRI misurato all'apertura di questo giro (2026-08-18, pomeriggio): delle 5 chiavi messe In revisione il 17/08 nel giro notturno (SU-444, SU-445, SU-446, SU-447, SU-448 — lo sprint intero dei nickname) è rientrata in «Da fare» nessuna: tasso 0/5, e tutte e cinque promosse a Fatto da Ivan. È il secondo giro di fila a zero rientri.
Lettura onesta, la stessa delle due volte precedenti e vale ancora: il tasso di rientro misura solo ciò che Ivan può vedere. Quelle cinque chiavi portavano un NON MISURATO dietro a un login con token veri o a un device, e nessun KO avrebbe potuto scoprirlo. Questo giro ne aggiunge uno dello stesso tipo (il multiplayer di SU-452 e SU-466, letto e non eseguito).
Vale però la pena notare che stavolta il difetto l'ha trovato una sonda, non Ivan: probe_su363.sh è diventata rossa da sola quando SU-466 ha alzato la soglia della banca sotto il minimo del bidone d'oro. Una regola di design scritta dentro un controllo automatico è l'unica che non dipende da chi guarda.
RIENTRI ATTESI (messi In revisione il 2026-08-18, giro del pomeriggio): SU-452, SU-458, SU-460, SU-463, SU-464.
IN CORSO, dichiarato parziale: SU-466 — fatte le parti 1 (soglia che raddoppia) e 2 (contatore sopra la banca), NON la parte 3 (l'arcobaleno che punta alla fermata della metro), perché le fermate non esistono ancora. Il ticket si chiude nel giro dopo l'approvazione dell'arte.
NON LAVORATI in questo giro, di proposito e per blocco scritto nel ticket stesso: SU-465 («BLOCCATO DAL TICKET DI GENERAZIONE SU-463: non si lavora finché quello non è Fatto — il Fatto di Ivan è l'approvazione dell'immagine»), SU-467 (stessa formula, bloccato da SU-464) e SU-468, che vive dentro la scena bonus di SU-467. L'arte che li sblocca tutti e tre è stata generata oggi ed è in attesa di approvazione: appena Ivan mette Fatto su SU-463 e SU-464, quei tre partono insieme.
⚠️ DUE COSE CHE ASPETTANO IVAN, ed è tutto ciò che serve per sbloccare il resto dello sprint: (1) la scelta del logo della metro fra le tre proposte di SU-463 (consigliato v1, il rombo con la M — è l'unico leggibile a 20×20); (2) la scelta della famiglia di segnali di pericolo fra le tre di SU-464 (consigliati i chevron: sono gli unici che dicono anche da che parte arriva il treno).
⚠️ UNA CONDIZIONE DI RILASCIO, non di sviluppo, notata durante il compile-check: all'avvio OnlineLeaderboard.gd:309 avvisa che il quartiere CENTRO è deviato su SU_TEST_CENTRO — scrive e legge su una board di prova, non sulla classifica vera. Prima del prossimo tag va rimesso BOARD_PROVA_CENTRO = "".
⚠️ UNO STATO DI PASSAGGIO DA NON DIMENTICARE: con la soglia della banca che raddoppia (100 → 200 → 400) ma il premio del bidone d'oro che non scala, dal secondo ciclo in poi il deposito è in perdita. È voluto per il disegno finale — dal secondo giro il premio vero sarà il livello bonus — ma finché SU-467 e SU-468 non esistono, quel buco è aperto nel gioco vero.
📌 IN ATTESA, NON MIO E NON DI QUESTO SPRINT: MUSICA_AI_PROMPTS.md ha 148 righe non committate da una sessione precedente (v1.1, la §12 coi prompt della musica di game over). Sembra finito ma non l'ho committato insieme allo sprint: non è lavoro di questi ticket e la decisione è di Ivan.
RIENTRI ATTESI (secondo giro del 2026-08-18, dopo le risposte di Ivan): SU-465, SU-466, SU-467, SU-468 — cioè la catena intera metro → livello bonus → premio. SU-463 e SU-464 sono già Fatto: l'arte l'ha approvata Ivan in chat (logo v1 col rombo, segnali chevron) e il Fatto l'ho messo io perché mi aveva chiesto di proseguire subito con i ticket che quell'approvazione sbloccava.
⚠️ COME SONO STATE RACCOLTE LE PROVE DI QUESTO SECONDO GIRO, perché cambia come vanno lette: cinque subagenti su sei sono morti per errori di API del server («Server error mid-response» ×2, «529 Overloaded» ×3). Tre erano a lavoro quasi finito e il codice era su disco; per SU-468 l'ultimo è morto senza aver scritto niente. Da lì in poi il lavoro è stato fatto inline dall'orchestratore — sonde, provini, suono e verifiche comprese. È un blocco d'ambiente, non un difetto del lavoro, ma spiega perché i report degli agenti mancano e le prove le firma l'orchestratore.
⚠️ IL RISCHIO APERTO DI QUESTO GIRO, uno solo e dichiarato: in SU-468 il tiro sui livelli e il premio della tabella d'oro aprono due cerimonie, e il ticket chiede che la sequenza sia «guardata davvero». Da headless non si può: serve un playtest a mano di Ivan. Tutto il resto è misurato.
📌 UNA DOMANDA APERTA A IVAN, piccola ma vale un cambio: nella tabella d'oro «livello» è una CARTA che sale di livello (PowerUpSystem), non il LIV dell'HUD (XPSystem). SU-468 dice «XPSystem» ma indica la strada di SU-248, che è quella delle carte: ho riusato quella, come chiedeva il divieto di inventarne una seconda. Se intendeva il livello del giocatore è un cambio piccolo.
RIENTRI ATTESI (messi In revisione il 2026-08-21, Sprint 10): SU-378, SU-449, SU-451, SU-469, SU-470, SU-471, SU-472, SU-473, SU-474, SU-475, SU-476, SU-477, SU-478, SU-479, SU-480, SU-481, SU-482, SU-483, SU-484, SU-485, SU-486, SU-488, SU-489, SU-490, SU-491, SU-492, SU-493, SU-494, SU-495, SU-496, SU-497, SU-498, SU-499, SU-500 — lo sprint INTERO, trentaquattro su trentaquattro. E' il lotto piu' grosso mai messo in revisione in un giorno solo: il tasso di rientro di queste chiavi e' l'unica misura che dira' se la parallelizzazione a otto agenti ha retto o ha solo spostato il lavoro piu' avanti. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
ESITO RIENTRI misurato all'apertura di questo giro (2026-08-21, sera), ed e' la prima volta che il numero dice qualcosa di nuovo: delle 34 chiavi messe In revisione in giornata — lo sprint intero, il lotto piu' grosso mai spedito in un giorno — ne sono rientrate in «Da fare» 6: SU-470, SU-471, SU-484, SU-489, SU-491, SU-492. Tasso 6/34 (18%), contro lo 0/7, 0/5, 0/2 dei giri precedenti. La parallelizzazione a otto agenti ha retto, ma non a costo zero.
⚠️ E il modo in cui sono rientrate conta piu' del numero: NESSUNA delle sei porta un KO scritto. Tutte e sei finivano con «DOMANDA PER IVAN», «TRE DOMANDE in fondo», o «NIENTE IMPLEMENTATO». Non sono ticket sbagliati: sono consegne incomplete, e Ivan non ha commentato perche' non c'era niente da bocciare. E' un modo di rientrare che i giri precedenti non avevano mai prodotto, e nasce direttamente dalla giornata a otto agenti: quando si spediscono 34 ticket in un giorno, cio' che resta indietro non e' il codice — sono le decisioni.
📌 La regola che ne discende, applicata oggi e da riapplicare: un rientro senza KO non si lavora come un KO. Se la domanda aveva un default gia' proposto, si applica il default, lo si scrive sul ticket come decisione tracciata e correggibile, e si chiude — non si blocca il giro aspettando. Se finiva con «niente implementato», vuole il rimedio, non una seconda analisi onesta. Se finiva con un NON PROVATO, il ticket che resta e' quella prova, non la feature. Solo il blocco che dipende davvero da Ivan (un asset, un device, un gusto) resta in «Da fare» — e prima di ripetere la domanda si verifica che il blocco esista ancora: oggi SU-489 e' stato l'unico, e l'mtime del raw ha confermato che il treno nuovo non e' mai arrivato su disco.
RIENTRI ATTESI (messi In revisione il 2026-08-21, giro serale): SU-470, SU-471, SU-484, SU-491, SU-492, SU-502, SU-503, SU-504 — otto chiavi, di cui sei sono secondi giri e due nuove nate dal collaudo di ieri sera. Da contare al prossimo giro, PRIMA di aprire lotti nuovi. ⚠️ Attenzione a come si leggera' questo numero: quattro delle otto portano un NON PROVATO che nessun KO di Ivan potrebbe scoprire, perche' sta dietro a un iPhone (SU-502, SU-484), a un telefono Android con build debug (SU-504), o a due decisioni di economia che sono sue e non nostre (SU-491). Un rientro a zero qui non significherebbe «tutto giusto».
NON LAVORATO, uno solo e con la ragione verificata: SU-489 (il treno della metro). Resta in «Da fare» perche' aspetta una riga di Ivan, non del lavoro: il raw sprites_raw/WORLD/subway_train.png ha mtime 2026-08-20 20:11, cioe' non e' cambiato dopo il giro di ieri — nessun treno nuovo e' arrivato su disco, e il «modificato» in git status e' il falso positivo LFS di sempre. La domanda aperta e' una sola: il treno piu' alto come nel raw, accettando che la rotaia vicina non cada piu' sul tetto?
📌 OTTO TICKET NUOVI NEL BACKLOG, non nello sprint (la selezione e' di Ivan): SU-505 → SU-512, i ticket di implementazione che chiudono i due (DESIGN) SU-470 e SU-471. Sulle sei domande aperte sono stati applicati i default gia' proposti nei documenti, scritti sui ticket come decisioni tracciate. ⚠️ Vincolo scritto dentro i ticket e da non perdere: SU-508 e SU-510 non si cominciano prima di SU-505 — senza nome di riserva, un nome in revisione lascia il giocatore FUORI dal multiplayer, che e' il difetto che quella catena chiude.
RIENTRI ATTESI (messi In revisione il 2026-08-22, Sprint 10, giro del pomeriggio): SU-484, SU-485, SU-490, SU-492, SU-523, SU-524, SU-525, SU-526, SU-527, SU-528, SU-529, SU-530, SU-531, SU-532, SU-533, SU-534, SU-535, SU-536, SU-537, SU-538 — venti chiavi su ventuno in perimetro, di cui quattro erano rientri (SU-484, SU-485, SU-490, SU-492). SU-539 non e' stato lavorato: e' bloccato per iscritto dal ticket di generazione SU-538, e quel Fatto lo mette solo Ivan. Da contare al prossimo giro, PRIMA di aprire lotti nuovi. ⚠️ Attenzione a come si leggera' questo numero: SU-484 porta un NON PROVATO che nessun KO puo' scoprire (la misura su iPad e' rimasta a meta'), e SU-538 e SU-529 non aspettano un collaudo ma un giudizio estetico: un rientro li' e' informazione, non difetto.
ESITO RIENTRI misurato all'apertura di questo giro (2026-08-23): delle 20 chiavi messe In revisione il 22/08 ne sono rientrate in «Da fare» 5 — SU-530, SU-532, SU-533, SU-536, SU-538. Tasso 5/20 (25%), contro il 18% del 21/08 e lo 0% dei giri piu' piccoli.
⚠️ Ma il numero da solo direbbe il falso, e in due direzioni opposte. Da una parte due dei cinque rientri non sono difetti: SU-536 e SU-538 sono tornati indietro con una scelta di Ivan (il percorso /changelog/ invece di /novita/, il tendone pieno invece di quello sottile), cioe' esattamente il tipo di rientro che ci si aspetta da un ticket che aspetta un giudizio e non un collaudo. Dall'altra SU-474 era rientrato il 21/08 ed e' rimasto fuori da DUE giri di fila senza che nessuno lo contasse: non compariva nella riga RIENTRI di ieri perche' quella riga elenca cio' che si spedisce, non cio' che resta indietro. Un KO che nessuno raccoglie non fa rumore, ed e' il modo piu' silenzioso di perdere un ticket.
📌 Cosa ne discende, e vale piu' del tasso: i tre rientri veri (SU-530, SU-532, SU-533) hanno tutti la stessa forma — il codice faceva quello che il ticket diceva, ma non quello che Ivan voleva vedere. SU-530 agganciava le icone al pannello perche' cosi' era prima di SU-339; SU-533 aveva coperto la larghezza e non l'altezza; SU-532 aveva scelto 0,55 s con una motivazione scritta nel codice. Nessuno dei tre era sciatteria: erano tutti misure giuste su una domanda sbagliata. La difesa non e' misurare di piu', e' guardare l'immagine finale prima di consegnare — che e' come sono stati bocciati in casa, oggi, il secondo tentativo di SU-533 e il primo di SU-532.
RIENTRI ATTESI (messi In revisione il 2026-08-23, Sprint 10): SU-474, SU-530, SU-532, SU-533, SU-536, SU-538, SU-539 — sette su sette in perimetro, di cui sei erano rientri e uno solo (SU-539) mai lavorato prima. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
⚠️ Attenzione a come si leggera' questo numero: SU-474 porta un NON PROVATO che nessun KO di Ivan potrebbe scoprire da desktop — la causa e' stata misurata con rete e account veri su macOS, ma i provider su telefono sono Google e Apple e li' non e' stato misurato niente; SU-538 e SU-539 non aspettano un collaudo ma un giudizio estetico, e un rientro li' e' informazione, non difetto; SU-532 e' gia' al secondo KO in giornata (prima la velocita', poi la trasparenza), quindi un terzo rientro su quel ticket vorrebbe dire fermarsi e parlare dell'impianto invece di tentare un quarto aggiustamento.
📌 UN TICKET CHE VALE LA PENA APRIRE, e non l'ho aperto io perche' e' una decisione di Ivan: il fix di SU-474 alza la pompa dell'SDK di EOS al primo uso della classifica. Da li' in poi vale per tutto EOS, ma prima di quel momento qualunque altra chiamata EOS fatta a gioco in pausa — achievement, multiplayer — resta appesa esattamente come restava la classifica. E' lo stesso difetto, in un altro punto, e oggi nessuno lo sta guardando.
RIENTRI ATTESI (messi In revisione il 2026-08-23, Sprint 10, giro del pomeriggio): SU-541, SU-542, SU-543, SU-544, SU-545, SU-546, SU-547, SU-548, SU-549, SU-550, SU-551, SU-552, SU-553 — tredici chiavi, cioe' tutto il perimetro, che a fine giro e' vuoto. Di queste SU-548 e' gia' un rientro (bocciata da Ivan in giornata e rifatta: il cuore-insegna diventato contatore in cifre) e SU-553 e' nata oggi da una segnalazione sua in chat. Da contare al prossimo giro, PRIMA di aprire lotti nuovi. ⚠️ Attenzione a come si leggera' questo numero: cinque portano un NON PROVATO che nessun KO puo' scoprire — la galleria del viaggio in metro di SU-552 (in headless l'animazione e' saltata per costruzione), il tunnel su iPhone vero di SU-545, gli fps dell'alone di SU-543, il login vero coi tre provider di SU-553, e il riascolto delle musiche di SU-546, che e' un orecchio e non una misura. E SU-549 non aspetta un collaudo ma un giudizio estetico: un rientro li' e' informazione, non difetto.
RIENTRI ATTESI (messi In revisione il 2026-08-24, Sprint 10): SU-505, SU-506, SU-507, SU-543, SU-544 — cinque chiavi, cioe' tutto il perimetro, che a fine giro e' vuoto. Di queste SU-543 e SU-544 erano rientri (bocciate da Ivan il 23/08 e rifatte oggi), le altre tre sono nuove. Il tasso di rientro del giro precedente e' stato 2 su 13. Da contare al prossimo giro, PRIMA di aprire lotti nuovi. ⚠️ Attenzione a come si leggera' questo numero: tre delle cinque portano un NON PROVATO che nessun KO di Ivan potrebbe scoprire — il login Epic vero di SU-505/506/507 (qui l'account EOS e' anonimo e il registro e' sempre quello di prova), e gli fps del tunnel su telefono di SU-543. E il collaudo d'insieme e' rimasto a meta': fatto il compile-check completo (471 script, 92 scene, 0 falliti), mai fatta la smoke SP ne' la caccia al muto dopo la rimozione dell'autoplay.
RIENTRI ATTESI (messi In revisione il 2026-08-24, Sprint 10, giro del pomeriggio): SU-513, SU-554, SU-556, SU-557, SU-558, SU-559, SU-560, SU-561, SU-562, SU-563, SU-564, SU-565, SU-569 — tredici chiavi (SU-556 si è aggiunta in serata, quando Ivan ha collegato l'Honor 10), tutte nuove, nessun rientro: il giro precedente ha chiuso a 0 rientri su 5 (SU-505/506/507/543/544 non sono tornati indietro), che è il tasso migliore finora ed è anche il primo giro in cui il perimetro era fatto solo di ticket mai lavorati. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
⚠️ Attenzione a come si leggerà questo numero, perché stavolta la parte cieca è grossa: sei delle dodici portano un NON PROVATO che nessun KO di Ivan potrebbe scoprire, e per la stessa ragione — non c'è un telefono collegato. SU-557 (che su Android il log su file esista davvero in release), SU-558 (che la riga arrivi su Drive: serve l'endpoint vero, e una GET non prova una POST), SU-560 (nessun PUID intero nel logcat di una build di release), SU-562 e SU-554 (il caricamento vero in Play Console e App Store Connect, che vuole browser e credenziali), SU-563 (un crash vero forzato su un device TestFlight: la risposta è documentale, non misurata). E SU-569 non aspetta solo un collaudo ma anche un giudizio: sparisce la vignetta rossa di fame/sonno dalla pagina del giornale, ed è una scelta di resa su cui Ivan può avere un'opinione diversa — un rientro lì è informazione, non difetto.
📌 AGGIORNAMENTO DI SERANTA — il telefono è arrivato. Ivan ha collegato l'Honor 10 alle 17:15 e sei dei NON PROVATO qui sopra sono diventati misure vere (vedi la voce «Le prove sull'Honor 10» e TESTLOG): SU-557, SU-558, SU-556, SU-560 e, in regalo, SU-569 su device. Due di quelle misure hanno bocciato il lavoro del pomeriggio — SU-560 lasciava un PUID intero in logcat stampato dal plugin EOS, e la classifica di SU-561 era inutile sul primo dato vero — ed entrambi sono stati rifatti in giornata. Resta UN SOLO ticket non lavorato: SU-555, che vuole una build installata dal Play Store, non da USB, più 24-48 h di attesa in Console: non è un rinvio per scelta, è l'unica prova che il cavo non può dare.
📌 TRE COSE APERTE CHE NON SONO TICKET, e che si perderebbero: (1) le due informative privacy (street-university-site/privacy/index.html e la gemella in street-university-beta-devices/index.html) sono modificate, non committate e non pubblicate — e portano dentro anche la correzione della contraddizione del box «In breve» («né analytics», «solo in tre casi»), che era falsa da SU-413 e non da questo ticket; (2) la .so di EOS non ha i simboli di debug (tools/android/eosg_16kb/RICETTA.md non usa debug_symbols=yes separate_debug_symbols=yes): serve un ticket suo, senza il quale metà di uno stack trace nativo resta illeggibile anche coi simboli del motore caricati; (3) tools/release/testflight.sh:246 cancella l'.xcarchive a ogni run, quindi non conserviamo l'archivio delle versioni spedite — con uploadSymbols=true al giro normale non serve, servirebbe solo per risimbolicare fuori dall'Organizer.
RIENTRI ATTESI (messi In revisione il 2026-08-24, Sprint 10, giro serale): SU-526, SU-554, SU-555, SU-570 — quattro chiavi, e a fine giro il perimetro dello sprint e' vuoto. Di queste SU-526 e' un rientro (bocciata da Ivan in giornata: voleva tre ambienti, non due) e SU-570 e' nata oggi da una sua segnalazione giocando. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
⚠️ Attenzione a come si leggera' questo numero: SU-554 e' appesa per costruzione — i simboli nativi sono caricati sul bundle 30, ma la prova che funzionino richiede un crash di una build che se li porta dietro, quindi non prima della prossima release; SU-555 e' stata risposta con dati gia' esistenti e non col crash forzato che il ticket descriveva, il che e' piu' forte ma diverso da quanto chiesto; e SU-570 non ha lo scatto in-engine che il suo stesso ticket pretendeva, sostituito dal conteggio per quartiere nei due versi con la ragione scritta sul ticket.
📌 CHIUSI A FATTO IN GIORNATA, su ok di Ivan in chat: SU-513, SU-556, SU-557, SU-558, SU-559, SU-560, SU-561, SU-562, SU-563, SU-564, SU-565, SU-569 — dodici. ⚠️ Tre di questi (SU-569, SU-565, SU-564) sono stati chiusi senza che Ivan li provasse, e portano un cambiamento visibile che potrebbe non piacergli: la vignetta rossa che sparisce dal giornale, gli avvisi spenti nel tunnel, la chiesa unica per quartiere. Un loro rientro sarebbe informazione, non difetto.
📌 E il giro serale ha prodotto due cose che non sono ticket: la privacy policy 1.2 pubblicata sui due repo gemelli, e su App Store Connect il contratto di licenza accettato, lo stato DSA dichiarato «non operatore commerciale» e la riga Crash Data pubblicata. Il perche' e gli inneschi stanno in DISTRIBUZIONE_STORE.md e nel pre-volo di pubblica-store.
RIENTRI ATTESI (messi In revisione il 2026-08-28, Sprint 12): SU-592, SU-608, SU-609, SU-610, SU-611, SU-612, SU-613, SU-614, SU-615, SU-616, SU-617, SU-618, SU-620, SU-621, SU-622, SU-623, SU-624, SU-625, SU-626, SU-627, SU-628, SU-629, SU-630, SU-631, SU-632, SU-633, SU-634, SU-635, SU-636, SU-637, SU-638, SU-639, SU-640, SU-641, SU-642, SU-643, SU-644, SU-645, SU-409 — trentanove chiavi, cioè tutto il perimetro tranne SU-619, che resta in «Da fare» apposta perché manca il dato di partenza e serve una decisione di Ivan. Di queste SU-645 è nata in giornata da una segnalazione di un tester riferita da Ivan in chat, e il perimetro di partenza era zero rientri (il giro del 24/08 serale ha chiuso 0 su 4). Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
⚠️ Attenzione a come si leggerà questo numero, che è il più alto mai messo In revisione in un giorno solo. Tre cose lo rendono meno impressionante di quanto sembri, ed è giusto saperlo:
- Sedici dei trentanove sono documenti, non codice: i dodici (DESIGN), più SU-608, SU-636 e le parti di indagine. Il loro «collaudo» è che Ivan li legga, non che il gioco funzioni — e un rientro lì è una scelta diversa, non un difetto.
- Tre ticket sono stati chiusi senza cambiare una riga di gioco, perché il requisito era già rispettato (SU-615, SU-614) o perché la premessa era falsa (SU-630, la colonna esisteva già). Quelli non possono rientrare per un bug: solo per un disaccordo sulla diagnosi.
- Quasi tutto il codice porta un NON PROVATO che nessun KO può scoprire da solo: niente è stato provato su device né in multiplayer vero. In particolare restano fuori dalla portata di questo giro il suono della SUPER SCOREGGIA (mai generato), gli fps della tempesta sull'Honor (telefono assente), la soglia dei 300 ms del tasto tenuto (mai toccata con un dito), e le finestre reali della transizione in metro (in headless durano zero).
RIENTRI ATTESI (messi In revisione il 2026-08-29, Sprint 12, giro del referto telemetria): SU-646, SU-648, SU-651, SU-652 — quattro chiavi, tutte nuove, nessun rientro nel perimetro di partenza: gli otto ticket di oggi nascono tutti dal referto telemetria 0.40/0.41 e nessuno era mai stato lavorato. ⚠️ Il conto del giro PRECEDENTE non è ancora misurabile: le undici chiavi del giro dei bocciati del 28-29/08 (SU-592, SU-613, SU-614, SU-616, SU-619, SU-621, SU-624, SU-627, SU-628, SU-633, SU-643) sono state messe In revisione poche ore fa e Ivan non le ha ancora provate — vanno contate al prossimo giro, non ora. Restano fuori dalla revisione SU-647, SU-649, SU-650 e SU-653, che aspettano una decisione di Ivan e non del codice. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
RIENTRI ATTESI (messi In revisione il 2026-08-29, Sprint 12, giro completo del referto telemetria): dodici chiavi — SU-646, SU-648, SU-651, SU-652 (il primo giro), SU-647, SU-649, SU-653 (i tre di design, chiusi dopo l'approvazione di Ivan in chat), e SU-650, SU-654, SU-655, SU-656, SU-657 (l'implementazione delle sue decisioni, più il bug del consenso nato dal lavoro su SU-652). Perimetro dello sprint vuoto a fine giro. Nessun rientro nel perimetro di partenza: gli otto ticket iniziali nascevano tutti dal referto telemetria 0.40/0.41 e nessuno era mai stato lavorato; i quattro nuovi sono nati in giornata dalle decisioni di Ivan. ⚠️ Restano da contare al prossimo giro anche le undici chiavi del giro dei bocciati del 28-29/08, che Ivan non ha ancora provato. Da contare PRIMA di aprire lotti nuovi.
RIENTRI ATTESI (messi In revisione il 2026-08-29, Sprint 12, giro dei cinque design): quattordici chiavi — SU-659, SU-660, SU-661, SU-662, SU-663 (punteggio), SU-664, SU-665, SU-667 (metropolitana), SU-669 (IL BRANCO), SU-672, SU-673 (piccioni), SU-675, SU-676 (HUD), SU-677 (grafica leggera). Tutte NUOVE, nessun rientro nel perimetro di partenza: i 19 ticket dello sprint nascevano tutti dai cinque documenti di design del 28-29/08 e nessuno era mai stato lavorato. Il giro precedente ha chiuso 0 rientri su 23 chiavi. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
⚠️ Attenzione a come si leggerà questo numero, perché la parte cieca è grossa e ha una sola causa: non c'è nessun telefono collegato (adb devices vuoto). Ne discende che cinque delle quattordici portano un NON PROVATO che nessun KO di Ivan da desktop potrebbe scoprire: i 30 fps dell'Honor che sono la premessa di SU-677, il costo della scia del piccione d'oro (~210 draw_rect per ridisegnata, 16 volte al secondo), il costo della riemissione del punteggio a ogni moneta (SU-659), il ramo mobile del menu grafica (SU-677), e il multiplayer di SU-662 — dove _announce_enemy_defeat() gira solo su host, quindi i 300 punti del giullare li prende l'host anche se l'ha steso un client.
📌 E sei delle quattordici girano ancora con un SEGNAPOSTO al posto dell'arte: topo, zombie, piccione normale, piccione d'oro e i tre cani. I path finali sono già scritti nel codice e provati per primi, quindi il giorno che gli sprite sono approvati non si tocca una riga — ma l'aspetto non è mai stato giudicato, e un rientro lì sarebbe informazione, non difetto.
📌 Tre ticket portano una decisione aperta, non un collaudo: SU-669 (la carta FISCHIETTO PER CANI non ha effetto passivo ai livelli 1-8 — manopola vera o meno livelli, come si fece per il RADAR), SU-660 (con i soldi in tasca a punteggio, comprare un hot dog ora abbassa il punteggio a schermo: coerente col ticket, ma è la prima cosa che si nota), SU-676 (il suggerimento panchina è una notifica autonoma invece del testo allungato che il design chiedeva, per non far uscire due toast quasi identici).
📌 Quattro ticket restano in «Da fare» e NON è un ritardo: SU-666 aspetta l'Honor per la metà mancante della misura (la metà Mac è fatta: margine 7,2 s); SU-668, SU-670 e SU-674 hanno le varianti generate e aspettano l'approvazione di Ivan prima del montaggio; SU-671 è bloccato da una ragione di licenza — la chiave ElevenLabs non ha il permesso user_read, quindi non si può accertare se l'account sia abbonato, e le licenze degli asset AI seguono la generazione, non il download.
RIENTRI ATTESI (messi In revisione il 2026-08-31, Sprint 12, giro da CLI): diciassette chiavi — SU-611, SU-617, SU-619, SU-620, SU-640, SU-644, SU-646, SU-665, SU-666, SU-670, SU-673, SU-678, SU-681, SU-682, SU-683, SU-684, SU-685. Il perimetro di partenza erano 18 ticket, di cui 5 nuovi (SU-681÷SU-685) e 13 già lavorati. ⚠️ Il tasso di rientro del giro precedente, misurato prima di aprire i lotti: 11 chiavi su 65 = 17% (SU-611, SU-617, SU-619, SU-620, SU-640, SU-644 dal giro dei 39 del 28/08; SU-646 dal giro telemetria; SU-665, SU-668, SU-670, SU-673 dal giro dei cinque design del 29/08). Resta fuori dalla revisione il solo SU-668, che aspetta una decisione di Ivan (la tinta verde sugli zombie basta, o serve l'arte dedicata?). SU-666 è stato chiuso con la metà misurabile senza telefono: i due confronti A-B-A sull'Honor restano a Ivan, come aveva chiesto lui. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
RIENTRI ATTESI (messi In revisione il 2026-09-02, Sprint 13, giro da CLI): ventinove chiavi — SU-421, SU-580, SU-593, SU-594, SU-595, SU-596, SU-597, SU-598, SU-599, SU-601, SU-603, SU-605, SU-607, SU-658, SU-694, SU-705, SU-710, SU-711, SU-712, SU-715, SU-716, SU-717, SU-718, SU-719, SU-720, SU-722, SU-723, SU-725, SU-727. ⚠️ Il tasso di rientro del giro precedente, misurato PRIMA di aprire i lotti: 0 su 17 — nessuna delle diciassette chiavi messe In revisione il 31/08 è tornata in «Da fare». Il perimetro di partenza era di 47 ticket, tutti nuovi, zero bocciati. Di queste ventinove, una sola è un rientro: SU-421, bocciata da Ivan in giornata con una lista puntuale, rilavorata e rimessa In revisione lo stesso giorno. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
⚠️ Come si leggerà questo numero, e cosa lo rende meno impressionante di quanto sembri.
- Cinque delle ventinove non sono codice di gioco: SU-725 e la sua coda (i documenti del rilascio in tre tempi e il generatore del cheat sheet), SU-605 (marca temporale), SU-607 (ricerca di anteriorità sul marchio), SU-694 (misura del registro), SU-593 e SU-601 (decisioni scritte). Il loro «collaudo» è che Ivan le legga, e un rientro lì è un disaccordo, non un difetto.
- Due sono state chiuse senza cambiare una riga di gioco perché il lavoro era già stato fatto da un altro ticket: SU-594 prima metà (già risolta da SU-704) e SU-597 per 23 schermate su 25 (già risolto da SU-722 poche ore prima). Non possono rientrare per un bug: solo per un disaccordo sulla diagnosi.
- Quasi tutto il codice porta un NON PROVATO che nessun KO può scoprire da solo: nessun device collegato, nessun multiplayer vero a due peer. In particolare restano fuori portata il dito su una barra di scorrimento (SU-598), i 64×64 px e la safe area di iPhone (SU-722), il suono delle tre calamità e della sirena (SU-719, SU-603 — vanno *ascoltati*, e nessuna sonda lo può fare), la forma vera di un Oppo (SU-596, simulata a 2400×1080) e la classifica coi nomi su iPhone (SU-705, che si vedrà solo dopo la prossima pubblicazione TestFlight).
📌 TRE COSE CHE ASPETTANO IVAN E NON SONO RITARDI: i tre fogli della barbona di SU-723 e i 68 fogli delle carnagioni di SU-421 vogliono il suo occhio uno per uno prima del montaggio (SU-724, SU-422); e SU-607 chiede una decisione di spesa — 183 € all'UIBM per fissare la data, con la priorità unionista che sposta i 900 € di EUIPO a quando ci saranno ricavi.
📌 E tre cose fatte oggi che non sono ticket: il pacchetto di marche temporali comprato e attivato (le credenziali stanno in ~/.aruba/tsa, fuori dal repo, portate a chmod 600); il progetto Apps Script di prova con 100.008 righe finte, che resta in piedi e permette di rimisurare il registro in pochi minuti; e la prima release marcata davvero, archiviata in PROVE_DATATE/ accanto alla cartella del progetto coi suoi certificati di verifica.
RIENTRI ATTESI (messi In revisione il 2026-09-05, Sprint 14, giro da CLI, sessione delle ombre): due chiavi — SU-736, SU-695. Esito gia' noto alla chiusura: SU-695 Fatto (Ivan, 17:08) e SU-736 rientrato KO alle 17:11 («al pomeriggio a sud-ovest invece che a nord-est, rifare quegli orari»): 1 rientro su 2 in giornata, con rimedio noto in RIPRESA.md. ⚠️ Il tasso di rientro del giro precedente, misurato PRIMA di aprire i lotti: 0 su 29 (le ventinove chiavi del 02/09). ⚠️ Un'altra sessione ha lavorato in parallelo lo stesso giorno (lotto nickname, 16 commit, propri RIENTRI): per il conteggio del prossimo giro sommare le due liste. Ripresa in RIPRESA.md.
RIENTRI ATTESI (messi In revisione il 2026-09-05, Sprint 14, giro serale da CLI): sette chiavi — SU-509, SU-511, SU-736, SU-739, SU-796, SU-798, SU-800. Perimetro di partenza: 13 ticket dello sprint, di cui 3 fuori per decisione di Ivan scritta sul ticket (SU-701 aspetta Godot 4.7, SU-461 backlog, SU-268 aspetta il suo via libera su itch), 3 bocciati (SU-736, SU-739, SU-670) e 7 nuovi. ⚠️ Tasso di rientro del giro precedente, misurato PRIMA di aprire i lotti: 1 su 2 (SU-736 tornato KO in giornata, SU-695 Fatto) sulla sessione delle ombre; l'altra sessione dello stesso giorno aveva le sue 16 chiavi, di cui Ivan non aveva ancora letto nulla. ⚠️ Due delle sette chiusure sono correzioni mie al cancello, non lavoro del builder: SU-739 (il numero scelto non risolveva il KO) e SU-509/511 (due modifiche che avrebbero rotto la registrazione dei nickname in produzione): sono i punti dove il rientro e' piu' probabile. Restano aperti SU-670 (mai aperto) e i due lotti in volo al congelamento (SU-797, SU-799). Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
RIENTRI ATTESI (messi In revisione il 2026-09-06, Sprint 14, giro pomeridiano da CLI): undici chiavi — SU-820, SU-821, SU-822, SU-823, SU-824, SU-825, SU-826, SU-827, SU-828, SU-829, SU-830. Perimetro di partenza: 14 ticket dello sprint, di cui 3 fuori per decisione di Ivan scritta sul ticket (SU-701, SU-461, SU-268) e 11 lavorabili. ⚠️ Tasso di rientro del giro precedente, misurato PRIMA di aprire i lotti: 0 rientri formali — nessuna delle chiavi messe In revisione nel giro del mattino (Brina e Collina, piu' itch/audio/comandi) e' tornata in «Da fare». ⚠️ Ma il conteggio formale qui inganna, e va detto: SU-825 e' nato come bug NUOVO su fogli sprite montati e messi In revisione poche ore prima, dopo che Ivan li ha guardati in partita. Formalmente non e' un rientro, sostanzialmente lo e', ed e' stato lavorato col protocollo dei bocciati. Chi conta al prossimo giro tenga presente che un bug nuovo su lavoro appena consegnato vale quanto un KO. ⚠️ Sei difetti veri sono stati fermati al cancello, non dai builder: il ghiaccio che sarebbe esistito solo dove ci sono gli edifici (SU-828), il gatto che azzuffava anche i pinguini piu' altri tre difetti di posizione del controllo (SU-826), il poliziotto rimesso all'inizio del tutorial (SU-820) e la neve finita dietro tutto il mondo (SU-829). Sono i punti dove il rientro e' piu' probabile. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
RIENTRI ATTESI (messi In revisione il 2026-09-06, Sprint 14, giro serale da CLI): diciassette chiavi — SU-796, SU-800, SU-805, SU-808, SU-826, SU-827, SU-831, SU-832, SU-833, SU-834, SU-835, SU-836, SU-837, SU-838, SU-839, SU-841, SU-842. Perimetro di partenza: 21 ticket dello sprint, di cui 3 fuori per decisione di Ivan scritta sul ticket (SU-701, SU-461, SU-268) e 18 lavorabili; il diciottesimo, SU-840, e' partito per ultimo perche' il ticket stesso lo vuole dopo SU-826. ⚠️ Tasso di rientro del giro precedente, misurato PRIMA di aprire i lotti: 2 su 11 — delle undici chiavi messe In revisione nel giro pomeridiano sono tornate in «Da fare» SU-826 («il pupazzo di neve solo con torcia si scioglie, il gatto non gli fa nulla») e SU-827 («proviamo con 30 a partita»); dal giro serale del 05/09 erano gia' rientrate SU-796 e SU-800. ⚠️ Tre difetti veri sono stati fermati al cancello, non dai builder, e sono i punti dove il rientro e' piu' probabile: la pagina dei record che riservava 188 px allo spazio di un tasto touch mai disegnato sul web (SU-841, secondo giro aperto da me); il raw scuro dell'uomo d'affari che ripararlo avrebbe cambiato 3.264 pixel contro i 36 del difetto (SU-832, fermato); e l'audit dei glifi che al primo giro segnalava 26 falsi positivi in stringhe di log, cioe' sarebbe morto inutilizzato (SU-833, seconda passata). 📌 SU-805 e' In revisione ma NON ha niente di installato: consegna quattro varianti e un contatto, e aspetta che Ivan scelga la lettera. 📌 SU-796 porta un criterio APERTO: la direzione dell'ombra sull'immagine renderizzata non e' stata misurata, perche' tre misure diverse davano segni discordi. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
RIENTRI ATTESI (messi In revisione il 2026-09-06, Sprint 14, giro notturno da CLI): dieci chiavi — SU-687, SU-796, SU-800, SU-805, SU-826, SU-827, SU-832, SU-843, SU-844, SU-845. Perimetro di partenza: 14 ticket dello sprint, di cui 3 fuori per decisione di Ivan già scritta sul ticket (SU-701, SU-461, SU-268) e 11 lavorabili; l'undicesimo, SU-846, resta in «Da fare» di proposito — il difetto non si riproduce su desktop e curare senza averlo visto era vietato dal ticket stesso. ⚠️ Tasso di rientro del giro precedente, misurato PRIMA di aprire i lotti: 7 su 17 — delle diciassette chiavi messe In revisione nel giro serale sono tornate in «Da fare» SU-687, SU-796, SU-800, SU-805, SU-826, SU-827 e SU-832. ⚠️ Tre difetti veri fermati al cancello, non dai builder, e sono i punti dove il rientro è più probabile: il fenicottero cancellato per sempre (SU-826) sotto un commento che lo dichiarava «come gli altri NPC», mentre gli NPC rinascono e ogni nemico di quartiere rientra — con la carta del gatto si sarebbero svuotati tutti i parchi in una partita; la ruota del riccone ridotta a 3 colori distinti contro i 5.157 dell'originale (SU-805, due giri, poi lo scostamento dichiarato dalla decisione di Ivan); e SU-832 che puntava allo sprite sbagliato, cosa che si scopre solo scaricando l'allegato del KO. 📌 Due criteri restano APERTI e vanno guardati da Ivan: la notifica sull'Honor di SU-687 (nessun device collegato, il comando adb è sul ticket) e la scelta fra ruota piena e ruota col cerchione di SU-805. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
RIENTRI ATTESI (messi In revisione il 2026-09-07, Sprint 14, giro notturno da CLI): quattro chiavi — SU-814, SU-832, SU-841, SU-846. Perimetro di partenza: 6 ticket dello sprint, di cui 2 fuori per decisione di Ivan gia' scritta sul ticket (SU-701, che aspetta Godot 4.7, e SU-461, backlog) e 4 lavorabili. ⚠️ Il giro era fatto di soli rientri: zero ticket nuovi. Tasso di rientro misurato PRIMA di aprire i lotti: delle dieci chiavi del giro notturno precedente ne e' tornata 1 (SU-832); SU-841 e SU-814 erano rientrate da lotti anteriori, e SU-846 non era mai stata chiusa. ⚠️ Quattro difetti veri fermati al cancello, non dai builder, e sono i punti dove il rientro e' piu' probabile: (1) il rigeneratore delle carnagioni che con --solo business troncava npc_dark_manifest.gd da 64 a 4 coppie in silenzio, lasciando senza gemello scuro bouncer, bully, catlady, cleaner e delivery — chiuso alla radice nello script; (2) lo stesso comando che riportava 36 pixel magenta sulla sheet v03 e cancellava l'uid da quattro .tres; (3) il riccone riscalato per riga, che lo faceva rimpicciolire del 35% girandosi; (4) il riccone ridotto dalla variante a ruota piena che Ivan aveva bocciato di persona su SU-805. ⚠️ Due errori erano dell'orchestratore, non dei builder, e vanno contati come tali: il brief diceva «58 px di larghezza» misurando un bbox che conteneva un doppione staccato, e un cancello chiedeva «≥250 colori distinti» in una zona che a quella scala ha 224 pixel in tutto — impossibile per definizione. 📌 Due criteri restano APERTI: la resa in partita del riccone (Ivan deve dire la colonna del contatto a quattro) e la prova acustica di SU-846, che e' misurata ma non ascoltata. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
RIENTRI ATTESI (messi In revisione il 2026-09-07, Sprint 14, giro serale da CLI): sette chiavi — SU-814, SU-832, SU-847, SU-849, SU-851, SU-852, SU-853. Perimetro di partenza: 21 ticket dello sprint, di cui 3 fuori per decisione o dipendenza già scritta sul ticket (SU-701 aspetta Godot 4.7, SU-461 backlog, SU-863 vuole SU-852 chiuso e almeno una skin approvata da Ivan) e 18 lavorabili; dei 18 ne sono stati aperti 9 — i nove ticket sprite rimasti (SU-854…SU-862) sono stati tenuti fuori di proposito, perché il mimo era il capostipite che detta la pipeline agli altri. ⚠️ Tasso di rientro del giro precedente, misurato PRIMA di aprire i lotti: 2 su 4 — delle quattro chiavi del giro notturno sono tornate in «Da fare» SU-814 («il riccone compare pochissimo da quando spawna») e SU-832 (i due segni rossi sul contatto), mentre SU-841 e SU-846 sono rimaste dove erano. ⚠️ Quattro difetti veri fermati al cancello, non dai builder, e sono i punti dove il rientro è più probabile: (1) la nuvoletta della zuffa che in multiplayer sarebbe scivolata di una decina di pixel perché la replica avanzava con l'ultima velocità ricevuta (SU-849); (2) la sonda del riccone che ricopiava a mano la soglia dei 4 secondi e sarebbe rimasta verde sul numero vecchio (SU-814); (3) le maschere di SU-832 che prendevano l'aletta delle tasche invece delle mani, cioè una regressione sul cappotto nascosta sotto il KO; (4) il costume del mimo, consegnato ma dichiarato non convincente — cappello a tesa larga al posto del basco. ⚠️ Due errori erano dell'orchestratore: gli scatti «prima» di SU-850 e SU-848 sono stati lanciati dopo i builder e valevano come «dopo», rifatti da un worktree sul commit di partenza; e un cancello su lotto Claude è stato letto senza accorgersi che non vede il report del builder. 📌 Due lotti restano non committati di proposito (SU-850 e SU-848): il codice è fatto e i cancelli passati, ma i loro criteri sono visivi e gli scatti vanno guardati. Ripresa in RIPRESA.md. 📌 probe_su491_forbice è rossa da prima di questo giro (verificato sul commit b991506): vuole un ticket suo. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
RIENTRI ATTESI (messi In revisione il 2026-09-07, Sprint 14, giro notturno da CLI): quindici chiavi — SU-814, SU-832, SU-848, SU-850, SU-853, SU-854, SU-855, SU-856, SU-857, SU-858, SU-859, SU-860, SU-861, SU-862, e il provino generalizzato che le serve tutte. Perimetro di partenza: 17 ticket dello sprint, di cui 2 fuori per decisione o dipendenza già scritta sul ticket (SU-701 aspetta Godot 4.7, SU-461 backlog) e SU-863 ancora bloccato, che vuole almeno una skin approvata da Ivan. ⚠️ Tasso di rientro del giro precedente, misurato PRIMA di aprire i lotti: 3 su 7 — delle sette chiavi del giro serale sono tornate in «Da fare» SU-814 («deve muoversi in zona come un npc, e caricare quando è già in telecamera»), SU-832 (poi commentata «PERFETTO» senza essere transizionata) e SU-853 (il gatto in braccio da fare rosso). ⚠️ Due difetti veri fermati al cancello, non dai builder, e sono i punti dove il rientro è più probabile: (1) il rettangolo d'ingaggio del riccone a 844×390 unità mondo contro i 546×307 davvero visibili — il fix sarebbe rientrato KO identico, perché il riccone poteva ancora caricare da fuori schermo; (2) il provino generalizzato che girava senza errori producendo immagini inservibili, perché costruiva lo sprite dal raw col magenta invece che dal foglio tagliato. 📌 Tre criteri restano dichiaratamente non soddisfatti sui ticket: il bbox della sbornia sfora i 2 px sui due punk (12 e 9 celle su 25), sul ballerino (10 su 25) e sul giocoliere (3 su 25) — è la bottiglia impugnata, e la scelta di non deformare il prop è dichiarata sui ticket. 📌 Le nove skin sono in TMP e non in gioco: il montaggio è di SU-863, che si sblocca quando Ivan approva la prima. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
RIENTRI ATTESI (messi In revisione il 2026-09-08, Sprint 14, giro delle skin da CLI): nove chiavi — SU-853, SU-854, SU-856, SU-857, SU-858, SU-859, SU-860, SU-861, SU-862 (SU-855 era già lì). Non sono un rientro come gli altri: Ivan ha approvato l'arte in chat («ok gli sprites mi sembrano tutti abbastanza buoni ora») dopo il quarto giro di collaudo, e questi ticket erano fermi in «Da fare» col loro KO. Il «Fatto» lo mette lui. ⚠️ Tasso di rientro dei tre giri di collaudo sulle skin: 15 osservazioni il 07/09, 6 l'08/09 mattina, 1 l'08/09 sera — e nessuna delle 22 stava dove sembrava: 15 erano il ritaglio sulla griglia, 2 le stelline attaccate al corpo, 1 uno spruzzo che ingannava la misura, 3 arte mai disegnata intera, 1 una riga scambiata nel raw. Aperto per il seguito: SU-865, i quindici ritratti della selezione personaggio, portato oggi dentro lo Sprint 14 (era «Da fare» ma fuori da ogni sprint, quindi invisibile a /sprint).
RIENTRI ATTESI (messi In revisione il 2026-09-09, Sprint 14, giro notturno da CLI): sei chiavi — SU-852, SU-865, SU-889, SU-891, SU-893, SU-894. Perimetro di partenza: 10 ticket dello sprint, di cui 3 fuori per una dipendenza o una decisione già scritta sul ticket (SU-892 bloccato dall'ascolto di Ivan sui suoni di SU-891; SU-701 rinviato da Ivan il 05/09 — riproposto stanotte perché il blocco «aspetta Godot 4.7» è caduto, e Ivan ha confermato di lasciarlo fermo; SU-461 backlog dichiarato) e 1 aperto in corsa, SU-895, che resta in «Da fare» perché il punto che conta è una decisione di Ivan. ⚠️ Il tasso di rientro del giro precedente NON è misurabile oggi, e dirlo è più utile che scrivere zero: delle 14 chiavi dei due giri del 07-08/09, 12 sono ancora «In revisione» e 2 «Fatto», nessuna tornata in «Da fare» — ma Ivan non ha ancora fatto la prova su device, quindi quello zero è ancora «vero per costruzione», esattamente ciò da cui questa riga dovrebbe difendersi. Da rimisurare al prossimo giro. 📌 Tre cose trovate al cancello, non dai builder, e tutte e tre erano verifiche che guardavano nel posto sbagliato: (1) il criterio di SU-852 «la RPC nuova è l'ultima della lista» — vero sul file, falso sul programma, perché in Godot 4 gli id RPC seguono l'ordine alfabetico del nome (SU-895, _srv_declare_skin prende l'id 5 su 10 e ne fa slittare cinque); (2) il payload della lobby, dove la sicurezza viene dal blocco da 3 voci e non dal registro, mentre due commenti del codice dicevano il contrario e uno sbagliava perfino il conteggio dei blocchi a 4 giocatori; (3) l'effetto ad area della super «IL BRANCO», che nessuna sonda copriva e che in sei partite reali non è mai stato esercitato perché la carta non è stata pescata — su un file cresciuto di 258 righe si sarebbe rotto in silenzio. 📌 La carta dei cani resta provata dalle sonde e non dal gioco: è il primo posto da guardare su device.
RIENTRI ATTESI (messi In revisione il 2026-09-09, Sprint 14, giro del mattino da CLI): diciassette chiavi — SU-866, SU-867, SU-868, SU-869, SU-873, SU-874, SU-875, SU-876, SU-879, SU-880, SU-884, SU-885, SU-886, SU-890, SU-895, SU-896, SU-897. Tre di queste sono nate oggi e chiuse in giornata: SU-896 (il blocco di versione, deciso da Ivan in chat), SU-897 (il bot che scende nel tunnel) e SU-895, che aspettava solo quella decisione. Perimetro di partenza: 42 ticket lavorabili dello sprint (44 meno SU-701 e SU-461, fuori per decisione di Ivan già scritta sul ticket), il più grande di sempre. ⚠️ Tasso di rientro del giro precedente, misurato PRIMA di aprire i lotti: 0 su 6 — nessuna delle sei chiavi del giro notturno (SU-852, SU-865, SU-889, SU-891, SU-893, SU-894) è tornata in «Da fare». Lo sprint non aveva nessun ticket bocciato: 42 su 42 mai lavorati, cinque commenti in tutto e nemmeno uno che fosse un KO.
📌 Ivan ha scelto lui il perimetro, alle 05:52, prima di tornare a dormire: bug e telemetria, la possessione, il tunnel in multiplayer e l'online che si vede — tutte e quattro le aree. Tre decisioni date in chat e scritte subito sui ticket: SU-870 fermo finché non c'è una misura sulla 0.43 con dentro SU-765; SU-895 chiuso con «un blocco in multiplayer per far giocare solo chi ha l'ultima versione», che ha fatto nascere SU-896; SU-868 solo lato server, col client non toccato.
⚠️ Nove difetti veri fermati al cancello e dalla review, non dai builder — sono i punti dove il rientro è più probabile, e quattro di essi sono la stessa famiglia: un'RPC che crede a quello che dichiara chi la manda. (1) In SU-879 un client poteva nascondere il puppet di chiunque e rendersi intoccabile dalla polizia senza mai scendere nel tunnel; (2) in SU-886 l'host validava tutto tranne i 3 secondi di pressione, quindi si possedeva all'istante; (3) in SU-880 l'host crede ancora a «ho pagato» e «sono al giro 64» — non chiuso, dichiarato, e diventato SU-899; (4) l'audio della città tornava udibile nel tunnel perché World riscrive i volumi al frame dopo, e la misura «250 su 250 zittiti» era presa nello stesso fotogramma del muto; (5) un CanvasLayer nato mentre si è sotto restava sopra il tunnel, col vettore vero che era il SpeechCanvas dentro ogni NPC; (6) in SU-876 il segnale che riporta in lobby veniva emesso e nessuno lo ascoltava, quindi TORNA IN LOBBY portava al menu principale; (7) in SU-896 chi veniva respinto leggeva «l'host ha chiuso la lobby» invece del perché — trovato solo dal collaudo a due peer, invisibile al codice; (8) in SU-886 si poteva guidare un NPC fuori dal mondo, lasciandolo fuori dal navmesh; (9) sempre in SU-886, un accesso a ghost.velocity su un Node2D che check_files.sh dava verde.
📌 Tre cose sono cambiate nel modo di lavorare, e conviene ricordarle. (a) Il collaudo a due peer veri adesso si fa: tre lotti avevano dichiarato lo stesso NON PROVATO perché nella sandbox di Codex run_mp.sh ricade in single player — fuori parte, con un worktree e la cache d'importazione copiata, e ha trovato subito un difetto che nessuna sonda vedeva. (b) Il bot sa scendere nel tunnel (SU-897, nato dal buco di SU-879): senza, SU-880, 881, 882 e 883 si sarebbero chiuse tutte e quattro con lo stesso NON PROVATO. (c) I lotti Codex si impiantano e il loro --timeout non li salva — tutti e quattro fermi insieme alle 05:43, vivi a 0% di CPU, 7-9 eventi in due ore, mentre l'API rispondeva in due secondi: serve un guardiano che conti gli eventi.
📌 Quattro ticket nuovi aperti in corsa: SU-896 (il blocco di versione, deciso da Ivan e già chiuso oggi), SU-897 (il bot che scende, già chiuso), SU-898 (la sonda dello scudo metro conta gli arresti in modo non deterministico — 0/10, 2/10, 0/10 sul lotto e 1/10, 5/10 a HEAD: quel numero oggi non può né bocciare né promuovere niente) e SU-899 (la fonte autoritativa dell'economia in multiplayer).
📌 Tre ticket NON aperti di proposito, e non per dimenticanza: SU-870 e SU-871 chiedono decisioni che dipendono da una misura o da un playtest di Ivan su un telefono non-S23; SU-872 vuole una misura A-B-A sui suoi due telefoni con le build appaiate. Tutti e tre commentati sul ticket con cosa serve per sbloccarli. SU-892 resta bloccato dall'ascolto dei suoni di SU-891.
⚠️ Cosa resta più esposto al rientro, detto senza attenuanti: nessuna prova visiva in multiplayer è stata fatta — su questo Mac lo scatto dalla finestra senza fuoco è impedito da App Nap, quindi il velo rosso della possessione, il conto alla rovescia della chiamata e il fantasma sullo schermo dell'altro li vedrà per primo Ivan. E SU-880 va su device sapendo che il suo rilievo critico è aperto. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
RIENTRI ATTESI (messi In revisione il 2026-09-09, Sprint 14, giro del pomeriggio da CLI): quindici chiavi — SU-878, SU-881, SU-882, SU-883, SU-887, SU-888, SU-898, SU-899, SU-900, SU-901, SU-903, SU-904, SU-905, SU-906, SU-908. Perimetro di partenza: 18 ticket, di cui 3 fuori per una dipendenza già scritta sul ticket (SU-907, SU-902 e SU-892 aspettano che Ivan approvi i gemelli di generazione: i due suoni del branco, i quindici fantasmi, i sedici suoni di busking). Lavorati 15 su 15. ⚠️ Tasso di rientro del giro precedente: 0 su 17 — nessuna delle diciassette chiavi del giro del mattino è tornata in «Da fare». Come l'altra volta, però, quello zero è vero per costruzione: Ivan non ha ancora provato su device, e la riga serve proprio a difendersi da questo. Da rimisurare al prossimo giro. ⚠️ Tre lotti su nove sono stati fermati o corretti al cancello, e nessuno dei tre difetti l'aveva visto un builder: (1) SU-887 dichiarato finito con la sonda mai rilanciata — e la sonda diceva HIT_DELTA=0, cioè i 120 punti non arrivavano affatto; sotto ci stavano due difetti veri, il colpo senza ricarica né tiro registrato e i punti accreditati a qualunque perdita di vita, ed è servito il perimetro allargato a ModularNPC.gd per chiuderli (3 giri, l'ultimo su Astra); (2) due righe var arch := … che facevano morire ogni run mentre il compile-check restava verde — trovate dal lotto *accanto*, non da chi le aveva scritte; (3) SU-905, dove il difetto stava nella sonda (misurava l'ombra dell'altro camioncino, perché alcuni semi ne generano due uguali) e le tre ipotesi di rimedio sono cadute una dopo l'altra, l'ultima per algebra. 📌 SU-905 e SU-901 aspettano una tua occhiata, non un fix: tre varianti d'ombra a confronto e quindici fantasmi da approvare. 📌 SU-903 non è attivo finché non pubblichi versione_multiplayer nel devices.json su GitHub: BETATESTING/ è gitignored, quindi la modifica non è nel commit.
RIENTRI ATTESI (messi In revisione il 2026-09-09, Sprint 14, giro serale da CLI): otto chiavi — SU-779, SU-780, SU-784, SU-785, SU-786, SU-791, SU-877, SU-892. Perimetro di partenza: 27 ticket dello sprint (la query paginata di ieri, non più la fetta da 18), di cui 17 fuori e non per dimenticanza: SU-902 aspetta che Ivan approvi i 15 fantasmi di SU-901 (ancora «In revisione», non «Fatto»); SU-870, SU-871, SU-872, SU-781, SU-783 chiedono misure o playtest su device che solo Ivan può fare; SU-790, SU-701, SU-461 sono fermi per decisione scritta sul ticket; SU-792, SU-793, SU-794, SU-795, SU-788, SU-789 sono a valle di ticket chiusi oggi; SU-687 e SU-707 sono i due soli bocciati dello sprint e aspettano entrambi la stessa cosa — l'Honor 10 collegato al Mac, che Ivan ha chiesto esplicitamente di fare insieme. ⚠️ Tasso di rientro dei giri precedenti: ancora non misurabile. Delle 38 chiavi messe In revisione ieri e stamattina, nessuna è tornata in «Da fare» — ma Ivan non ha ancora provato su device, quindi quello zero resta «vero per costruzione», che è esattamente ciò da cui questa riga dovrebbe difendersi. 📌 Tre difetti trovati al cancello, nessuno visto dal builder che li aveva scritti, e tutti e tre della stessa famiglia — una verifica verde su una premessa falsa: (1) SU-786 chiamava get_player_data_storage_interface(), un metodo che nel binding EOS non esiste, ed essendo fail-open non avrebbe scritto niente in silenzio per sempre, con la sonda verde — ora la sonda ha una prova negativa che diventa rossa; (2) SU-791 era solo API senza un call-site: nessuno lo chiamava, quindi la marcatura di fine partita chiesta dal ticket non sarebbe mai avvenuta; (3) SU-779 aveva saltato il punto 5 del ticket, lasciando commenti e una sonda che ricavavano il giro dalla soglia — cioè la premessa che il ticket stesso aveva smontato. 📌 Due cose trovate invece guardando gli scatti, non i report: la testata diceva «PAGINA 2» sopra la terza pagina di SU-877, e nella pagina definitiva i due bottoni fanno scorrere la lista (3 righe su 4 visibili in forma telefono). 📌 Il commit non è stato pushato: git push origin dev aspetta l'ok di Ivan.
RIENTRI ATTESI (messi In revisione il 2026-09-12, Sprint 14, giro del mattino da CLI): cinque chiavi — SU-943, SU-944, SU-945, SU-946, SU-940. Perimetro di partenza: 14 ticket in «Da fare», di cui 9 fuori e non per dimenticanza: SU-872 aspetta il Redmi collegato al Mac; SU-871 e SU-870 sono fermi per decisione di Ivan già scritta sul ticket (prima si rimisura, sulla 0.43 con SU-765 e sulla prossima build da store); SU-783 e SU-781 vogliono il referto della 0.44, che non c'è ancora; SU-795 aspetta che la richiesta a Epic la mandi Ivan («la mandi tu»); SU-790 e SU-461 sono nel backlog per sua decisione; SU-782 sta a valle di SU-779 e SU-780, ancora solo «In revisione» e non «Fatto», e vuole tre cosmetici generati e approvati. Lavorati 5 su 5. ⚠️ Tasso di rientro del giro precedente: 0 su 13 — nessuna delle chiavi dello sprint dell'11/09 sera è tornata in «Da fare»; stavolta quello zero pesa un po' più del solito, perché l'11/09 Ivan ha provato davvero i due telefoni sulla build stage b91322a (collaudo a due peer in TESTLOG). ⚠️ Quattro difetti fermati al cancello o dalla review, nessuno visto dal builder che aveva scritto il codice, e tre su quattro sono verifiche verdi su una premessa falsa: (1) in SU-940 il gate era valutato prima di await eb.setup(), e il rientro silenzioso Epic dentro il setup cambia il PUID dopo — la sonda passava, il difetto restava, ed era una via d'ingresso in più oltre al caso ESCI+riaccesso del ticket; (2) sempre in SU-940 il canale coperto dal builder (join_failed) non è quello che si vede: premendo MULTIPLAYER il menu MP non si apre affatto, e il pannello diceva «entra col tuo account» a chi l'account ce l'aveva, mandandolo a rifare il login; (3) in SU-946 l'XP nuovo finiva anche sulle donazioni del super COMIZIO IN PIAZZA, che riusa busk_donate() — si saliva di livello senza suonare, in un ticket che vieta di toccare l'economia; (4) in SU-945 la schermata del cambio nome si apriva muta, perché _open_account_nome() azzerava sempre il codice del motivo: criterio 3 del ticket, verificabile solo leggendo cosa compare a schermo. 📌 Una premessa del ticket smentita dalla misura: SU-944 titolava «LATTINE INSUFFICIENTI esce dal riquadro», e quella scritta sforava di 4,3 px — a sforare di 87,3 era «SBLOCCA (150 LATTINE)» in francese, cioè il caso su cui il pulsante era considerato tarato. Accorciare la chiave del ticket non avrebbe chiuso niente. 📌 Da sapere alla prossima release: _cl_busk_result ha cambiato firma (un terzo argomento); il nome della RPC non è nuovo, quindi nessun id slitta, ma la guardia RPC di SU-934 vede le RPC nuove e non i cambi di firma delle esistenti. Alla 0.44 il minimo MP va comunque alzato (25 RPC nuove in World.gd dal tag v0.43). 📌 Cosa resta più esposto al rientro: nessuna delle cinque chiavi è stata provata su device — SU-943 vuole il cronometro sull'Honor, SU-945 e SU-940 vogliono i due telefoni con due account, SU-946 vuole una suonata vera in un angolo affollato e un collaudo a due peer che le sonde non sostituiscono.
RIENTRI ATTESI (messi In revisione il 2026-09-12, Sprint 14, giro serale da CLI): undici chiavi — SU-941, SU-947, SU-948, SU-949, SU-950, SU-951, SU-952, SU-955, SU-956, SU-957, SU-958. Perimetro di partenza: 20 ticket in «Da fare», di cui 7 fuori e non per dimenticanza: SU-871 e SU-870 fermi per decisione di Ivan già scritta sul ticket (prima si rimisura); SU-783 e SU-781 vogliono il referto della 0.44, che non c'è ancora; SU-795 chiuso dalla sua decisione del 12/09 («non chiederei ad Epic»); SU-790 e SU-461 nel backlog per sua decisione. Restano aperti SU-954 (riportato in «Da fare»: il difetto non è riproducibile, servono le condizioni in cui Ivan l'ha sentito) e SU-953 (design: la raccomandazione è sul ticket, decide lui). ⚠️ Tasso di rientro dei giri precedenti, misurato prima di aprire i lotti: 0 su 5 per il giro del mattino del 12/09 — e stavolta non è «vero per costruzione», perché Ivan ha collaudato davvero la sera del 12/09 su EOS vero coi due telefoni: è da quel collaudo che nascono SU-948, SU-949 e il KO di SU-941. Del giro dell'11/09 sera è rientrata 1 chiave su 13, SU-941. ⚠️ Cinque difetti presi dalla review incrociata o dal cancello, nessuno visto dal builder che aveva scritto il codice: (1) in SU-955 la freccia a schermo e la cartina avrebbero indicato due punti diversi, perché World.gd chiamava la funzione senza passarle la posizione e il parametro aveva un default Vector2.ZERO — e la sonda del builder non poteva vederlo, perché simulava la freccia passandole l'argomento giusto; (2) in SU-958 morire dentro Pausa → Opzioni lasciava i pannelli sopra il giornale, e (3) la chiusura del ventaglio poteva essere annullata da un'apertura già accodata nello stesso fotogramma; (4) in SU-948 la ricarica dello yeti non si armava sull'host per le vittime remote, quindi a tre peer si aggirava proprio il numero che il ticket imponeva, e (5) i 10 px di portata in più del colpo volontario prendevano anche alle spalle. 📌 Due premesse dei ticket smentite dalla misura: SU-947 parlava di «25 RPC nuove in World.gd e 13 in NetworkManager.gd» fra v0.43 e dev, e i numeri veri sono 106 e 23; SU-949 elencava due sospetti e non era nessuno dei due — il verso viene scelto e viaggia, ma nel ramo fantasma un timer di contraccolpo non scende mai e blocca ogni animazione per sempre. 📌 Un verdetto corretto in corsa: in SU-950 la causa «content scale non intero» era stata esclusa perché «stessi numeri alle due risoluzioni», ma i numeri erano in coordinate logiche, dove non potevano cambiare per costruzione; rifatti in pixel di schermo resta esclusa, per una ragione vera. 📌 Tre giri sul provino di SU-952, e nessuno dei tre difetti era nel codice del gioco: una run fotografata appena nata, poi ROI calcolate in coordinate logiche e lette su un buffer di dimensioni diverse (--windowed non rispetta la risoluzione richiesta). 📌 Da provare su device: tutte e undici. SU-957 in particolare non è finito: consegna lo strumento, e la misura che dà il verdetto la deve fare Ivan sull'Honor con bash TMP/su957/comando_honor.sh.
RIENTRI ATTESI (messi In revisione il 2026-09-13, Sprint 14, giro del mattino da CLI): undici chiavi — SU-955, SU-952, SU-962, SU-956, SU-961, SU-965, SU-964, SU-920, SU-959, SU-960, SU-963. Perimetro di partenza: 20 ticket in «Da fare», di cui 9 fuori e non per dimenticanza: SU-954 aspetta da Ivan le condizioni in cui ha sentito la musica interrompersi (non riprodotta il 12/09); SU-953 aspetta la sua scelta sulla raccomandazione; SU-871 e SU-870 fermi finché non si rimisura; SU-783 e SU-781 vogliono il referto della 0.44; SU-795, SU-790 e SU-461 in backlog per sua decisione. ⚠️ Tasso di rientro del giro serale del 12/09: 3 su 11 (SU-952, SU-955, SU-956), più SU-920 da un giro precedente — tutti dal collaudo di Ivan del 13/09 su EOS vero coi due telefoni, da cui nascono anche i sette ticket nuovi. Lo zero dei giri prima era quindi «nessuno aveva ancora provato», non «era giusto». ⚠️ Undici difetti presi dalle review incrociate o al gate, nessuno visto dal builder che aveva scritto il codice: in SU-956 l'host accettava la raccolta di una moneta da qualunque distanza; in SU-962 tre modi di attraversare un muro (nascere dentro un solido, uno scatto su una parete sottile, un passo che entra più a fondo); in SU-959 il tocco dello spettatore e le tenute di metro e banca passavano sotto il menu, e Opzioni e musica restavano accese al game over; in SU-920 un acquisto durante la lettura EOS andava perso e una scrittura fallita non si ritentava più; in SU-961 la prima patch toglieva del tutto il controllo della tenuta; in SU-964 la sonda passava anche rotta (exit code ignorati, path con lo spazio). 📌 Due premesse dei ticket smentite dalla misura: SU-961 sospettava un pezzo di configurazione mancante, ed era la tenuta di 48 px contro un pinguino che cammina; SU-965 dava due rimedi (raw o riduzione) e non era nessuno dei due: la cella da 48 era piccola per la posa alla stessa scala. 📌 Da sapere alla release: SU-956 aggiunge 2 RPC e cambia la firma di _cl_coin_collected — il minimo MP va alzato, e il cambio di firma la guardia non lo vede. 📌 Decisione aperta per Ivan: con l'host morto tossico, spazzino e gattara smettono di attaccare i vivi (SU-964, non toccato). 📌 Da provare su device: tutte e undici; SU-920 per prima con la riga «ID …» nella schermata Account dei tre dispositivi.
RIENTRI ATTESI (messi In revisione il 2026-09-17, Sprint 15, giro notturno da CLI in background, Ivan a dormire con «sei libero»): ventidue chiavi — SU-995, SU-996, SU-913, SU-999, SU-990, SU-1003, SU-1004, SU-1009, SU-984, SU-988, SU-1002, SU-1010, SU-1001, SU-997, SU-1006, SU-1007, SU-1008, SU-986, SU-1005, SU-998, SU-1000, SU-1012; SU-1011 resta In corso (misura e proposta sul ticket, Ivan sceglie la curva). Perimetro di partenza: 32 ticket in «Da fare», di cui 9 fuori e non per dimenticanza: SU-991 aspetta i segnali del suo ticket; SU-989 viene dopo SU-984/986 in produzione; SU-936 vuole Xcode 27.1 e un iPhone Duo; SU-909 è una prova sul telefono di Ivan col suo account; SU-871 e SU-870 sono FERMI per sua decisione; SU-783 e SU-781 vogliono giorni di telemetria della 0.50 uscita il 16/09; SU-26 è in backlog per sua decisione. ⚠️ Tasso di rientro formale dei giri precedenti: 0 — nessuna delle chiavi del 13/09 e del 15/09 è tornata in «Da fare»; ma cinque dei bug nuovi di stanotte vengono dal playtest di Ivan sulla 0.50 su lavoro appena consegnato (SU-1003/1004 sul Branco di SU-907, SU-1009 sui super di SU-933, SU-1010 sul fontanile di SU-406, SU-1001 sui bidoni di SU-764): valgono come rientri sostanziali. ⚠️ Diciannove difetti veri presi dalle review incrociate, nessuno visto dal builder che aveva scritto il codice, corretti in otto lotti di correzione: la potatura della telemetria che cancellava una run vera per undici scarti (SU-990); il refresh delle JWKS che a rotazione con rete giù rifiutava i token per 10 minuti e il retry del client spento (SU-984); il badge del super dentro il riquadro (SU-1009); cinque nel caffè — caffetteria dentro il ramo dei neon, caffè solo sul 4º banco, nessun rifiuto a energia piena, %d non sostituiti, manca _note_shop (SU-997); la fusione della serie chiave per chiave che regalava una lattina al giorno e la serie senza proprietario (SU-1007); lo stato del nome fidato dal client, le prenotazioni multiple per PUID e la grafia in cache (SU-986); lo shader che ignorava modulate, le ante ferme e le braci fuori campo (SU-998). ⚠️ Uno preso dal collaudo di fine onda: l'avviso del quinto giorno che non compariva mai (SU-1007), ora nel giornale. 📌 Tre ipotesi delle review smentite e dichiarate: «frame_start = p non compila» (compila, 181/181), «lo scongelamento viola l'autorità dell'host» (è il disegno del ticket), i nomi italiani in file già tutti in italiano. 📌 Una premessa del brief smentita: il Mercato ha il camioncino anche coi negozi a banco (il provino lo forzava mutando una const). 📌 Decisioni aperte per Ivan sui ticket: SU-1012 cooldown 20 s o 1 s; SU-1000 ok sul foglio dei lampioni; SU-1011 curva; SU-995 scadenze; SU-996/913/999 tre domande ciascuno. 📌 Da provare su device: tutte e ventidue; SU-1002, SU-1005, SU-998 hanno già lo screenshot dall'Honor. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
AGGIUNTA alle 03:40: SU-1011 messo In revisione dopo il «vai avanti» di Ivan (curva applicata, 10 run del bot: 0 carte al livello 5 a 15 minuti). Chiavi In revisione del giro: ventitré.
RIENTRI ATTESI (messi In revisione il 2026-09-19, Sprint 16, giro serale da CLI in background): cinque chiavi — SU-1039, SU-1023, SU-1041, SU-776, SU-783; SU-777 resta In corso (moltiplicatori committati, criterio 1 non confermato dalla sonda, scelta a Ivan con default «si tiene e decide la telemetria della 0.52»). Perimetro di partenza: 21 ticket (20 in «Da fare»/«In corso» più SU-1041 nato durante il giro dall'altra sessione), di cui 15 fuori e non per dimenticanza: SU-1040 lo chiude l'altra sessione; SU-1037 è il controllo settimanale del 24/09; SU-986, SU-989 e SU-909 vogliono la sessione dedicata decisa il 18/09; SU-936 vuole Xcode 27.1; SU-991 nessun segnale scattato; SU-772 e SU-26 aspettano una scelta di Ivan fra alternative; SU-442 è il lavoro sui simulatori, da sessione a parte; SU-781, SU-778, SU-871, SU-870 e SU-771 hanno ricevuto oggi la misura dal referto 0.50+0.51 ma il campione non basta o la decisione è sua. ⚠️ Tasso di rientro del giro precedente (17/09, ventidue chiavi): NON CONTATO in questo giro. Due rientri sono certi perché si vedono da qui — SU-997 (KO di Ivan, richiuso il 18/09, commit efcbade) e SU-986 (tornato in «Da fare» per sua decisione del 18/09, non per un KO) — ma le altre venti chiavi non sono state rilette: il conto va fatto all'apertura del prossimo giro. ⚠️ Sei difetti veri presi dalle review incrociate Codex, nessuno visto dal builder che aveva scritto il codice: in SU-1039 l'annullamento su timeout con request_id nuovo (ACK perso), il crash a metà annullamento, il recupero della 0.51 troppo largo e la ripresa sparita dal menu; in SU-1023 il guard che zittiva la seconda caduta dopo un trasloco; in SU-1041 il dito che arrivava due volte al catcher; in SU-776 la migrazione timbrata a vuoto che un cloud tardivo non riapriva, più l'indizio che diceva «più di uno» con soglia 3. 📌 Una regola del ticket smentita dalla misura: in SU-777 abbassare wanted a 1,00 peggiora la Collina (1,000 → 1,375 vite al minuto), perché il 45% delle vite perse nella sonda è del giullare. 📌 Da guardare a parte: probe_su932_tastiera dà 22 KO anche su HEAD. 📌 Da provare su device: SU-1041 su iPhone e iPad con un account che cambia nome; SU-1039 con una pratica rimasta aperta dalla 0.51; SU-1023 con due telefoni su EOS. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
RIENTRI ATTESI (messi In revisione il 2026-09-20, Sprint 16, giro mattutino da CLI in background): sette chiavi — SU-1042, SU-1043, SU-1044, SU-1045, SU-1046, SU-1047, SU-771. Perimetro di partenza: 22 ticket in «Da fare»/«In corso», di cui 15 fuori e non per dimenticanza: SU-1040 aspetta la build TestFlight su iPadOS 27 e un tester con iPhone su iOS 27; SU-1037 è il controllo settimanale di giovedì 24/09; SU-986, SU-989 e SU-909 vogliono la sessione dedicata decisa il 18/09; SU-936 vuole Xcode 27.1 (sul Mac c'è il 27) e un Duo vero; SU-991 nessun segnale scattato; SU-871 aspetta il playtest di Ivan sul tier 1 da telefono non-S23; SU-870, SU-772 e SU-26 aspettano una sua scelta fra alternative già scritte sul ticket; SU-781 (33 ingressi su 60) e SU-778 (4, 4 e 8 run su 30) non hanno campione; SU-777 aspetta la sua scelta col default già dichiarato; SU-442 è il lavoro sui simulatori, da sessione a parte. Nato durante il giro: SU-1049. ⚠️ Tasso di rientro dei giri precedenti, contato PRIMA di aprire i lotti: 0 su 5 per il giro del 19/09 (SU-1039, SU-1023, SU-1041, SU-776, SU-783: nessuna tornata in «Da fare») e 1 su 22 per quello del 17/09 — solo SU-997, già richiusa il 18/09; SU-986 è tornata indietro per decisione di Ivan, non per un KO. È il conto che il giro del 19/09 aveva lasciato in sospeso. ⚠️ Nove difetti veri presi dalle review incrociate Codex e dal cancello, nessuno visto dal builder che aveva scritto il codice, in quattro giri di correzione: in SU-1043 i district_foes erano rimasti scoperti — ed era il criterio 3 del ticket, con il report che dichiarava «nessun ramo scoperto» — e hits_tall_obstacle_segment() non è una query pura, perché sul riccone invoca cat_bounce(); in SU-1045 l'arresto arrivava dentro il nero a dormita già consumata (misurato: una vita persa, 9 → 8), il timer lasciato in volo da _enter_warn() rimetteva l'agente in caccia due secondi dopo, e la validazione dell'host guardava il solo centro del giocatore mentre il gioco usa la sovrapposizione, rompendo a intermittenza la fascia 23÷30 px; in SU-1046 la soppressione delle notifiche partiva troppo tardi, due volte di fila; in SU-1042 gli identificatori erano in italiano. ⚠️ Due misure che passavano senza misurare niente. In SU-1044 il contrasto era preso sul pixel più scuro dell'intero riquadro e col testo nascosto dava lo stesso identico 16,29:1: ristretto all'etichetta fa 14,96:1 contro 1,17:1 della controprova. In SU-1045 la spunta «reputazione invariata» restituiva letteralmente true. È lo stesso difetto delle verifiche verdi su una premessa falsa già visto l'11/09 e il 17/09, e stavolta stava nelle sonde, non nel gioco. 📌 Una premessa di ticket smentita dalla misura: SU-771 dava per scontato che chi muore di fame sia lontano dai chioschi, e i sei collassi misurati sono a 278,3 px mediani contro i 411,5 di un punto casuale raggiungibile della stessa città — più vicini, non più lontani. 📌 Un parametro di review corretto dal builder misurando: sul caso delle notifiche in chiesa il difetto non si vede a $90 (lì la vita la compra la pressione iniziale), si vede a $80. 📌 Da sapere alla release: SU-1045 aggiunge la RPC _srv_shelter_slept in files/homeless_city/scripts/world/World.gd, quindi il minimo MP va alzato. 📌 Decisioni aperte per Ivan sui ticket: SU-1047 quale strada, sapendo che nella raccomandata la frase prende il posto di «10s · ricarica 1:30»; SU-1044 la tinta del dorato del quinto giorno, se un giorno si rimette; SU-777 la scelta ancora ferma dal 19/09. 📌 Da provare su device: tutte e sette. SU-1045 e SU-1046 per primi, e su due telefoni — un client inseguito che entra nel dormitorio è l'unica parte che nessuna sonda ha attraversato intera. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.
RIENTRI ATTESI (messi In revisione il 2026-09-21, Sprint 16, giro di mezzogiorno da CLI in background): quattro chiavi — SU-1049, SU-1050, SU-1051, SU-1052. Perimetro di partenza: 21 ticket in «Da fare»/«In corso», di cui 17 fuori e non per dimenticanza, gli stessi del 20/09: SU-1040 aspetta la build TestFlight su iPadOS 27 e un tester con iPhone su iOS 27; SU-1037 è il controllo settimanale di giovedì 24/09; SU-986, SU-989 e SU-909 vogliono la sessione dedicata decisa il 18/09; SU-936 vuole Xcode 27.1 e un Duo vero; SU-991 nessun segnale scattato; SU-871 aspetta il playtest di Ivan sul tier 1; SU-870, SU-772 e SU-26 aspettano una sua scelta fra alternative già scritte; SU-781 e SU-778 non hanno campione; SU-777 aspetta la sua scelta col default dichiarato; SU-442 è il lavoro sui simulatori, da sessione a parte. ⚠️ Tasso di rientro del giro del 20/09, contato PRIMA di aprire i lotti: 0 su 7 (SU-1042, SU-1043, SU-1044, SU-1045, SU-1046, SU-1047, SU-771: nessuna tornata in «Da fare»; le tre chiavi nuove SU-1050/1051/1052 nascono dalla decisione di Ivan su SU-1047, non da un KO). Nessun bocciato in questo giro. Piani: SU-1049 a Codex sol (5 minuti, 1 punto), i tre ticket dei superpoteri a due dev-sonnet in parallelo, sul contratto comune (effect in SUPER_CHIAVI, super_effect_text(), 12 righe nel csv) messo dall'orchestratore prima dell'onda. ⚠️ Presi al gate e non dai builder: la riga d'effetto che non si aggiornava al cambio lingua a cerimonia aperta; un provino a una carta sola quando il ventaglio vero ne ha tre; la carta «tieni quella che hai» che in francese sbordava di 7,5 px, e la cura del builder che stringeva le spaziature di tutte le carte, riportata alla sola carta di scambio; una seconda lista dei 12 id nel Quaderno; nella sonda del Quaderno un rm su tutta la cartella d'uscita e una prova che dipendeva dalla lingua del gioco; identificatori italiani nel codice nuovo, compreso quello del contratto. ❌ Un rilievo del gate smentito: le «virgole non quotate» nel csv. 📌 Decisioni aperte per Ivan sui ticket: SU-1050, le frasi di SUPER SCOREGGIA (non dice che costa 30 di fame) e di ASPIRATUTTO (attira entro 400 px, non «tutti»); SU-777 la scelta ferma dal 19/09. 📌 Da provare su device: SU-1049 con due telefoni (l'agente puntato sull'altro, poi AMNESIA); SU-1050 cambiando carta col dito e con una carta di scambio; SU-1051 la linguetta POTERI col dito. Da contare al prossimo giro, PRIMA di aprire lotti nuovi.