Strata, il motore open source (licenza MIT) di Niko1221 che fa girare Qwen3.8-Flash-Next su schede video da 12 GB, ha riscritto il 6 ottobre 2026 l'intera cronologia GitHub del ramo main. Tutti gli 845 commit hanno cambiato identificativo e i 595 che portavano il trailer Co-Authored-By di Claude non ce l'hanno più.
Il caso è finito su r/LocalLLaMA, dove il post di un utente (oltre 500 voti e circa 340 commenti) accusa il progetto di voler cancellare ogni prova dell'uso di Claude. Il post però non linka nessuna prova. Rifacendo i conti direttamente sul repository con l'API di GitHub, i numeri reggono.
Che cos'è Strata e perché se ne parla
Strata è un motore di inferenza scritto in C++ che installa ed esegue Qwen3.8-Flash-Next (125 miliardi di parametri, il modello che Alibaba ha rilasciato open source ad agosto) su un PC da gioco con scheda NVIDIA o AMD da almeno 12 GB. Il repository è nato il 24 settembre 2026 e al 9 ottobre conta 18.983 stelle e 1.712 fork. Il README promette installazione in un clic su Windows e Linux, API compatibili con OpenAI e Anthropic su localhost e velocità fra 53 e 94 token al secondo su una RTX 5070, a seconda della quantizzazione. Sono misure del progetto, non verificate da terzi.
Strata punta in alto, sul modello grande; per questo in tre settimane ha attirato contributor, fork e attenzione. Proprio quei 1.712 fork spiegano perché una riscrittura della cronologia non è un dettaglio. La PR #1117, per dire, si presenta come «resubmission of #1030 on the new main», ossia un lavoro già fatto da rifare sopra la nuova base. Tempo perso, per tutti.
Cosa è cambiato nei commit, numeri alla mano
La segnalazione originale porta la firma di nirvash, che il 6 ottobre ha aperto l'issue #1276 perché UPDATE.bat, lo script di aggiornamento incluso nel progetto, non riusciva più a fare git pull. Il suo checkout era fermo su 6f32ec0; dopo il fetch, git segnalava un forced-update (la sostituzione forzata del ramo remoto) senza trovare alcun antenato comune con il nuovo main. L'autore dell'issue precisa di aver osservato la differenza senza avere una spiegazione dal maintainer.
Partendo dalla punta della vecchia cronologia (6f32ec0, del 4 ottobre) e risalendo fino al primo commit del 24 settembre, ecco il risultato:
- 845 commit vecchi, 845 commit nuovi: nessun identificativo è rimasto uguale.
- In 595 commit della vecchia cronologia compare un trailer Co-Authored-By con il nome di Claude: per 542 trailer il modello citato è Claude Opus 5.5, per 26 è Claude Fable 5.1 e per 4 Claude Sonnet 5.5, mentre gli altri riportano il solo nome Claude o Claude Code.
- 453 commit portavano anche una riga Claude-Session con il link a una sessione di claude.ai/code. È il trailer che Claude Code scrive quando committa da una sessione cloud o Remote Control, secondo la documentazione di Anthropic.
- 844 commit su 845 hanno nella nuova cronologia lo stesso albero di file, la stessa data e lo stesso oggetto. L'unica differenza di oggetto riguarda un commit del 27 settembre che citava un altro commit con il suo hash breve (be6d09b), aggiornato a 7f21e2b. Un dettaglio compatibile con una riscrittura meccanica, fatta da uno strumento che ha rifatto ogni commit e corretto i riferimenti interni.
- Dal 6 ottobre sono entrati 403 commit nuovi. Nessuno ha un trailer Claude, 39 hanno un Co-authored-by di contributor umani.
Di fatto ogni commit è stato sostituito da una copia identica nei file e priva di trailer. Due cose risultano accertate: il contenuto del codice non è stato toccato (la punta del ramo ha lo stesso albero prima e dopo, 27b0e86) e i trailer di Claude sono stati tolti da tutta la storia, in un colpo solo. Quello che i numeri non dicono è il perché; su quel punto chiunque può solo formulare ipotesi.
Nota di metodo. I conteggi vengono dall'API pubblica di GitHub al 9 ottobre 2026 e chiunque può ripeterli. Un trailer Co-Authored-By dice che Claude Code ha partecipato al commit, non quanta parte del codice abbia scritto.
Cosa ha risposto il maintainer
Niko1221 ha chiuso l'issue il 7 ottobre alle 12:41 UTC, meno di quindici ore dopo l'apertura, con la versione 0.1.40.2. Da quella versione UPDATE.bat e update.sh riconoscono un clone rimasto sulla cronologia precedente al 6 ottobre, conservano i vecchi commit in un ramo chiamato pre-cleanup-backup e spostano il clone sul nuovo main, a patto che nessun file tracciato sia stato modificato. Modelli, impostazioni ed engine sono file non tracciati e restano dove sono. Chi ha ancora gli script vecchi deve lanciare a mano tre comandi indicati dal maintainer nel suo commento (se git status elenca file modificati, prima serve un git stash):
- git fetch origin
- git branch pre-cleanup-backup
- git checkout -B main origin/main
Il problema pratico è stato risolto in fretta e senza costringere nessuno a buttare il proprio lavoro locale. La modifica si appoggia a una pull request di elanonimo832, che sulla riscrittura del 6 ottobre aveva notato come il vecchio messaggio di errore desse la colpa ai file dell'utente anche su un clone pulito. Il progetto ha infatti aggiunto una sezione di TROUBLESHOOTING sull'aggiornamento successivo alla riscrittura.
Manca invece la risposta alla domanda che conta. Tredici minuti dopo la chiusura, l'utente djmaze ha scritto sotto l'issue «Why was history rewritten?» e al 9 ottobre non c'è alcuna replica; il thread si ferma a tre commenti. Nel README e in AGENTS.md non risulta alcuna dichiarazione né sull'uso di Claude né sulla riscrittura. Il maintainer parla di «cleanup», una pulizia, senza dire cosa andasse ripulito.
Perché la community si è spaccata
Sul thread di r/LocalLLaMA la discussione ha preso due strade. Il commento più votato (927 punti) sostiene che il trailer sia una pubblicità di Anthropic infilata nei repository degli utenti senza consenso, mentre molti lo paragonano a un «Sent from my iPhone» in fondo a un'email. Per questa parte del thread, togliere la riga è una questione di igiene, anche quando lo fa un progetto con 18.983 stelle.
Un'altra parte della discussione punta altrove. Un commento con 59 punti si dice più infastidito dal rebase su un ramo pubblico che dal trailer, mentre un altro utente aggiunge che la vicenda gli ha fatto perdere fiducia nel processo di aggiornamento. L'autore del post, dasbin, ammette di non amare nemmeno lui la firma di Claude, ma trova strano cancellarla in silenzio da tutto il passato del progetto. Tra i commenti girano pure altre accuse alla reputazione del progetto, non verificabili e quindi non riportate.
Come si toglie il trailer di Claude Code senza riscrivere niente
Claude Code scrive per impostazione predefinita una riga Co-Authored-By nei commit, con il nome del modello in uso. La documentazione ufficiale descrive la voce attribution del file settings.json, che permette di cambiare o nascondere quel trailer per i commit futuri: una strada che non richiede alcuna riscrittura della storia esistente. La vicenda Strata mostra comunque che la scelta della riscrittura, quando avviene su un progetto con migliaia di fork e contributor, ha costi che vanno ben oltre la semplice rimozione di una firma.
