> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mattone.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Stato e continuazione dell'onboarding studente

> Come capire a che punto è l'onboarding di uno studente e come riprenderlo da dove è arrivato: l'handoff tra membri del team senza perdere pezzi.

L'onboarding di uno studente **non lo fa sempre la stessa persona nella stessa sessione**: qualcuno inizia, qualcun altro riprende il giorno dopo. Perché l'handoff non perda pezzi, prima di toccare qualcosa devi capire **a che punto è** quello studente, passo per passo, e **da dove ripartire**. Questa pagina spiega dove si legge lo stato oggi e come continuarlo in sicurezza.

<Info>Pensa a una **matrice passi × stato** per studente, non a una lista lineare "fatto / non fatto". Ogni passo (Anagrafica, Kross, Conduit, Smart check-in, Stripe, verifica) ha il **suo** stato, e chi subentra riparte dal primo passo non ancora verificato. Il modello completo è nella sezione "Stati studente & handoff" di [Panoramica onboarding](/onboarding/panoramica).</Info>

## ⭐ Parti da qui: il prompt per riprendere

Prima ancora di leggere il resto: se devi solo capire **a che punto è** uno studente e **da dove ripartire**, incolla questo prompt in Claude Code. Ricostruisce la matrice passi×stato dalle fonti reali (`/connessioni` + `pms_integrations` + Vault), ricorda il GATE Conduit e ti dice il primo passo da fare. Le sezioni sotto spiegano il *perché* dietro ogni riga.

<Tip>
  **▷ Prompt Claude Code: Riprendi / capisci lo stato dell'onboarding**  ·  incolla in Claude Code:
</Tip>

```text theme={null}
Contesto: in questa sessione di Claude Code potrei NON avere il repo/codice
caricato. Per prima cosa apri ENTRAMBI i repo, `~/Projects/api-kross-mattone`
(provisioning, custom tool + skill, config agente) e `~/Projects/mattone-platform`
(connessioni / pms_integrations / Vault / bridge Notion), e LEGGI le pagine
mattone-docs /onboarding/stato-e-continuazione e /onboarding/panoramica (matrice
passi×stato + dipendenze di fase); per lo stato reale usa gli MCP (Supabase per
pms_integrations e Vault, Conduit per l'agente). Poi procedi:

Dimmi a che punto è l'onboarding dello studente [NOME] e da dove riprendere.
Ricostruisci la MATRICE passi×stato (Anagrafica, Kross, Conduit, Smart check-in,
Stripe, verifica) assegnando a ognuno uno dei cinque stati: non iniziato / non
ora / in corso / collegato / verificato. Incrocia SEMPRE tre fonti reali:
1) la vista /connessioni (stato per-connettore, vista studente),
2) la tabella pms_integrations su Supabase (verità macchina + timestamp),
3) il Vault (presenza delle credenziali cifrate per quel connettore, se manca,
   il passo NON è davvero "collegato").
Ricorda che "collegato" != "funziona": per ogni passo collegato leggi i log e
verifica dal vivo (prenotazione letta, porta aperta, link Stripe generato).

GATE Conduit: prima di attivare o provisionare QUALSIASI workspace agente,
verifica che (a) il contratto "Servizio AI Ospiti" sia FIRMATO
(contract_signed = true) E (b) la carta sia a file in piattaforma (metodo di
pagamento aggiunto dallo studente). Se manca anche solo una delle due, NON
attivare nulla: segnalalo come blocco.

Alla fine dimmi, richiamando i repo e le pagine docs che hai usato: il PRIMO
passo non ancora verificato (= da dove ripartire), cosa è in "non ora"
(rimandato di proposito) e cosa manca ancora dallo studente (così posso
avvisarlo). Non inventare: se una fonte non è leggibile nella sessione, dillo.
```

## Dove vive lo stato, oggi

Non esiste ancora un tracker unico: lo stato si ricostruisce da **tre fonti** che vanno lette insieme.

| Fonte                          | Dove                                                      | Cosa dice                                                                                                                                           |
| ------------------------------ | --------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Vista `/connessioni`**       | piattaforma `app.mattone.co/connessioni` (vista studente) | lo stato **per-connettore** leggibile a colpo d'occhio: chi è collegato/verificato/in "non ora"                                                     |
| **Tabella `pms_integrations`** | Supabase (repo `~/Projects/mattone-platform`)             | la **verità macchina** dello stato per-connettore (record + timestamp); è ciò che alimenta `/connessioni`                                           |
| **Vault**                      | Supabase (credenziali cifrate)                            | **presenza** delle credenziali per quel connettore (es. `cred_secret_id` Kross, `stripe_key_<token>`), se manca, il passo non è davvero "collegato" |

<Note>La **matrice passi × stato** con la logica del "non ora" e dell'handoff è descritta in [Panoramica onboarding](/onboarding/panoramica). Le tre fonti qui sopra sono i posti concreti dove quella matrice si legge oggi.</Note>

## I cinque stati di un passo

Ogni passo dell'onboarding sta in **uno** di questi stati:

| Stato                         | Significato                                                                                                                     | Cosa fare quando subentri                                            |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| **non iniziato**              | nessuna connessione salvata                                                                                                     | è il prossimo candidato da lavorare                                  |
| **non ora / non applicabile** | lo studente per ora non fa questo pezzo → si passa oltre, ma **il passo resta** nel checklist (segnato "non ora"), non sparisce | non toccarlo: è stato rimandato **consapevolmente**, non dimenticato |
| **in corso**                  | credenziali inserite ma **non ancora validate**                                                                                 | riprendi da qui: manca il test                                       |
| **collegato**                 | connessione salvata (verde in UI)                                                                                               | **NON è "funziona"**: va verificato dal vivo (vedi sotto)            |
| **verificato**                | testato dal vivo con auth/azione reale + log letto                                                                              | chiuso, passa al successivo                                          |

<Warning>**"collegato" ≠ "funziona".** La UI può mostrare verde mentre l'integrazione non risponde davvero. Un passo è chiuso solo quando è **verificato**: auth reale, azione reale (una prenotazione letta, una porta aperta, un link Stripe generato) e **log letto**. Finché non hai la prova, resta "collegato", non "verificato".</Warning>

## Come leggere a che punto è

<Steps>
  <Step title="Apri /connessioni per quello studente">
    Su `app.mattone.co/connessioni` guardi lo stato **per-connettore**: è la fotografia più rapida di cosa è collegato e cosa è in "non ora".
  </Step>

  <Step title="Conferma con pms_integrations + Vault">
    Incrocia la vista con la tabella `pms_integrations` (stato macchina, con i timestamp) e con la **presenza** delle credenziali nel Vault. Se `/connessioni` dice "collegato" ma nel Vault manca la credenziale, lo stato reale è più indietro.
  </Step>

  <Step title="Ricostruisci la matrice passo per passo">
    Per ognuno dei sei passi assegna uno dei cinque stati. Il **primo passo non ancora verificato** (escludendo i "non ora") è il punto da cui ripartire.
  </Step>

  <Step title="Leggi sempre i log prima di fidarti">
    Per ogni passo "collegato" che credi funzioni, apri i log e verifica dal vivo. Il log è l'unica prova che l'operazione è andata a buon fine, l'interfaccia no.
  </Step>
</Steps>

## Come riprendere (handoff)

<Steps>
  <Step title="Riparti dal primo passo non verificato">
    Rispetta l'ordine del ramo operativo (Anagrafica → Kross → Conduit → Smart check-in → Stripe → verifica): ogni passo costruisce le fondamenta del successivo, saltarne uno rompe ciò che viene dopo. I "non ora" si scavalcano, ma restano visibili.
  </Step>

  <Step title="Rispetta le dipendenze di fase">
    Attenzione ai passi che **sembrano** lo stesso ma non lo sono: **Kross caricato in piattaforma** (3 credenziali nel Vault) ≠ **Kross collegato a Conduit** (tool montati nell'agente). I custom tool possono essere preparati prima/indipendentemente; smart-lock e Stripe sono condizionali e possono restare "non ora" a lungo senza bloccare gli altri.
  </Step>

  <Step title="Verifica dal vivo prima di dichiarare chiuso un passo">
    Non segnare "verificato" senza un test reale con log. Se un passo era "collegato", rifallo controllare dal vivo tu che subentri: non ereditare il verde di qualcun altro senza prova.
  </Step>

  <Step title="Lascia traccia per chi viene dopo">
    Aggiorna lo stato in piattaforma e annota cosa hai verificato (con quale log/output) e cosa resta "non ora" o aperto. L'handoff funziona solo se il prossimo vede lo stesso quadro che vedi tu.
  </Step>
</Steps>

<Warning>**GAP noto**: non esiste ancora un tracker unico (matrice passi×stato, con "non ora" e handoff) per il team delivery. Oggi lo si ricostruisce da `pms_integrations` + `/connessioni` + Vault. È un miglioramento previsto lato piattaforma.</Warning>

<Tip>Il prompt Claude Code per riprendere è **in evidenza a inizio pagina**, [⭐ Riprendi / capisci lo stato dell'onboarding](#-parti-da-qui-il-prompt-per-riprendere). Copialo da lì: apre entrambi i repo, incrocia le tre fonti reali e ricorda il GATE Conduit prima di attivare qualsiasi workspace.</Tip>

## Regola trasversale

**Leggi sempre i log** e ricorda che **"collegato" non è "verificato"**. L'handoff pulito nasce da qui: chi subentra non deve fidarsi del verde in UI, ma ricostruire lo stato dalle tre fonti e chiudere ogni passo con una prova reale. Se qualcosa non torna, applica il [Metodo di troubleshooting](/troubleshooting/metodo) prima di escalare.

<CardGroup cols={2}>
  <Card title="Panoramica onboarding" icon="arrow-up-right-from-square" href="/onboarding/panoramica">La matrice passi×stato e l'ordine dei sei passi</Card>
  <Card title="Verifica finale" icon="arrow-up-right-from-square" href="/onboarding/6-verifica-finale">La checklist con evidenza dai log</Card>
  <Card title="Monitorare gli studenti" icon="arrow-up-right-from-square" href="/delivery/monitorare-studenti">Dopo il go-live: cosa guardare e dove</Card>
  <Card title="Metodo troubleshooting" icon="arrow-up-right-from-square" href="/troubleshooting/metodo">Quando uno stato non torna</Card>
</CardGroup>

<Note>Fonti: /onboarding/panoramica (matrice passi×stato, dipendenze di fase), tabella `pms_integrations` (Supabase, repo `~/Projects/mattone-platform`), vista `/connessioni` su `app.mattone.co`, Vault credenziali.</Note>
