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, suddiviso in unità verificabili e affidato a un worker supervisionato. La chat restituisce subito una ricevuta; l'esecuzione continua in modo indipendente e può riprendere dopo un riavvio.

Un motore, più tipi di lavoro

Il nucleo di LRE non conosce immagini, posta, database o altri domini. Riceve soltanto piani registrati che dichiarano sorgenti, dipendenze, schemi di uscita, risorse, limiti, tempi e comportamento in caso di errore. Un nuovo tipo di attività si aggiunge come registrazione verificata; non crea un ramo speciale nel motore.

La prima registrazione distribuita elabora raccolte di immagini e produce domande, soluzioni, appunti e formulario. È un caso d'uso collaudato del percorso generale, non la definizione di LRE. Altri lavori potranno usare lo stesso motore quando disporranno di contratti e prove equivalenti.

Che cosa accade dopo una richiesta

  1. Ammissione. Metnos riconosce un profilo registrato, verifica che LRE sia abilitato e controlla autorità, sorgenti, piano e budget.
  2. Inventario sigillato. Le sorgenti ricevono identità e ordine stabili; il denominatore del lavoro diventa verificabile.
  3. Pianificazione persistente. Fasi e unità vengono registrate in una revisione immutabile.
  4. Esecuzione governata. Il coordinatore propone unità pronte; lo scheduler centrale assegna risorse e concorrenza.
  5. Consolidamento. Riduzioni gerarchiche evitano di caricare un corpus intero in memoria o in un unico prompt.
  6. 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. Raccolte grandi avanzano per lotti e riduzioni; non vengono accumulate senza controllo. Se un budget 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.

Le unità indipendenti possono procedere in parallelo, ma non creano gruppi di thread o processi privati. Tutta la concorrenza passa dallo scheduler centrale, 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 usare sempre tutti gli slot.

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.

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.

Come si usa

  1. In Sistema → Servizi, verifica che il worker LRE sia sano e attiva la funzione. Nelle nuove installazioni è disattivata per impostazione predefinita.
  2. Descrivi in chat l'esito desiderato e indica le sorgenti autorizzate. Metnos può ammettere soltanto profili già registrati.
  3. Conserva la ricevuta con il workload_id e apri /agent/workloads.
  4. Controlla stato, denominatore, budget, fasi ed eventi. Usa i comandi mostrati soltanto quando sono abilitati per lo stato corrente.
  5. 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.

Se qualcosa non avanza

La console LRE

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. La console LRE conserva la stessa struttura della HTTP UI amministrativa.
  2. Elenco dei lavori. Stato e avanzamento restano consultabili dopo refresh, logout o riavvio.
  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.