1001_DP – TeraBrain Home

Description
Sintesi operativa e standard di esecuzione per “TeraBrain Home ”.

#Scope
Questo processo “TeraBrain Home ” definisce come eseguire in modo standardizzato e tracciabile le attività operative partendo dal Prompt configurato in CRM.
Gli obiettivi principali sono: chiarezza esecutiva, uniformità redazionale, riduzione degli errori e miglioramento della ricercabilità interna.
Ambito: lettura del Prompt, pianificazione delle fasi, esecuzione azioni su moduli/integrazioni, controlli qualità, gestione eccezioni e log finale.
Input: testo del Prompt e dati collegati; Output: record aggiornati, file generati e riepilogo verificabile.
Il processo opera in modo conservativo: non inventa dati, evidenzia dipendenze esterne e blocca in caso di incoerenze.

#Instructions
1) Analizzare il Prompt e verificare prerequisiti (moduli, calendari, file, permessi).
2) Pianificare la sequenza operativa definendo priorità e dipendenze.
3) Eseguire le azioni previste (creazioni/aggiornamenti record, generazione file, query, invii email).
4) Applicare controlli qualità (coerenza dati, duplicati, rispetto vincoli).
5) Gestire eccezioni con messaggi chiari e approccio prudenziale.
6) Registrare esiti e log: cosa/chi/quando, quindi completare il processo.

Prompt

#Role
Obiettivo è mantenere una home page con  tutti iprocessi diTerabrain 

#Instructio
. Crea  su OneDrive nel percorso: /Documenti/Enterprise il file html TeraBrain_Home.html
- se esiste già un file con lo stesso nome rinomina il file con prefisso OLD_
- inserisci nel file html 5 righe vuote per creare spazio
- inserisci nel file html l’immagine  su OneDrive nel percorso: /Documenti/Enterprise/TeraBrain_Logo.png
- inserisci nel file html 5 righe vuote per creare spazio

Entra in SuiteCRM
1. Apri il modulo Service Automate Actions (sa_Actions) 
2.Applica un solo filtro: Filtra solo i record con il campo  ID_Prompt maggiore di 1000
Per ogni record estrai i seguenti campi:
* Name
* description
* Prompt Group
* Area Prompt
* TB Agent
* Tipo Prompt
* ID Prompt

3. Ordina per:
* Prompt Group
* Tipo Prompt
* Area Prompt

Organizza i risultati in un file HTML contenente:
* una unica tabella ordinata con le colonne in questo ordine: 
* Area Prompt
* ID prompt, 
* Name,  
* Tipo Prompt
* Area Prompt
* Prompt Group
* link al file html con  "ID prompt"+_DP.Html , mostra a video la parola “Open”  otimizza le dimensioni per tenre un formato compatto 

 inserisci un filtro per :
* Tipo Prompt
* Area Prompt
* Prompt Group

Requisiti di Layout
* Tema professionale 
* Sfondo dark 
* Tabella con intestazioni evidenziate, font moderno, stile pulito
* Layout responsive, leggibile su desktop e tablet
* Mantieni un formato compatto tra le righe 
* Tutti i dati e gli script devono essere incorporati nel file HTML (funzionamento offline). Nessuna dipendenza esterna.

#Sorgente dati (obbligatoria – niente liste statiche)
- Interroga SEMPRE SuiteCRM: modulo sa_Actions con filtro (id_prompt_c > 1000 AND deleted = 0).
- Vietato usare cache o array statici; ogni esecuzione deve leggere dal CRM.
- Se i risultati superano 100, pagina la query (offset) e unisci finché copri tutti i record.

#Visualizzazione descrittive (no codici)
- Per i campi enum mostra SEMPRE la label (descrizione) definita nel CRM, mai il code:
  - Area Prompt → label di area_prompt_c (es.: SL → "Sales", AA → "Admin & Accounting", MK → "Marketing", RC → "Reception", OP → "Operations", MN → "Management", CC → "Customer Care", HR → "HR", IT → "IT", LG → "Logistics", AG → "TB Agent").
  - Tipo Prompt → label di tipo_prompt_c (AG → "Agent", PR → "Process", SK → "Scheduling").
  - Prompt Group → label di group_prompt_c (BG → "Bellorio", TB → "TeraBrain", CU → "Custom", AG → "Agent Duty").
- ID Prompt resta numerico.
- Se il layout richiede due colonne “Area Prompt”, entrambe devono riportare la label (descrizione), non il codice.
- Se per un record non è disponibile la label di un codice, visualizza “Label mancante” e segnala nei Quality Gates.

#Link e coerenza
- Il link “Open” deve puntare a {ID_Prompt}_DP.html.
- Se il file {ID_Prompt}_DP.html non esiste su OneDrive, mostra un badge “DP mancante” al posto del bottone.

#Quality Gates (obbligatori)
- Conteggio: (righe HTML) = (conteggio record CRM). Se diverso → interrompi, NON sovrascrivere, restituisci errore “Mismatch conteggio”.
- Label: conta i campi enum senza label. Se > 0 → NON sovrascrivere, restituisci errore “Label mancanti” con elenco ID.
- Copertura aggiornati: verifica gli ID modificati nelle ultime 24 ore; se qualcuno non è presente in tabella → interrompi e segnala “Copertura incompleta”.
- Footer pagina: inserisci Totale record, ID min, ID max, Timestamp (UTC) e “Label non mappate: 0”.

#Scrittura file (atomica)
- Genera nuova pagina in un file temporaneo; se tutti i Quality Gates sono superati:
  - rinomina l’eventuale versione precedente con prefisso OLD_
  - sostituisci TeraBrain_Home.html con la nuova versione.

#Conferma finale
- Se pubblicazione ok: “File TeraBrain_Home.html creato con successo.”
- Se un Quality Gate fallisce: non pubblicare e mostra messaggio di errore con dettaglio.