# Dizionario dati - case study Schema.org v2

Versione: 1.0.0

Il template CSV contiene una riga per `URL-day` e famiglia di metrica. I campi non applicabili restano vuoti; zero e vuoto non sono intercambiabili.

| Campo | Tipo | Definizione |
|---|---|---|
| `study_id` | stringa | Identificatore stabile `dealerwebsite-schema-v2-matarese`. |
| `observation_date` | data | Giorno locale Europe/Rome, formato `YYYY-MM-DD`. |
| `observed_at_utc` | timestamp | Istante di acquisizione ISO 8601 in UTC. |
| `phase` | enum | `pre`, `washout`, `post`, `shadow` o `canary`. |
| `metric_family` | enum | `technical`, `search_console` o `ai_answering`. |
| `url` | URL | URL pubblica osservata, senza token o dati sensibili. |
| `page_type` | enum | `home`, `service`, `listing`, `vdp`, `nlt_detail`, `article`, `podcast_video`, `faq`, `glossary`, `legal`, `location`. |
| `manifest_status` | enum | `frozen`, `entered`, `exited` o `excluded_with_reason`. |
| `http_status` | intero | Status HTTP osservato sul dominio pubblico. |
| `canonical_expected` | URL | Canonical definita nel manifest congelato. |
| `canonical_observed` | URL | Canonical presente nell'HTML osservato. |
| `sitemap_canonical_consistent` | booleano | Vero solo se sitemap e canonical coincidono secondo il contratto. |
| `schema_contract` | stringa | Versione del contratto dichiarata dal producer. |
| `graph_sha256` | stringa | SHA-256 esadecimale del grafo normalizzato. |
| `contract_pass` | booleano | Esito completo del contract test per URL. |
| `technical_host_reference_count` | intero | Numero di URL o `@id` che espongono host non pubblici. |
| `conflicting_stable_id_count` | intero | Numero di `@id` riutilizzati per entita incompatibili. |
| `source_data_mismatch_count` | intero | Divergenze prezzo/disponibilita/identita tra UI e fonte grafo. |
| `hydration_duplicate_graph_count` | intero | Copie del grafo trovate nel payload idratato oltre al grafo in head. |
| `render_duration_ms` | numero | Durata server-side della misura definita dal runner, in millisecondi. |
| `search_type` | stringa | Tipo di ricerca Search Console, per esempio `web`; mai inferito. |
| `country` | stringa | Codice paese restituito dalla sorgente, se disponibile. |
| `device` | stringa | Dimensione dispositivo restituita dalla sorgente, se disponibile. |
| `gsc_clicks` | intero | Click secondo la definizione Search Console. |
| `gsc_impressions` | intero | Impression secondo la definizione Search Console. |
| `gsc_ctr` | numero | Rapporto click/impression restituito o ricalcolato e documentato. |
| `gsc_average_position` | numero | Posizione media Search Console; non e un ranking assoluto stabile. |
| `ai_provider` | stringa | Organizzazione che fornisce il sistema testato. |
| `ai_product` | stringa | Nome del prodotto o interfaccia testata. |
| `ai_model` | stringa | Versione/modello dichiarato dall'interfaccia; `unknown` se non esposto. |
| `ai_mode` | stringa | Modalita, incluso browsing/search on/off e stato account. |
| `prompt_id` | stringa | Identificatore nel prompt set congelato. |
| `citation_present` | booleano | Presenza di almeno una fonte esplicita pertinente. |
| `citation_support` | enum | `supported`, `partial`, `unsupported`, `not_applicable`. |
| `factual_accuracy` | enum | `accurate`, `partially_accurate`, `inaccurate`, `not_verifiable`. |
| `freshness` | enum | `current`, `stale`, `not_time_sensitive`, `not_verifiable`. |
| `no_answer` | booleano | Il sistema non fornisce una risposta valutabile. |
| `missing_reason` | stringa | Motivo esplicito di un dato mancante. |
| `evidence_ref` | stringa | Riferimento immutabile alla prova redatta o al record sorgente. |
| `commit_id` | stringa | Commit applicativo osservato. |
| `deployment_id` | stringa | Deployment osservato. |
| `notes` | stringa | Annotazioni e confondenti, senza dati personali. |

## Valori mancanti

- Campo vuoto: non applicabile o non raccolto; `missing_reason` deve spiegarlo quando il dato era atteso.
- `0`: misura eseguita con conteggio pari a zero.
- `unknown`: il provider non espone il valore e il fatto e rilevante per l'interpretazione.
- Nessuna imputazione viene applicata al dataset pubblico senza una versione separata e una regola documentata.
