Metnos offre due strumenti distinti. La pagina
Settings della chat è l'interfaccia amministrativa
corrente, aggiornata a ogni richiesta. runtime/observability.py
produce invece un file HTML statico per una diagnosi locale. Il file non
alimenta Settings, non si aggiorna da solo e non è una pagina servita dalla
chat.
Chiedi a Metnos con una richiesta come quella di questo esempio:
Mostrami dove posso controllare gli ultimi turni e lo stato dei servizi.
La risposta utile deve indicare anzitutto il percorso visibile nella chat: Settings > Attività > Turni per le richieste recenti e Settings > Sistema > Servizi per i servizi configurati. Se la domanda arriva da Telegram, il percorso va aperto nella chat web di Metnos: Telegram non incorpora le pagine amministrative.
Solo dopo questa istruzione pratica occorre spiegare API, registri o file. Il rendiconto statico è adatto a una diagnosi tecnica esplicitamente richiesta, non è il percorso ordinario per chi usa la chat.
| Superficie | Aggiornamento | Accesso | Scopo |
|---|---|---|---|
Settings (/admin) | I dati vengono riletti quando si apre o si aggiorna la pagina. | Richiede il ruolo amministratore applicato dal middleware HTTP. | Consultazione e controlli amministrativi dell'installazione in esercizio. |
Rendiconto statico (runtime.observability) | Fotografia dell'istante in cui viene eseguito il comando. | File locale; la protezione dipende dai permessi del file e della macchina. | Diagnosi fuori linea di sei sorgenti storiche. |
Le due superfici non vanno sommate in una descrizione unica. Settings usa rotte e modelli propri; il generatore statico è richiamato soltanto dalla sua CLI e non ha chiamanti nel server HTTP.
La pagina iniziale di Settings riassume versione e tempo di attività, turni delle ultime 24 ore, proposte, executor, scheduler, firme Safety e utenti. Le pagine di dettaglio separano le diverse domande operative:
| Percorso nella chat | Informazioni principali |
|---|---|
| Settings > Attività > Turni | Identificativo, orario, canale, attore, passi, esito, durata e richiesta. |
| Settings > Attività > Scheduler | Esecuzioni delle attività, esito e durata. |
| Settings > Sistema > Servizi | Servizi presenti nel registro canonico, stato e controlli ammessi. |
| Settings > Sistema > Modelli | Configurazione effettiva e oscurata di LLM, embedding e VLM: LLM e VLM sono modificabili e ripristinabili; l’embedding è consultabile. |
| Settings > Sistema > Dispositivi | Dispositivi associati, presenza e revoca. |
| Settings > Sistema > Utenti | Utenti, ruoli, canali e preferenze amministrabili. |
Il registro in runtime/ui_surfaces.py è la descrizione
canonica delle pagine visibili e del loro percorso. Tutor usa lo stesso
registro: una modifica strutturale della UI richiede l'aggiornamento del
registro, della guida di navigazione e dell'indice di Tutor.
render_dashboard(out_path) interroga le sorgenti locali e
compone un unico documento con CSS incorporato, senza JavaScript e senza
WebSocket. Le sezioni appaiono in questo ordine: test, Mnestoma, associazioni,
turni recenti, decisioni del Vaglio e scheduler.
Ogni raccoglitore gestisce separatamente una sorgente non disponibile. La pagina può quindi essere prodotta anche quando una sezione è vuota o in errore. Questo comportamento rende leggibile una fotografia parziale, ma non trasforma l'assenza di dati in prova del buon funzionamento del componente.
Il documento generato usa attualmente etichette italiane e
lang="it". Non è una superficie localizzata della chat e non va
presentato come tale.
| Sorgente | Proiezione mostrata | Posizione configurata |
|---|---|---|
| Mnestoma | Conteggi, archi attivi e proto, eventi recenti. | Database di Mnestoma, normalmente sotto PATH_WORKSPACE/.mnestoma. |
| Associazioni | Canale, identificativo del mittente, livello, date e autore dell'associazione; conteggio delle revoche. | DB_PAIRINGS sotto PATH_USER_STATE. |
| Turni | Ultimi quindici turni: richiesta, esito, numero di passi e inizio della risposta. | PATH_TURNS sotto PATH_USER_DATA. |
| Vaglio | Ultime venti decisioni: executor, punteggio, esito e motivazione abbreviata. | PATH_USER_DATA/vaglio. |
| Scheduler | Attività abilitate, regola temporale, ultima esecuzione ed esito. | PATH_USER_STATE/scheduler_v2.sqlite. |
| Prove registrate | Moduli, casi abilitati, ultimo stato e moduli più numerosi. | PATH_RUNTIME/testing/tests.db. |
I limiti sono applicati dal generatore e non sono parametri della CLI: cinque file giornalieri al massimo per i turni, tre file per il Vaglio e limiti distinti per righe ed eventi. Per un'analisi completa occorre interrogare la sorgente autorizzata, non dedurre il totale dalla pagina.
admin; i riepiloghi possono comprendere più utenti. Non è una vista personale del singolo utente.--out.Dalla radice dell'installazione, usando l'ambiente Python di Metnos:
PYTHONPATH=runtime ./.venv/bin/python -m observability render PYTHONPATH=runtime ./.venv/bin/python -m observability render --out /percorso/scelto/dashboard.html
Il percorso predefinito è
PATH_WORKSPACE/dashboard/index.html. Il comando restituisce il
percorso scritto e termina. Non esiste un aggiornamento periodico incorporato:
ora di generazione e contenuto restano invariati finché il comando non viene
eseguito di nuovo.
Il file è un prodotto derivato. Per eliminarlo si può rimuovere il solo percorso di uscita dopo aver verificato che non sia usato da altri processi; le sorgenti operative non vengono eliminate con esso.
Le prove mirate del generatore statico sono in
tests/runtime/runtime/test_observability.py. Verificano, fra
l'altro, che nomi degli executor, richieste e risposte non possano introdurre
markup attivo nel file. Le prove HTTP ed end-to-end controllano separatamente
le pagine amministrative: non si usa un conteggio fisso, destinato a diventare
obsoleto.
runtime/http_routes_admin.py — dati e azioni delle pagine Settings;runtime/http_auth.py — confine di autenticazione delle rotte /admin;runtime/ui_surfaces.py — registro editoriale delle superfici visibili;runtime/observability.py — generatore del rendiconto statico;runtime/config.py — percorsi canonici dell'installazione.