Run senza nessuno e resoconto del mattino
Quando un incarico scatta, può non esserci nessuno: sono le due di notte. Quella squadra è senza nessuno (unattended): il run dell’incarico e ogni agente sotto di lui. Kedalio la tratta diversamente in due modi, così il lavoro di una notte non aspetta il mattino per un comando innocuo e non fa niente che tu non abbia permesso.
Leggere non aspetta mai
Sezione intitolata “Leggere non aspetta mai”Un run senza nessuno può leggere senza chiedere, in più alla sua delega:
- gli strumenti di lettura del motore (
Read,Glob,Grep,LS); - i comandi che leggono soltanto:
cd,pwd,ls,cat,head,tail,wc,echo,grep,find; git status,log,diff,show,rev-parse,ls-filese le forme digit branchche elencano.
Un comando fatto di più parti (cd app && git status | head) passa quando passa ogni parte. Quello che questi comandi sanno fare oltre a leggere (find -exec, find -delete, git log --output) resta una richiesta, a meno che la delega non lo permetta. Un divieto da qualunque parte vince sempre, e le richieste serie restano serie.
Una richiesta senza risposta viene rifiutata
Sezione intitolata “Una richiesta senza risposta viene rifiutata”Tutto il resto è una richiesta, come di giorno: sale prima ai genitori, poi arriva a te come notifica. Se non rispondi entro 30 minuti, viene rifiutata da sola, e l’agente legge:
This run is unattended (an assignment’s): nobody is there to answer, and no answer came within 30 minutes, so this is refused. Go on without this action if you can; otherwise stop, and say in your final message what you could not do and why.
Cioè: nessuno ha risposto, quindi il run va avanti senza quell’azione se può, altrimenti si ferma e dice cosa non ha potuto fare e perché. Un «no» non sblocca niente, quindi una richiesta seria viene rifiutata allo stesso modo. Il brief di ogni esecuzione chiede anche all’agente di dire, alla fine, cosa ha fatto e cosa resta.
Il resoconto del mattino
Sezione intitolata “Il resoconto del mattino”Ogni mattina alle 07:30 sul tuo fuso (l’ora si cambia da Claude o ChatGPT con kedalio.squad_settings), il server scrive il resoconto di tutto quello che è successo dall’ultimo:
- Aspettano te: le richieste ancora aperte;
- Non riusciti: le esecuzioni fallite o mancate;
- Saltato: non c’era nessuno a rispondere: ogni richiesta rifiutata da sola, come «… rifiutato da solo dopo 30 minuti senza risposta»;
- Incarichi: ogni esecuzione, con quello di cui ha fatto il push e il suo riassunto;
- le Squadre coinvolte, i seguiti Programmati dagli agenti, le notifiche Trattenute durante le ore di silenzio;
- il Costo, dal registro.
I fatti li raccoglie il server. Un run breve di un modello piccolo (Haiku, con un login di Claude Code; nessuno strumento, al massimo 0,50 $) li scrive in prosa nella tua lingua. Senza host, o senza prosa entro quindici minuti, escono i fatti da soli.
Ti arriva in tre modi:
- una notifica, «Resoconto del mattino»;
- una riga nel diario della tua memoria: «Resoconto del mattino: 3 esecuzioni, 2 squadre, 1 in attesa di te, $4.10.»;
- la scheda Report di stamattina in Oggi, per un giorno, quando il resoconto ha la sua prosa.
Ogni esecuzione fallita o mancata diventa anche una task («Guarda «backup notturno»: non riuscito»), così resta nella tua lista finché non te ne occupi. Da Claude o ChatGPT, tasks.report legge il resoconto.
Ore di silenzio e pausa
Sezione intitolata “Ore di silenzio e pausa”- Le ore di silenzio (
from–to, anche a cavallo della mezzanotte) trattengono le notifiche normali e le richieste finché non finiscono; il resoconto le conta. Le richieste serie arrivano lo stesso, senza suono. Il resoconto arriva alla sua ora anche durante le ore di silenzio: quell’ora l’hai scelta tu. - La pausa globale ferma le nuove esecuzioni (registrate come saltate) e le nuove squadre ovunque; le squadre al lavoro vanno avanti, a meno che tu non le fermi tutte. Da Claude o ChatGPT la accende
pause(estopAllferma ogni squadra); Oggi mostra un avviso finché è attiva, con Riprendi.
Entrambe stanno in Sistema → Preferenze: le ore di silenzio (da, a, o nessuna), la pausa globale e l’ora del resoconto. La pausa ha anche Metti in pausa e ferma tutti gli agenti. La notifica del resoconto apre Oggi, che mostra il resoconto di stamattina quando la sua prosa è stata scritta (senza, i fatti sono nella notifica), con la Cronologia dei precedenti; è anche nel diario e in tasks.report.
Non ancora costruito: un modello piccolo che giudica le richieste dei run senza nessuno.