LRE (Long Run Engine)

LRE è il motore universale con cui Metnos gestisce attività troppo lunghe o troppo ampie per restare legate a un singolo turno di chat. Il lavoro viene registrato come una o più unità verificabili e affidato a un servizio di esecuzione supervisionato. La chat restituisce subito una ricevuta; l'esecuzione continua in modo indipendente e può riprendere dopo un riavvio. L'utente descrive il risultato voluto: è Metnos a decidere automaticamente se usare LRE.

Un motore, più tipi di lavoro

Il nucleo di LRE non conosce immagini, posta, banche dati o altri domini. Riceve piani tipizzati che dichiarano sorgenti, dipendenze, risultati, risorse, limiti, tempi e comportamento in caso di errore. Nel percorso ordinario il runtime costruisce direttamente il piano minimo dall'executor già scelto e dai suoi argomenti definitivi. Per lavori composti e collaudati può invece usare un piano registrato in anticipo: è un'ottimizzazione tecnica, non un requisito per l'utente e non un profilo da configurare.

Il primo piano composto distribuito elabora raccolte di immagini e produce domande, soluzioni, appunti e formulario. Dimostra il percorso a più fasi, ma non definisce LRE e non limita l'ammissione automatica: ogni executor ordinario compatibile entra attraverso lo stesso compilatore generale, senza codice dedicato al suo dominio.

Che cosa significa “universale”. Il motore è indipendente dal dominio e non usa un elenco di profili come filtro. “Universale” non significa però “privo di verifiche”: LRE prende in carico automaticamente ogni azione lunga che può rappresentare senza perdere argomenti, autorità, collocazione o garanzie di ripresa. Se non può farlo, l'azione non parte in linea di nascosto: Metnos spiega il limite.

Quando LRE si attiva

Metnos prepara prima il normale piano del turno. Subito prima dell'esecuzione, un unico controllo centrale esamina il piano definitivo e il contratto firmato dell'executor. Nella prima versione automatica un'azione è considerata intrinsecamente lunga quando il tempo massimo dichiarato è di almeno dieci minuti. La decisione dipende da questo metadato strutturato, non da parole come “lungo”, “in background” o “molti file”.

CondizioneDecisione di Metnos
Il piano non contiene azioni sopra la soglia.Metnos usa il percorso interattivo ordinario. LRE non viene coinvolto.
Il piano contiene una sola azione lunga indipendente; l'executor è attivo, firmato e deterministico; argomenti, effetto e destinazione possono essere congelati.Metnos crea il piano LRE durante il turno, accoda il lavoro e restituisce una ricevuta. Non serve alcun profilo.
Prima dell'azione lunga è richiesta una conferma.Metnos esegue soltanto la conferma. Dopo l'approvazione ricontrolla il piano e, se ammissibile, lo affida una sola volta a LRE.
L'interruttore dell'istanza è disattivato.Nessun nuovo lavoro entra in LRE. La chat ordinaria e la consultazione dei lavori esistenti continuano a funzionare.
Una fase lunga è riconosciuta, ma il piano contiene più azioni dipendenti, riferimenti ancora da risolvere, un modello non completamente congelato o una destinazione remota ambigua.Metnos dichiara che il lavoro non è partito. Non esegue in linea la parte lunga e non inventa una ripresa che non potrebbe garantire.
La configurazione non è valida o il servizio di esecuzione non è disponibile.L'ammissione fallisce con una spiegazione precisa. Nessuna unità aggira il controllo.

Che cosa accade dopo una richiesta

  1. Decisione. Il controllo centrale riconosce l'azione lunga nel piano definitivo e verifica che possa essere rappresentata fedelmente.
  2. Ammissione. Metnos verifica l'interruttore dell'istanza, la firma, l'autorità, gli argomenti, la collocazione, l'effetto e i limiti.
  3. Stato congelato. Argomenti e destinazione entrano nella revisione tramite impronte verificabili; per i piani a corpus anche sorgenti, identità e ordine vengono sigillati.
  4. Pianificazione persistente. Fasi e unità vengono registrate in una revisione immutabile.
  5. Esecuzione governata. Il coordinatore propone le unità pronte; il pianificatore centrale delle risorse assegna capacità e concorrenza.
  6. Consolidamento. Riduzioni gerarchiche evitano di caricare un corpus intero in memoria o in un unico prompt.
  7. Chiusura. LRE dichiara il completamento soltanto dopo aver contabilizzato le unità e convalidato gli artefatti richiesti.

Non esiste un limite nascosto di 98 o 980 elementi. Ogni revisione ha però limiti finiti e visibili, coerenti con le risorse approvate. I piani che espongono unità e riduzioni avanzano per lotti, senza accumulare un corpus in memoria. Un executor monolitico resta invece una sola unità: LRE può governarne il tentativo, ma non può inventare punti di ripresa interni. Se un limite si esaurisce, il lavoro espone uno stato strutturato invece di fingere una copertura completa.

Executor locali, remoti e intelligenti

Ogni fase dichiara dove e come può essere eseguita. Un executor locale opera sul server; un executor remoto opera su un dispositivo associato. Entrambi possono essere deterministici oppure usare un modello linguistico o di visione. La collocazione non determina l'intelligenza: sono due proprietà indipendenti.

Il motore LRE sa eseguire tutte queste classi attraverso porte comuni. Il percorso automatico diretto, oggi, ammette però soltanto executor deterministici. Un executor che usa modelli entra quando piano, prompt, modello, lingua, costo e numero di chiamate sono già congelati da un contratto completo, come avviene nei piani composti verificati. Questa distinzione evita di promettere una ripresa che cambierebbe modello a metà lavoro.

Le unità indipendenti possono procedere in parallelo, ma non creano gruppi privati di processi. Tutta la concorrenza passa dal pianificatore centrale delle risorse, che applica limiti globali, per proprietario, per lavoro, per modello e per dispositivo. Il valore mostrato come “concorrenza massima” è un tetto, non una promessa di occupare sempre tutti i posti disponibili.

Interruzioni, ritentativi e duplicazioni

SituazioneComportamento di LRE
Worker o computer riavviatoLo stato resta nel deposito persistente; lease scadute e unità incompiute vengono riconciliate per lotti.
Tentativo recuperabile interrottoPuò essere eseguito almeno una volta di nuovo, con ritardo e numero di tentativi registrati.
Due tentativi terminano per la stessa unitàIl fencing e il commit condizionale ammettono un solo risultato per unità e revisione.
Stessa richiesta HTTP riconsegnata con la stessa chiave di idempotenzaRestituisce lo stesso lavoro; non crea una seconda revisione o un secondo corpus.
Effetto esterno dal risultato ambiguoNon viene ripetuto automaticamente se non è idempotente o riconciliabile; richiede attenzione.

Nel piano automatico diretto, una lettura pura può avere al massimo tre tentativi. Un'azione che modifica dati ha un solo tentativo automatico: se il servizio si interrompe dopo averla invocata ma prima di registrarne il risultato, LRE richiede attenzione invece di rischiare un secondo effetto.

Garanzia corretta. LRE usa tentativi “almeno una volta” e un solo commit valido per unità. Può rendere un effetto osservabile una sola volta quando l'operazione è pura, idempotente o riconciliabile. Non promette un exactly once universale fra database, filesystem, fornitori e dispositivi remoti.

Coerenza durante l'evoluzione del lavoro

Piano, inventario e collegamenti agli executor o ai modelli sono congelati nella revisione ammessa. Una modifica incompatibile crea una nuova revisione; non cambia in silenzio metà del lavoro già avviato. I risultati possono essere riusati soltanto quando i digest delle dipendenze coincidono. Se cambia una sorgente, si invalidano l'unità interessata e i suoi discendenti, non i fratelli indipendenti.

La pausa impedisce nuovi reclami ma consente a un commit già in corso di chiudersi in sicurezza. L'annullamento è cooperativo e impedisce nuove unità. I comandi di pausa, ripresa, annullamento e decisione su un errore usano una versione attesa e una chiave di idempotenza, così anche il comando può essere riconsegnato senza moltiplicarne gli effetti.

Attivazione dell'istanza e uso quotidiano

Una sola attivazione per istanza. L'interruttore in Servizi non abilita il singolo lavoro. Stabilisce se l'intera istanza di Metnos può accettare nuovi lavori LRE. Non è un'impostazione per utente e non va azionato prima di ogni richiesta.

  1. Configurazione iniziale dell'amministratore. In Sistema → Servizi, verifica che il worker LRE sia sano e abilita l'accettazione dei lavori. Nelle nuove installazioni è disattivata per impostazione predefinita; l'impostazione rimane valida finché non viene cambiata.
  2. Uso normale. Descrivi in chat l'esito desiderato e indica le sorgenti autorizzate, senza impartire comandi a LRE.
  3. Scelta automatica. Se il piano definitivo contiene un'azione intrinsecamente lunga e compatibile, Metnos crea il piano LRE e restituisce una ricevuta con il workload_id. Non devi conoscere né scegliere un profilo.
  4. Esito trasparente. Un'azione breve continua nel turno. Un'azione lunga non ancora rappresentabile viene fermata con una spiegazione: non prosegue in linea senza protezione.
  5. Controllo facoltativo. Puoi chiudere la pagina e continuare a usare Metnos. Quando vuoi, apri Settings → Sistema → LRE per controllare stato, denominatore, budget, fasi ed eventi.
  6. Al termine, verifica digest e convalida degli artefatti prima di scaricarli.

Disattivare la funzione ferma i nuovi invii ma non cancella cronologia e artefatti. La cancellazione dei dati segue invece il ciclo di vita del proprietario e le regole di conservazione. Download e viste restano circoscritti all'identità autorizzata.

Limiti attuali e percorso di estensione

I limiti seguenti distinguono ciò che LRE può garantire oggi da ciò che può essere aggiunto senza perdere tracciabilità o sicurezza.

Limite attualeEffetto praticoCome superarlo correttamente
Piani automatici compostiLa prima versione automatica accoda una sola azione lunga indipendente. Se il piano contiene più passaggi eseguibili o dipendenze ancora da risolvere, il lavoro non parte.Compilare l'intero piano definitivo nel grafo tipizzato di LRE, con riferimenti e controlli espliciti; non conservarlo come blocco opaco.
Executor intelligentiIl percorso diretto esclude per ora gli executor che usano modelli linguistici o di visione senza un legame completo e immutabile.Congelare prompt, lingua, modello, limiti di chiamata, token e costo nello stesso contratto; poi usare la medesima porta generale.
Destinazione remota implicitaUn executor utilizzabile soltanto su un dispositivo non viene accodato finché il dispositivo esatto non è stato risolto.Indicare il dispositivo nella richiesta oppure aggiungere una risoluzione deterministica e verificabile prima dell'ammissione.
Executor monoliticoLRE vede una sola unità e non può riprendere a metà di un ciclo interno non dichiarato.Esporre l'attività come unità generali, identificabili e idempotenti, oppure come riduzione a lotti; non aggiungere casi speciali per dominio.
Effetti esterni non sempre ripetibiliUna scrittura su un servizio o dispositivo può avere un esito ignoto dopo un'interruzione.Usare chiavi native di idempotenza o una lettura autorevole di riconciliazione; in assenza di entrambe, fermarsi e richiedere una decisione.
Risorse e costi finitiOgni revisione ha tetti di unità, tentativi, tempo, byte, token e concorrenza. Un budget esaurito arresta il lavoro in modo esplicito.Regolare i limiti su misure reali e aggiungere capacità locale o remota attraverso lo scheduler centrale; non eliminare i limiti.
Piano congelato durante l'esecuzioneUn executor, un modello o una sorgente non vengono sostituiti silenziosamente a metà lavoro.Creare una nuova revisione e riusare soltanto i risultati le cui dipendenze non sono cambiate.

Se qualcosa non avanza

La console LRE

La console è il registro operativo dei lavori, non il comando che li avvia. Si apre nella chat web da Settings → Sistema → LRE. Il riquadro a sinistra elenca i lavori visibili al proprietario: premi Apri su una riga per caricare nel riquadro destro revisione, avanzamento, limiti, fasi, eventi, unità e artefatti. Se l'elenco è vuoto, non esistono lavori LRE per quell'identità; se la pagina è indisponibile, controlla il servizio in Settings → Sistema → Servizi. Non occorre lasciare aperta la console perché il lavoro continui.

Schermata reale della console LRE con elenco dei lavori, dettaglio, digest, budget e fasi.
Un lavoro pilota completato: la console espone il denominatore reale, i limiti ammessi e la composizione del piano.
  1. Navigazione generale. Apri Settings → Sistema → LRE; la voce resta visibile nella colonna di navigazione della HTTP UI.
  2. Elenco dei lavori. Ogni riga mostra stato e avanzamento; il pulsante Apri carica il dettaglio senza avviare una nuova esecuzione.
  3. Quadro del lavoro. Mostra priorità, stato, unità contabilizzate e data di creazione.
  4. Digest della revisione. Rendono riconoscibili piano e inventario effettivamente ammessi.
  5. Budget approvato. Espone tetti di unità, tentativi, durata, byte, token, artefatti e concorrenza.
  6. Fasi. Per ogni fase indica executor, avanzamento, tempo massimo, obbligatorietà e risorse.

Il corpus mostrato è sintetico e non sensibile; l'identificativo è operativo e non contiene dati personali.