AITM conserva in locale una discreta quantità di stato, in modo da operare in modo affidabile e ricordare ciò che ha appreso sui progetti. Ecco una mappa in linguaggio semplice di cosa viene memorizzato e perché è importante.
Quali dati memorizza AITM
La mappa dei dati
| Cos'è | Dove si trova | Perché è importante |
|---|---|---|
| Database per progetto | Un file di database dedicato per ogni progetto gestito | Contiene i contratti e la cronologia dei Task del progetto — tenuti separati per progetto, così i dati di un progetto non si mescolano mai con quelli di un altro |
| Database globale | Un database condiviso per AITM stesso | Contiene le impostazioni dell'intera applicazione, gli hint, il registro delle variabili e altra configurazione trasversale ai progetti |
| Log di esecuzione dei Task | Cartelle di log per progetto | Il resoconto dettagliato, riga per riga, di ciò che è accaduto durante l'esecuzione di un Task — utile per il debug di un Task che si è comportato in modo inatteso |
| Cartelle dati dei Task | Cartelle dei Task per progetto, una sottocartella per numero di Task | Contiene i file dei risultati, i metadati e gli eventuali screenshot acquisiti per quel Task — alimenta la vista Risultati & Archive |
| Worktree | Checkout Git temporanei, uno per ogni Task in esecuzione | La copia di lavoro isolata che gli Agent AI di un Task modificano effettivamente; viene creata all'avvio del Task e rimossa automaticamente dopo il merge — vedere La Pipeline |
| Documenti del knowledge graph | File di documentazione generati automaticamente | Esportazioni leggibili dei contratti e della conoscenza sulle dipendenze descritti in Knowledge Sharing; rigenerati automaticamente dopo ogni merge |
Perché lo stato locale e persistente è importante
Nulla di tutto ciò è una semplice contabilità accessoria — è il meccanismo alla base di tutto ciò che viene trattato altrove in questa guida:
- Il database per progetto è ciò che consente a contratti, cronologia dei Task e ricerche di precedenti di sopravvivere tra una sessione e l'altra e tra un Task e l'altro, invece di azzerarsi ogni volta che si chiude l'app.
- Le cartelle dati dei Task sono ciò che rende l'Archive una traccia di audit davvero utile e non un semplice elenco di titoli — ogni risultato, screenshot e campo di metadati visibile lì viene letto direttamente da queste cartelle.
- I Worktree sono il fondamento meccanico della garanzia di isolamento descritta in La Pipeline — poiché ogni Task ottiene un checkout del filesystem realmente separato, il lavoro in corso non può mai finire per errore nel branch principale.
- I documenti del knowledge graph sono ciò che trasforma "l'AI si è per caso ricordata qualcosa" in "il progetto dispone di un registro durevole e ispezionabile del proprio comportamento" — vedere Knowledge Sharing.
Come i backup del database sono protetti da crescita illimitata e perdita silenziosa di dati
Anche i backup del database hanno bisogno di una protezione propria — altrimenti potrebbero riempire il disco o sparire silenziosamente proprio quando servono di più. AITM li mantiene con una policy di conservazione a livelli e ne monitora le dimensioni per rilevare anomalie:
- Conservazione a livelli — invece di un'unica soglia fissa che elimina in una volta tutti i backup del database più vecchi di N giorni (e potrebbe cancellare tutti i backup in un colpo solo se un'esecuzione giornaliera fosse saltata), AITM dirada i backup gradualmente: conserva una manciata dei backup giornalieri più recenti, alcuni backup più vecchi distanziati di diversi giorni e un backup settimanale ancora più vecchio. Il risultato è un insieme ridotto ma ben distribuito di punti di ripristino, senza lasciare crescere senza limite lo spazio occupato dai backup.
- Avvisi di anomalia di dimensione — prima di qualsiasi potatura, AITM confronta la dimensione del backup del database di oggi con quella di ieri. Un calo significativo (possibile perdita di dati) o una crescita inattesa significativa fa scattare un avviso via e-mail con la dimensione precedente, quella attuale e la variazione percentuale, così l'anomalia viene scoperta prima che un vecchio backup sano venga sovrascritto o potato.
- Potatura verificata dei backup incrementali (delta) — i backup di ripristino incrementali più vecchi di 3 giorni vengono potati con continuità, ma solo dopo aver verificato l'integrità del backup più recente ancora conservato in quella catena. Se la verifica fallisce, la potatura si ferma per quel database e nulla di più vecchio viene eliminato — così un singolo backup recente corrotto non può mai propagarsi fino a eliminare i backup più vecchi, ancora validi, sottostanti.
Suggerimenti
- Il codice del progetto non viene mai modificato al di fuori di un Worktree — la normale copia di lavoro resta intatta mentre un Task è in esecuzione.
- Nulla lascia la macchina, tranne le chiamate al provider AI configurato.
- Questa conoscenza locale e persistente è ciò che permette ad AITM di migliorare nel tempo sul proprio progetto invece di ripartire da zero a ogni Task.