- extensions/skill-hub.ts: skill_search (FTS su frontmatter+body+references), skill_info, skill_sync/commando /skill-sync, iniezione istruzioni via before_agent_start (append al systemPrompt, mai replace) - skills/sap-timesheet: prima skill migrata (SAP CATS timesheet) - distribuzione: pi package (keyword pi-package), install git:git.enne2.net/enne2/pi-skill-hub
2.9 KiB
2.9 KiB
Allineamento alle best practice di settore (SAP CATS + agent skills)
Fonti: documentazione SAP (help.sap.com — CATS lifecycle, target hours check, enhancement CATS0003/0006/0008, CATS_DA/CADO per audit); linee guida Agent Skills (agentskills.io, Anthropic, Microsoft Agent Framework) su progressive disclosure, hard gates, evidence standard e automation boundary. Verificate con ricerca web (Perplexity, 2026-09).
Come la skill mappa i controlli CATS
| Controllo di settore | Come è implementato nella skill |
|---|---|
| Lifecycle CATS: Capture → Validate → Release → Approve → Transfer → Reconcile | L'agente opera su Capture/Validate (Inserimento Time Sheet); Release/Approval restano all'utente (attestazione), Transfer è a valle |
| Ore teoriche/target hours come vincolo di immissione (R1) | Regola non negoziabile: mai superare la riga teoriche; giornate parziali al valore esatto |
| Validation hooks CATS0003/0006 lato SAP | La skill non aggira le validazioni: errori E → stop e report; warning W → "Continuare" solo dopo lettura del testo |
| "RPA non corregge silenziosamente fatti di business" | I valori proposti derivano dal file Excel + teoriche SAP; ogni scostamento è proposto all'utente, mai autocorretto |
| Human-in-the-loop / approval gate | Piano giorno-per-giorno approvato prima di scrivere; salvataggio dopo riconciliazione |
| Idempotenza e no-duplicati | Prima di riscrivere si rilegge sempre lo stato persistito (R2); mai ri-salvare a caso dopo un errore |
| Correlation ID / audit trail | Ogni sessione registra in qmem (project sap-timesheet): valori inseriti, totali, errori, esito verifica; il documento CATS ha numero univoco lato SAP |
| Segregation of duties (entry ≠ approval) | L'agente non ha ruolo di approvazione; il titolare conferma il piano e il salvataggio |
| Least privilege / credenziali | Si usa il profilo principale dell'utente via SSO; nessuna credenziale in script/prompt; BiDi solo loopback 127.0.0.1 |
| Verifica come exit criterion | Rilettura post-salvataggio obbligatoria con riconciliazione somme |
| Preferire API/scraping controllato | Non esistendo interfaccia utente alternativa per il profilo dipendente, si automatizza la WebGUI con click reali e verifica DOM (documentato; nessun bypass di controlli SAP) |
Limiti dichiarati (residui)
- L'automazione scrive con le credenziali dell'utente: ogni salvataggio è da considerarsi inserimento dell'utente stesso → l'attestazione finale è sua.
- La ripartizione percentuale (70/20/10) deriva dall'Excel del team: è responsabilità dell'utente che il file sia quello approvato dal CdC.
- Gli arrotondamenti al centesimo sono bilanciati per riga; le differenze di arrotondamento residue restano visibili nei totali mensili SAP.
- CATS_DA (CADO) permette il controllo a posteriori dei documenti CATSDB: consigliata una riconciliazione mensile a campione dopo il transfer.