Files
pi-skill-hub/skills/sap-timesheet/references/best-practice-controlli.md
T
enne2 551b5f3611 feat: skill hub — distribuzione skill via Gitea, indicizzazione e ricerca
- 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
2026-09-24 12:15:27 +02:00

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.