Faccia una domanda. Riceva un report da portare in consiglio.
Scriva quello che vuole sapere come lo direbbe. Quello che torna è un report vero che può mettere in grafico, esportare e tenere su una dashboard — e ogni numero è definito una sola volta, quindi due persone che fanno la stessa domanda ottengono la stessa risposta.
La domanda la scrive lei. Il report lo scrive l'agente.
Non c'è nessun costruttore di query da imparare né nessuno da aspettare. Chieda, e ottiene qualcosa che può aprire, disporre su una bacheca e mandare a chi gliel'ha chiesto.
L'agente scrive il report, non la risposta — i suoi dati non li legge mai. Propone una definizione di report, e quella proposta passa esattamente dagli stessi controlli di un report costruito a mano: stesse definizioni e stessi permessi. Non può quindi inventare un numero né mostrarle un'organizzazione che non le era già consentito vedere.
Prenoti una demo3 reparti su 9 sotto l'80 % di completamento
Raggruppato per reparto, trimestre in corso.
- Operations
- 96%
- Finanza
- 91%
- Servizi sul campo
- 74%
- Logistica
- 68%
A titolo illustrativo. I nomi dei reparti e i numeri sono esempi. I report e le funzioni di IA vengono attivati per organizzazione dal suo amministratore.
Una definizione per numero, scritta una volta sola
La reportistica di Lurno è una proiezione in sola lettura su un registro di metriche certificate. Ogni metrica — tasso di completamento, tempo dedicato, utilizzo dei membri, formazione obbligatoria scaduta — è definita una volta sola nel codice, con una sola vista di origine, una sola aggregazione e un elenco chiuso di dimensioni per cui può essere raggruppata. Report certificati, widget delle dashboard, esportazioni e risposte della barra delle domande in linguaggio naturale passano tutti dallo stesso validatore e dallo stesso compilatore, così una scheda su una dashboard e un numero in un foglio di calcolo non possono essere calcolati in due modi diversi. La reportistica si abilita per singola organizzazione, e ogni query viene eseguita come la persona che la legge, con gli stessi permessi a livello di riga che governano tutto il resto della piattaforma.
- Metrica certificata
- Una definizione di metrica con dietro una golden fixture versionata: un risultato atteso verificato a mano che la build riesegue a ogni modifica. Una metrica può portare il contrassegno di certificata solo quando quella fixture esiste. Le metriche non certificate funzionano comunque, ma sono etichettate Non governata, così nessuno ne cita una in un documento per il consiglio per errore.
Il registro è il progetto. Una metrica indica una vista, una colonna, un'aggregazione e le dimensioni per cui può essere raggruppata. Tutto ciò che sta fuori da quell'elenco viene rifiutato, non indovinato. I tassi sono un numeratore su un denominatore della stessa vista, mai una media di medie. Gli identificativi non vengono mai riutilizzati: una metrica sostituita viene deprecata e superata.
Una query tocca una sola vista. I numeri che attraversano due granularità vengono ricomposti al momento del rendering, mai uniti in SQL — ed è ciò che impedisce a un fan-out di raddoppiare un conteggio. Le stesse viste alimentano verifiche, credenziali e il portale per i tutori.
Registro, dashboard, domande, esportazioni
Le metriche sono codice, e vengono riviste come codice
32 definizioni di metrica vivono in un unico file sottoposto a revisione, ciascuna con la sua vista di origine, la sua aggregazione, le dimensioni per cui può essere raggruppata e una classificazione di riservatezza. Aggiungere una metrica è una pull request, non un modulo di amministrazione.
- 13 report certificati arrivano come modelli: tasso di completamento, formazione obbligatoria scaduta, discenti attivi, tempo dedicato, imbuto delle iscrizioni, utilizzo dei membri.
- Nessuna metrica viene contrassegnata come certificata senza una golden fixture versionata.
Dashboard che compone lei stesso
Trascini e ridimensioni i widget su una griglia. Tenga tutte le dashboard con nome che le servono — una per la revisione della formazione obbligatoria, una per ogni azienda cliente.
- Ogni widget esegue la propria query, così un errore mostra al suo posto un pulsante per riprovare invece di svuotare la dashboard.
- I layout sono salvati una volta sola, da sinistra a destra, e vengono specchiati al rendering per l'arabo — griglia di trascinamento compresa.
Una domanda in linguaggio naturale, non in un linguaggio di query
Scriva la domanda. Un modello legge una descrizione del registro e propone una specifica di report: misure, dimensioni, filtri, un tipo di grafico. Non scrive mai SQL e non esegue mai una query. La proposta rientra dalla porta ordinaria della reportistica — stesso validatore, stesso compilatore, stessi permessi.
- Chieda qualcosa che il registro non modella e rifiuta, poi indica la metrica più vicina che possiede.
- Le risposte portano il badge Non governata (AI), mai Certificata, e ogni esecuzione finisce in un log in sola aggiunta con un proprio id di richiesta.
Porti fuori i numeri
Esporti in CSV le righe a schermo, formattate secondo la sua lingua oppure grezze per essere reimportate. I lavori più grandi vanno in coda: il processo conserva la specifica e chi l'ha richiesta, mai un insieme di risultati e mai una copia dei suoi permessi.
- Al momento dell'esecuzione il worker ricontrolla gli accessi di chi ha fatto la richiesta ed esegue la query a suo nome. Se sono diminuiti, il processo fallisce e non viene scritto alcun file.
Grafici che funzionano anche come testo
Ogni grafico porta sotto di sé una tabella dati per screen reader, con vera semantica di righe e colonne, così i numeri sono raggiungibili da tastiera e dalle tecnologie assistive e non solo passando il mouse su un tooltip. Le serie restano distinguibili anche senza colore.
- L'obiettivo è WCAG 2.1 AA, con controlli automatici axe in CI. Inglese, francese, arabo e italiano, formattati secondo la lingua nelle esportazioni oltre che a schermo.
Fascicoli per il consiglio e invii programmati
I fascicoli per il consiglio in PDF, l'esportazione XLSX e i report che arrivano a cadenza programmata sono progettati e in parte costruiti. La coda e il worker che servono girano già per il CSV. Ci parli se un PDF del lunedì mattina è vincolante per il suo rollout.
Un report certificato e una risposta dell'AI, a confronto
Entrambi percorrono la stessa strada verso il database. Ciò che cambia è da dove arriva la domanda e come viene etichettata la risposta.
| Capability | Report certificato | Risposta dalla barra delle domande |
|---|---|---|
| Da dove viene la definizione | Dal registro delle metriche, nel codice | Dal registro delle metriche, nel codice |
| Chi scrive la query | Un modello di report sottoposto a revisione | Un modello propone una specifica; non scrive mai SQL |
| Validatore e compilatore | Gli stessi | Gli stessi |
| Viene eseguito come la persona che lo legge | Yes | Yes |
| Badge a schermo | Certificata | Non governata (AI) |
| Compare nel log delle esecuzioni AI | No | Ogni esecuzione, con un id di richiesta |
| Si può aggiungere a una dashboard ed esportare | Yes | Yes |
Entrambi rifiutano una metrica che non è nel registro, ed entrambi sopprimono le celle piccole sulle metriche che comportano un rischio di re-identificazione.
Costruito per chi deve difendere il numero
Viene eseguito come chi legge
Ogni query viene eseguita con le credenziali di chi legge, attraverso un ruolo di database limitato. Nulla gira su una connessione che aggira la row-level security.
Le celle piccole spariscono
Le metriche che potrebbero re-identificare una persona — compresi i conteggi dei casi di benessere — vengono raggruppate solo al di sopra di una dimensione minima. Al di sotto la cella viene soppressa, non arrotondata.
Un solo numero per personale, tutori e discenti
L'andamento di un discente, la vista in sola lettura del suo tutore e il report di completamento dell'amministratore leggono le stesse viste certificate. Il perimetro di un tutore è limitato sul server a un solo discente a carico verificato.
In sola lettura per progettazione
L'API di reportistica non può correggere, rilasciare, prendere in carico o inviare messaggi. Quelle azioni restano nei moduli a cui appartengono.
Marcato con il suo orologio
I risultati portano una marca temporale «aggiornato al» nel fuso orario dell'organizzazione. Una capogruppo di Milano e la sua sotto-organizzazione di Dubai raggruppano ciascuna le proprie giornate secondo il proprio orologio.
Si abilita per singola organizzazione
La reportistica si attiva organizzazione per organizzazione. Dove è disattivata la voce di navigazione non c'è, e se il controllo non riceve risposta il sistema fallisce in sicurezza restando disattivato.
Prima di portarlo davanti a un consiglio
La veda sul report che il suo consiglio chiede davvero.
Porti il numero che qualcuno le chiede ogni mese. Le mostreremo su quale metrica certificata si mappa, oppure le diremo chiaramente che non è ancora modellato.