# Fidelidade — Identidade e localização

Dimensão 01 do painel de auditoria do MonumentosFR: verificar se as chaves de identidade (`i` = Reference) e localização (`n` = nome, `m` = commune, `d` = département, `r` = région) do dataset servido (`www/explorer/merimee_data.json`) correspondem fielmente ao CSV-fonte (`raw/merimee.csv`, base Mérimée, data.gouv.fr).

Legenda: **[C]** confirmado na fonte; **[I]** inferido/secundário.

## Método

1. **Leitura do pipeline** (`tools/build_dataset.py`) para identificar que colunas CSV alimentam cada chave curta. Mapeamento declarado pelo código [C]:
   - `i` ← `Reference` (com `.strip()`; linhas sem ref são descartadas; refs duplicadas são ignoradas — mantém-se a 1.ª ocorrência, contador `dup_refs`);
   - `n` ← `Titre_editorial_de_la_notice` (fallbacks em cascata: `Denomination_de_l_edifice` → commune → ref);
   - `m` ← `Commune_forme_editoriale` (fallback: `Commune_forme_index`);
   - `d` ← concatenação `"{Departement_format_numerique} - {Departement_en_lettres}"` — ou seja, o dataset NÃO guarda apenas o nome do departamento, mas código + nome;
   - `r` ← `Region`.
   - Nota [C]: todos os campos passam por `.strip()` (remoção de espaços nas extremidades) — transformação de forma, não de conteúdo.
2. **População inteira**: comparação dos conjuntos de refs (CSV vs dataset), contagens, duplicados e distribuição por região/departamento, em Python (leitura real dos dois ficheiros, sem regex cega).
3. **Amostra estratificada** de 60 registos (por região, ponderada pelo nº de monumentos) + **20 casos-limite deliberados** (apóstrofos, acentos, guillemets «», nomes >120 caracteres, refs DOM 971/972/973/974/976, communes de arrondissement tipo "Lyon 3e"), comparados campo a campo `n/m/d/r` vs colunas CSV reconstruídas segundo o pipeline.
4. **Normalização**: verificação de diferenças de capitalização/espaços entre CSV e dataset, para classificar cada divergência como perda de conteúdo ou mera forma.

Regras respeitadas: operação read-only em `raw/` e `www/`; nenhum ficheiro de dados modificado.

---

## População inteira (refs, contagens)

Comparação exaustiva (não amostrada) entre `raw/merimee.csv` e `www/explorer/merimee_data.json`, feita em Python com leitura integral dos dois ficheiros [C]:

| Métrica | CSV-fonte | Dataset servido |
|---|---|---|
| Linhas de dados | 46.760 | — |
| `total` declarado | — | 46.760 |
| Registos em `records[]` | — | 46.760 |
| Refs vazias (`Reference`) | 0 | — |
| Refs duplicadas | 0 (o pipeline ignora duplicados; não houve nenhum) | 0 (nenhum `i` repetido no JSON) |
| Refs só no CSV (ausentes do dataset) | — | **0** |
| Refs só no dataset (ausentes do CSV) | — | **0** |

**Conclusão população [C]**: o conjunto de refs do dataset é **exatamente igual** ao conjunto de `Reference` do CSV (46.760 = 46.760, interseção total, sem duplicados nem perdas).

### Comparação campo-a-campo dos 4 campos — 100% dos registos

Para os 46.760 registos comuns, reconstruiu-se o valor esperado de `n/m/d/r` a partir do CSV (mesma lógica do pipeline) e comparou-se com o dataset [C]:

| Campo | Divergências | Taxa |
|---|---|---|
| `n` (nome) | 0 / 46.760 | 0,000% |
| `m` (commune) | 0 / 46.760 | 0,000% |
| `d` (département) | 0 / 46.760 | 0,000% |
| `r` (région) | 0 / 46.760 | 0,000% |

Nem diferenças de conteúdo, nem de espaços, nem de caixa (lower/upper) — igualdade de string exata [C].

### Normalização

- **Não há lowercase nem qualquer alteração de caixa** em `n/m/d/r`: a igualdade exata string-a-string em toda a população prova que a única transformação aplicada foi `.strip()` (espaços nas extremidades), que aqui não alterou nenhum valor [C]. Qualquer normalização de caixa que exista no site (ex.: filtros) é feita em tempo de execução, não nos dados — **não é perda**, os valores originais estão preservados [C].
- `d` é um campo **composto** `"{código} - {nome}"` (ex.: `69 - Rhône`), não apenas o nome — fiel a `Departement_format_numerique` + `Departement_en_lettres` do CSV [C].
- Casos particulares de `d`, todos vindos assim do CSV [C]: Córsega `2A`/`2B` (337 registos), DOM-TOM `971`–`976` (573 registos), e 2 registos multi-departamento (`12;81 - Aveyron;Tarn`, `01;71 - Ain;Saône-et-Loire`).
- `r` mantém 21 valores distintos idênticos ao CSV, incluindo uma cadeia vazia `''` e um valor multi-região `Auvergne-Rhône-Alpes;Bourgogne-Franche-Comté` — contagens por valor idênticas às do CSV [C].
- Fallbacks de `n` e `m` declarados no pipeline **nunca foram necessários**: nenhum registo tem `Titre_editorial_de_la_notice` vazio nem `Commune_forme_editoriale` vazio com index preenchido [C].

---

## Amostra estratificada (60 registos, proporcional por região)

Seleção determinística: refs ordenadas, posições equidistantes dentro de cada região; alocação proporcional ao nº de monumentos (mínimo 1 por região). CSV reconstruído com a lógica do pipeline [C].

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00082313 | n (nome) | Église Saint-Martin | Église Saint-Martin | SIM |
| PA00082313 | m (commune) | Agonac | Agonac | SIM |
| PA00082313 | d (département) | 24 - Dordogne | 24 - Dordogne | SIM |
| PA00082313 | r (région) | Nouvelle-Aquitaine | Nouvelle-Aquitaine | SIM |
| PA00083106 | n (nome) | Ancienne manufacture (ou minoterie) | Ancienne manufacture (ou minoterie) | SIM |
| PA00083106 | m (commune) | Abzac | Abzac | SIM |
| PA00083106 | d (département) | 33 - Gironde | 33 - Gironde | SIM |
| PA00083106 | r (région) | Nouvelle-Aquitaine | Nouvelle-Aquitaine | SIM |
| PA00083900 | n (nome) | Piscine municipale - établissement de bains-douches | Piscine municipale - établissement de bains-douches | SIM |
| PA00083900 | m (commune) | Bègles | Bègles | SIM |
| PA00083900 | d (département) | 33 - Gironde | 33 - Gironde | SIM |
| PA00083900 | r (région) | Nouvelle-Aquitaine | Nouvelle-Aquitaine | SIM |
| PA00099768 | n (nome) | Maison du 13e siècle | Maison du 13e siècle | SIM |
| PA00099768 | m (commune) | Donzenac | Donzenac | SIM |
| PA00099768 | d (département) | 19 - Corrèze | 19 - Corrèze | SIM |
| PA00099768 | r (région) | Nouvelle-Aquitaine | Nouvelle-Aquitaine | SIM |
| PA00101192 | n (nome) | Église Saint-Caprais | Église Saint-Caprais | SIM |
| PA00101192 | m (commune) | Bessines | Bessines | SIM |
| PA00101192 | d (département) | 79 - Deux-Sèvres | 79 - Deux-Sèvres | SIM |
| PA00101192 | r (région) | Nouvelle-Aquitaine | Nouvelle-Aquitaine | SIM |
| PA00104748 | n (nome) | Maison | Maison | SIM |
| PA00104748 | m (commune) | Ile-d'Aix | Ile-d'Aix | SIM |
| PA00104748 | d (département) | 17 - Charente-Maritime | 17 - Charente-Maritime | SIM |
| PA00104748 | r (région) | Nouvelle-Aquitaine | Nouvelle-Aquitaine | SIM |
| PA00105544 | n (nome) | Dolmen | Dolmen | SIM |
| PA00105544 | m (commune) | Montmorillon | Montmorillon | SIM |
| PA00105544 | d (département) | 86 - Vienne | 86 - Vienne | SIM |
| PA00105544 | r (région) | Nouvelle-Aquitaine | Nouvelle-Aquitaine | SIM |
| PA24000078 | n (nome) | Maison Duchêne | Maison Duchêne | SIM |
| PA24000078 | m (commune) | Montignac | Montignac | SIM |
| PA24000078 | d (département) | 24 - Dordogne | 24 - Dordogne | SIM |
| PA24000078 | r (région) | Nouvelle-Aquitaine | Nouvelle-Aquitaine | SIM |
| PA00093766 | n (nome) | Grotte de la Vache | Grotte de la Vache | SIM |
| PA00093766 | m (commune) | Alliat | Alliat | SIM |
| PA00093766 | d (département) | 09 - Ariège | 09 - Ariège | SIM |
| PA00093766 | r (région) | Occitanie | Occitanie | SIM |
| PA00094614 | n (nome) | Maison dite de Pierre Delfau | Maison dite de Pierre Delfau | SIM |
| PA00094614 | m (commune) | Toulouse | Toulouse | SIM |
| PA00094614 | d (département) | 31 - Haute-Garonne | 31 - Haute-Garonne | SIM |
| PA00094614 | r (région) | Occitanie | Occitanie | SIM |
| PA00095464 | n (nome) | Immeuble | Immeuble | SIM |
| PA00095464 | m (commune) | Albi | Albi | SIM |
| PA00095464 | d (département) | 81 - Tarn | 81 - Tarn | SIM |
| PA00095464 | r (région) | Occitanie | Occitanie | SIM |
| PA00102896 | n (nome) | Menhir dit Pierre levée de Picarel | Menhir dit Pierre levée de Picarel | SIM |
| PA00102896 | m (commune) | Saissac | Saissac | SIM |
| PA00102896 | d (département) | 11 - Aude | 11 - Aude | SIM |
| PA00102896 | r (région) | Occitanie | Occitanie | SIM |
| PA00103743 | n (nome) | Église Saint-Pierre et Saint-Marcellin | Église Saint-Pierre et Saint-Marcellin | SIM |
| PA00103743 | m (commune) | Vendémian | Vendémian | SIM |
| PA00103743 | d (département) | 34 - Hérault | 34 - Hérault | SIM |
| PA00103743 | r (région) | Occitanie | Occitanie | SIM |
| PA12000056 | n (nome) | Maison forte dite le château de Balaguier | Maison forte dite le château de Balaguier | SIM |
| PA12000056 | m (commune) | Balaguier-sur-Rance | Balaguier-sur-Rance | SIM |
| PA12000056 | d (département) | 12 - Aveyron | 12 - Aveyron | SIM |
| PA12000056 | r (région) | Occitanie | Occitanie | SIM |
| PA00091849 | n (nome) | Église Notre-Dame | Église Notre-Dame | SIM |
| PA00091849 | m (commune) | Aigueperse | Aigueperse | SIM |
| PA00091849 | d (département) | 63 - Puy-de-Dôme | 63 - Puy-de-Dôme | SIM |
| PA00091849 | r (région) | Auvergne-Rhône-Alpes | Auvergne-Rhône-Alpes | SIM |
| PA00092682 | n (nome) | Dolmen | Dolmen | SIM |
| PA00092682 | m (commune) | Langeac | Langeac | SIM |
| PA00092682 | d (département) | 43 - Haute-Loire | 43 - Haute-Loire | SIM |
| PA00092682 | r (région) | Auvergne-Rhône-Alpes | Auvergne-Rhône-Alpes | SIM |
| PA00093515 | n (nome) | Église Saint-Bonnet | Église Saint-Bonnet | SIM |
| PA00093515 | m (commune) | Giou-de-Mamou | Giou-de-Mamou | SIM |
| PA00093515 | d (département) | 15 - Cantal | 15 - Cantal | SIM |
| PA00093515 | r (région) | Auvergne-Rhône-Alpes | Auvergne-Rhône-Alpes | SIM |
| PA00116868 | n (nome) | Château | Château | SIM |
| PA00116868 | m (commune) | Vogüé | Vogüé | SIM |
| PA00116868 | d (département) | 07 - Ardèche | 07 - Ardèche | SIM |
| PA00116868 | r (région) | Auvergne-Rhône-Alpes | Auvergne-Rhône-Alpes | SIM |
| PA00117741 | n (nome) | Château | Château | SIM |
| PA00117741 | m (commune) | Chazay-d'Azergues | Chazay-d'Azergues | SIM |
| PA00117741 | d (département) | 69 - Rhône | 69 - Rhône | SIM |
| PA00117741 | r (région) | Auvergne-Rhône-Alpes | Auvergne-Rhône-Alpes | SIM |
| PA00132951 | n (nome) | Église Saint-Bruno | Église Saint-Bruno | SIM |
| PA00132951 | m (commune) | Voiron | Voiron | SIM |
| PA00132951 | d (département) | 38 - Isère | 38 - Isère | SIM |
| PA00132951 | r (région) | Auvergne-Rhône-Alpes | Auvergne-Rhône-Alpes | SIM |
| PA00078014 | n (nome) | Chapelle Saint-Avit | Chapelle Saint-Avit | SIM |
| PA00078014 | m (commune) | Aix-en-Othe | Aix-en-Othe | SIM |
| PA00078014 | d (département) | 10 - Aube | 10 - Aube | SIM |
| PA00078014 | r (région) | Grand Est | Grand Est | SIM |
| PA00078788 | n (nome) | Forum romain (vestiges de l'ancien) | Forum romain (vestiges de l'ancien) | SIM |
| PA00078788 | m (commune) | Reims | Reims | SIM |
| PA00078788 | d (département) | 51 - Marne | 51 - Marne | SIM |
| PA00078788 | r (région) | Grand Est | Grand Est | SIM |
| PA00084828 | n (nome) | Monument du général Clarke | Monument du général Clarke | SIM |
| PA00084828 | m (commune) | Neuwiller-lès-Saverne | Neuwiller-lès-Saverne | SIM |
| PA00084828 | d (département) | 67 - Bas-Rhin | 67 - Bas-Rhin | SIM |
| PA00084828 | r (région) | Grand Est | Grand Est | SIM |
| PA00085603 | n (nome) | Anciennes fortifications | Anciennes fortifications | SIM |
| PA00085603 | m (commune) | Riquewihr | Riquewihr | SIM |
| PA00085603 | d (département) | 68 - Haut-Rhin | 68 - Haut-Rhin | SIM |
| PA00085603 | r (région) | Grand Est | Grand Est | SIM |
| PA00106585 | n (nome) | Église | Église | SIM |
| PA00106585 | m (commune) | Mont-devant-Sassey | Mont-devant-Sassey | SIM |
| PA00106585 | d (département) | 55 - Meuse | 55 - Meuse | SIM |
| PA00106585 | r (région) | Grand Est | Grand Est | SIM |
| PA00125235 | n (nome) | Ancien château Burrus | Ancien château Burrus | SIM |
| PA00125235 | m (commune) | Sainte-Croix-aux-Mines | Sainte-Croix-aux-Mines | SIM |
| PA00125235 | d (département) | 68 - Haut-Rhin | 68 - Haut-Rhin | SIM |
| PA00125235 | r (région) | Grand Est | Grand Est | SIM |
| PA00079845 | n (nome) | Aqueduc des Eaux de Rungis (également sur communes de Rungis, Fresnes, L'Hay-les-Roses, Cachan, Gentilly et Paris 14) | Aqueduc des Eaux de Rungis (également sur communes de Rungis, Fresnes, L'Hay-les-Roses, Cachan, Gentilly et Paris 14) | SIM |
| PA00079845 | m (commune) | Arcueil | Arcueil | SIM |
| PA00079845 | d (département) | 94 - Val-de-Marne | 94 - Val-de-Marne | SIM |
| PA00079845 | r (région) | Île-de-France | Île-de-France | SIM |
| PA00086184 | n (nome) | Immeuble | Immeuble | SIM |
| PA00086184 | m (commune) | Paris 3e Arrondissement | Paris 3e Arrondissement | SIM |
| PA00086184 | d (département) | 75 - Paris | 75 - Paris | SIM |
| PA00086184 | r (région) | Île-de-France | Île-de-France | SIM |
| PA00086986 | n (nome) | Hôtel de la Prévôté | Hôtel de la Prévôté | SIM |
| PA00086986 | m (commune) | Fontainebleau | Fontainebleau | SIM |
| PA00086986 | d (département) | 77 - Seine-et-Marne | 77 - Seine-et-Marne | SIM |
| PA00086986 | r (région) | Île-de-France | Île-de-France | SIM |
| PA00087790 | n (nome) | Château de la Mormaire | Château de la Mormaire | SIM |
| PA00087790 | m (commune) | Grosrouvre | Grosrouvre | SIM |
| PA00087790 | d (département) | 78 - Yvelines | 78 - Yvelines | SIM |
| PA00087790 | r (région) | Île-de-France | Île-de-France | SIM |
| PA00088804 | n (nome) | Arc de Triomphe de l'Etoile | Arc de Triomphe de l'Etoile | SIM |
| PA00088804 | m (commune) | Paris 8e Arrondissement | Paris 8e Arrondissement | SIM |
| PA00088804 | d (département) | 75 - Paris | 75 - Paris | SIM |
| PA00088804 | r (région) | Île-de-France | Île-de-France | SIM |
| PA00101134 | n (nome) | Église de Brasse (ancienne) , actuellement chapelle du cimetière | Église de Brasse (ancienne) , actuellement chapelle du cimetière | SIM |
| PA00101134 | m (commune) | Belfort | Belfort | SIM |
| PA00101134 | d (département) | 90 - Territoire de Belfort | 90 - Territoire de Belfort | SIM |
| PA00101134 | r (région) | Bourgogne-Franche-Comté | Bourgogne-Franche-Comté | SIM |
| PA00112064 | n (nome) | Hospice Saint-Pierre (ancien) | Hospice Saint-Pierre (ancien) | SIM |
| PA00112064 | m (commune) | Arnay-le-Duc | Arnay-le-Duc | SIM |
| PA00112064 | d (département) | 21 - Côte-d'Or | 21 - Côte-d'Or | SIM |
| PA00112064 | r (région) | Bourgogne-Franche-Comté | Bourgogne-Franche-Comté | SIM |
| PA00113003 | n (nome) | Ancienne abbaye Saint-Laurent | Ancienne abbaye Saint-Laurent | SIM |
| PA00113003 | m (commune) | Saint-Laurent-l'Abbaye | Saint-Laurent-l'Abbaye | SIM |
| PA00113003 | d (département) | 58 - Nièvre | 58 - Nièvre | SIM |
| PA00113003 | r (région) | Bourgogne-Franche-Comté | Bourgogne-Franche-Comté | SIM |
| PA00113947 | n (nome) | Maison dite des Sept-Têtes | Maison dite des Sept-Têtes | SIM |
| PA00113947 | m (commune) | Villeneuve-sur-Yonne | Villeneuve-sur-Yonne | SIM |
| PA00113947 | d (département) | 89 - Yonne | 89 - Yonne | SIM |
| PA00113947 | r (région) | Bourgogne-Franche-Comté | Bourgogne-Franche-Comté | SIM |
| PA00107348 | n (nome) | Motte féodale avec fossés | Motte féodale avec fossés | SIM |
| PA00107348 | m (commune) | Arnèke | Arnèke | SIM |
| PA00107348 | d (département) | 59 - Nord | 59 - Nord | SIM |
| PA00107348 | r (région) | Hauts-de-France | Hauts-de-France | SIM |
| PA00108177 | n (nome) | Maison | Maison | SIM |
| PA00108177 | m (commune) | Arras | Arras | SIM |
| PA00108177 | d (département) | 62 - Pas-de-Calais | 62 - Pas-de-Calais | SIM |
| PA00108177 | r (région) | Hauts-de-France | Hauts-de-France | SIM |
| PA00115520 | n (nome) | Ancien château | Ancien château | SIM |
| PA00115520 | m (commune) | Bazoches-sur-Vesles | Bazoches-sur-Vesles | SIM |
| PA00115520 | d (département) | 02 - Aisne | 02 - Aisne | SIM |
| PA00115520 | r (région) | Hauts-de-France | Hauts-de-France | SIM |
| PA00135486 | n (nome) | Hôtel particulier | Hôtel particulier | SIM |
| PA00135486 | m (commune) | Lille | Lille | SIM |
| PA00135486 | d (département) | 59 - Nord | 59 - Nord | SIM |
| PA00135486 | r (région) | Hauts-de-France | Hauts-de-France | SIM |
| PA00089018 | n (nome) | Chapelle Sainte-Tunvel de Botlézan | Chapelle Sainte-Tunvel de Botlézan | SIM |
| PA00089018 | m (commune) | Bégard | Bégard | SIM |
| PA00089018 | d (département) | 22 - Côtes-d'Armor | 22 - Côtes-d'Armor | SIM |
| PA00089018 | r (région) | Bretagne | Bretagne | SIM |
| PA00089870 | n (nome) | Oppidum gaulois | Oppidum gaulois | SIM |
| PA00089870 | m (commune) | Cléden-Cap-Sizun | Cléden-Cap-Sizun | SIM |
| PA00089870 | d (département) | 29 - Finistère | 29 - Finistère | SIM |
| PA00089870 | r (région) | Bretagne | Bretagne | SIM |
| PA00090681 | n (nome) | église Saint-Étienne | église Saint-Étienne | SIM |
| PA00090681 | m (commune) | Rennes | Rennes | SIM |
| PA00090681 | d (département) | 35 - Ille-et-Vilaine | 35 - Ille-et-Vilaine | SIM |
| PA00090681 | r (région) | Bretagne | Bretagne | SIM |
| PA00091491 | n (nome) | Chapelle de Lochrist | Chapelle de Lochrist | SIM |
| PA00091491 | m (commune) | Ploërdut | Ploërdut | SIM |
| PA00091491 | d (département) | 56 - Morbihan | 56 - Morbihan | SIM |
| PA00091491 | r (région) | Bretagne | Bretagne | SIM |
| PA00099288 | n (nome) | Logis et grange du Manoir de la Haule | Logis et grange du Manoir de la Haule | SIM |
| PA00099288 | m (commune) | Aclou | Aclou | SIM |
| PA00099288 | d (département) | 27 - Eure | 27 - Eure | SIM |
| PA00099288 | r (région) | Normandie | Normandie | SIM |
| PA00100964 | n (nome) | Maison | Maison | SIM |
| PA00100964 | m (commune) | Rouen | Rouen | SIM |
| PA00100964 | d (département) | 76 - Seine-Maritime | 76 - Seine-Maritime | SIM |
| PA00100964 | r (région) | Normandie | Normandie | SIM |
| PA00110944 | n (nome) | Ancienne chapelle canoniale | Ancienne chapelle canoniale | SIM |
| PA00110944 | m (commune) | Sées | Sées | SIM |
| PA00110944 | d (département) | 61 - Orne | 61 - Orne | SIM |
| PA00110944 | r (région) | Normandie | Normandie | SIM |
| PA00111726 | n (nome) | Église | Église | SIM |
| PA00111726 | m (commune) | Sassy | Sassy | SIM |
| PA00111726 | d (département) | 14 - Calvados | 14 - Calvados | SIM |
| PA00111726 | r (région) | Normandie | Normandie | SIM |
| PA00096625 | n (nome) | Église Notre-Dame | Église Notre-Dame | SIM |
| PA00096625 | m (commune) | Achères | Achères | SIM |
| PA00096625 | d (département) | 18 - Cher | 18 - Cher | SIM |
| PA00096625 | r (région) | Centre-Val de Loire | Centre-Val de Loire | SIM |
| PA00097589 | n (nome) | Maison dite Le Belvédère | Maison dite Le Belvédère | SIM |
| PA00097589 | m (commune) | Bléré | Bléré | SIM |
| PA00097589 | d (département) | 37 - Indre-et-Loire | 37 - Indre-et-Loire | SIM |
| PA00097589 | r (région) | Centre-Val de Loire | Centre-Val de Loire | SIM |
| PA00098552 | n (nome) | Église Notre-Dame, puis Saint-Etienne de Romorantin | Église Notre-Dame, puis Saint-Etienne de Romorantin | SIM |
| PA00098552 | m (commune) | Romorantin-Lanthenay | Romorantin-Lanthenay | SIM |
| PA00098552 | d (département) | 41 - Loir-et-Cher | 41 - Loir-et-Cher | SIM |
| PA00098552 | r (région) | Centre-Val de Loire | Centre-Val de Loire | SIM |
| PA00080348 | n (nome) | Château | Château | SIM |
| PA00080348 | m (commune) | Allemagne-en-Provence | Allemagne-en-Provence | SIM |
| PA00080348 | d (département) | 04 - Alpes-de-Haute-Provence | 04 - Alpes-de-Haute-Provence | SIM |
| PA00080348 | r (région) | Provence-Alpes-Côte d'Azur | Provence-Alpes-Côte d'Azur | SIM |
| PA00081154 | n (nome) | Hôtel Varadier de Saint-Andiol | Hôtel Varadier de Saint-Andiol | SIM |
| PA00081154 | m (commune) | Arles | Arles | SIM |
| PA00081154 | d (département) | 13 - Bouches-du-Rhône | 13 - Bouches-du-Rhône | SIM |
| PA00081154 | r (région) | Provence-Alpes-Côte d'Azur | Provence-Alpes-Côte d'Azur | SIM |
| PA00081960 | n (nome) | Chapelle Notre-Dame de la Cavalerie de Limaye (ancienne) | Chapelle Notre-Dame de la Cavalerie de Limaye (ancienne) | SIM |
| PA00081960 | m (commune) | La Bastide-des-Jourdans | La Bastide-des-Jourdans | SIM |
| PA00081960 | d (département) | 84 - Vaucluse | 84 - Vaucluse | SIM |
| PA00081960 | r (région) | Provence-Alpes-Côte d'Azur | Provence-Alpes-Côte d'Azur | SIM |
| PA00105519 | n (nome) | Chapelle | Chapelle | SIM |
| PA00105519 | m (commune) | Maillé | Maillé | SIM |
| PA00105519 | d (département) | 85 - Vendée | 85 - Vendée | SIM |
| PA00105519 | r (région) | Pays de la Loire | Pays de la Loire | SIM |
| PA00109649 | n (nome) | Logis seigneurial de Viaulnay | Logis seigneurial de Viaulnay | SIM |
| PA00109649 | m (commune) | Loigné-sur-Mayenne | Loigné-sur-Mayenne | SIM |
| PA00109649 | d (département) | 53 - Mayenne | 53 - Mayenne | SIM |
| PA00109649 | r (région) | Pays de la Loire | Pays de la Loire | SIM |
| PA00099058 | n (nome) | Cathédrale Santa Maria Assunta ou cathédrale Notre-Dame | Cathédrale Santa Maria Assunta ou cathédrale Notre-Dame | SIM |
| PA00099058 | m (commune) | Ajaccio | Ajaccio | SIM |
| PA00099058 | d (département) | 2A - Corse-du-Sud | 2A - Corse-du-Sud | SIM |
| PA00099058 | r (région) | Corse | Corse | SIM |
| PA00105809 | n (nome) | Maison Martin ou Martin Valliamé, actuellement office du tourisme de Saint-André | Maison Martin ou Martin Valliamé, actuellement office du tourisme de Saint-André | SIM |
| PA00105809 | m (commune) | Saint-André | Saint-André | SIM |
| PA00105809 | d (département) | 974 - La Réunion | 974 - La Réunion | SIM |
| PA00105809 | r (région) | La Réunion | La Réunion | SIM |
| PA00105935 | n (nome) | Habitation Pecoul | Habitation Pecoul | SIM |
| PA00105935 | m (commune) | Basse-Pointe | Basse-Pointe | SIM |
| PA00105935 | d (département) | 972 - Martinique | 972 - Martinique | SIM |
| PA00105935 | r (région) | Martinique | Martinique | SIM |
| PA00105848 | n (nome) | Tour dite Tour du Père-Labat | Tour dite Tour du Père-Labat | SIM |
| PA00105848 | m (commune) | Baillif | Baillif | SIM |
| PA00105848 | d (département) | 971 - Guadeloupe | 971 - Guadeloupe | SIM |
| PA00105848 | r (région) | Guadeloupe | Guadeloupe | SIM |
| PA00105893 | n (nome) | Conseil général | Conseil général | SIM |
| PA00105893 | m (commune) | Cayenne | Cayenne | SIM |
| PA00105893 | d (département) | 973 - Guyane | 973 - Guyane | SIM |
| PA00105893 | r (région) | Guyane | Guyane | SIM |

## Casos-limite (20 deliberados)

Procurados em toda a população, seleção determinística (1.º ref por ordem alfabética que satisfaz o critério) [C].

**nome com apóstrofo tipográfico (’)** (1 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00094998 | n (nome) | Ancien palais de Via connu sous l'appellation Château du Roi, actuelle prison d’État | Ancien palais de Via connu sous l'appellation Château du Roi, actuelle prison d’État | SIM |
| PA00094998 | m (commune) | Cahors | Cahors | SIM |
| PA00094998 | d (département) | 46 - Lot | 46 - Lot | SIM |
| PA00094998 | r (région) | Occitanie | Occitanie | SIM |

**nome com apóstrofo reto (')** (1 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00078024 | n (nome) | Église Saint-Phal d'Avirey | Église Saint-Phal d'Avirey | SIM |
| PA00078024 | m (commune) | Avirey-Lingey | Avirey-Lingey | SIM |
| PA00078024 | d (département) | 10 - Aube | 10 - Aube | SIM |
| PA00078024 | r (région) | Grand Est | Grand Est | SIM |

**nome com acentos (Î/É/À...)** (1 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00078015 | n (nome) | Église de la Nativité | Église de la Nativité | SIM |
| PA00078015 | m (commune) | Aix-en-Othe | Aix-en-Othe | SIM |
| PA00078015 | d (département) | 10 - Aube | 10 - Aube | SIM |
| PA00078015 | r (région) | Grand Est | Grand Est | SIM |

**nome com guillemets «»** (1 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00078037 | n (nome) | Maison des «Trois Tours» | Maison des «Trois Tours» | SIM |
| PA00078037 | m (commune) | Bar-sur-Aube | Bar-sur-Aube | SIM |
| PA00078037 | d (département) | 10 - Aube | 10 - Aube | SIM |
| PA00078037 | r (région) | Grand Est | Grand Est | SIM |

**nome >120 caracteres** (2 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00081510 | n (nome) | Sol des parcelles contenant les vestiges de l'oppidum des Baou et terrains extérieurs au rempart pouvant offrir des traces archéologiques à Saint-Marcel | Sol des parcelles contenant les vestiges de l'oppidum des Baou et terrains extérieurs au rempart pouvant offrir des traces archéologiques à Saint-Marcel | SIM |
| PA00081510 | m (commune) | Marseille | Marseille | SIM |
| PA00081510 | d (département) | 13 - Bouches-du-Rhône | 13 - Bouches-du-Rhône | SIM |
| PA00081510 | r (région) | Provence-Alpes-Côte d'Azur | Provence-Alpes-Côte d'Azur | SIM |
| PA00081824 | n (nome) | Ancienne chapelle Notre-Dame des Fours et ancien collège Saint-Nicolas d'Annecy, dit également collège des Savoyards ou Grand Collège | Ancienne chapelle Notre-Dame des Fours et ancien collège Saint-Nicolas d'Annecy, dit également collège des Savoyards ou Grand Collège | SIM |
| PA00081824 | m (commune) | Avignon | Avignon | SIM |
| PA00081824 | d (département) | 84 - Vaucluse | 84 - Vaucluse | SIM |
| PA00081824 | r (région) | Provence-Alpes-Côte d'Azur | Provence-Alpes-Côte d'Azur | SIM |

**DOM Guadeloupe (971)** (1 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00105848 | n (nome) | Tour dite Tour du Père-Labat | Tour dite Tour du Père-Labat | SIM |
| PA00105848 | m (commune) | Baillif | Baillif | SIM |
| PA00105848 | d (département) | 971 - Guadeloupe | 971 - Guadeloupe | SIM |
| PA00105848 | r (région) | Guadeloupe | Guadeloupe | SIM |

**DOM Martinique (972)** (1 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00105935 | n (nome) | Habitation Pecoul | Habitation Pecoul | SIM |
| PA00105935 | m (commune) | Basse-Pointe | Basse-Pointe | SIM |
| PA00105935 | d (département) | 972 - Martinique | 972 - Martinique | SIM |
| PA00105935 | r (région) | Martinique | Martinique | SIM |

**DOM Guyane (973)** (1 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00105893 | n (nome) | Conseil général | Conseil général | SIM |
| PA00105893 | m (commune) | Cayenne | Cayenne | SIM |
| PA00105893 | d (département) | 973 - Guyane | 973 - Guyane | SIM |
| PA00105893 | r (région) | Guyane | Guyane | SIM |

**DOM La Réunion (974)** (1 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00105809 | n (nome) | Maison Martin ou Martin Valliamé, actuellement office du tourisme de Saint-André | Maison Martin ou Martin Valliamé, actuellement office du tourisme de Saint-André | SIM |
| PA00105809 | m (commune) | Saint-André | Saint-André | SIM |
| PA00105809 | d (département) | 974 - La Réunion | 974 - La Réunion | SIM |
| PA00105809 | r (région) | La Réunion | La Réunion | SIM |

**DOM Mayotte (976)** (1 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA97600001 | n (nome) | Ancienne résidence des Gouverneurs, située au rocher de Dzaoudzi | Ancienne résidence des Gouverneurs, située au rocher de Dzaoudzi | SIM |
| PA97600001 | m (commune) | Dzaoudzi | Dzaoudzi | SIM |
| PA97600001 | d (département) | 976 - Mayotte | 976 - Mayotte | SIM |
| PA97600001 | r (région) | Mayotte | Mayotte | SIM |

**Saint-Pierre-et-Miquelon (975)** (1 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA97500001 | n (nome) | Église Notre-Dame des Ardilliers | Église Notre-Dame des Ardilliers | SIM |
| PA97500001 | m (commune) | Miquelon-Langlade | Miquelon-Langlade | SIM |
| PA97500001 | d (département) | 975 - Saint-Pierre-et-Miquelon | 975 - Saint-Pierre-et-Miquelon | SIM |
| PA97500001 | r (région) | Saint-Pierre-et-Miquelon | Saint-Pierre-et-Miquelon | SIM |

**commune arrondissement (Lyon/Paris/Marseille n-e)** (2 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00081326 | n (nome) | Ensemble cathédral Sainte-Marie-Majeure | Ensemble cathédral Sainte-Marie-Majeure | SIM |
| PA00081326 | m (commune) | Marseille 2e Arrondissement | Marseille 2e Arrondissement | SIM |
| PA00081326 | d (département) | 13 - Bouches-du-Rhône | 13 - Bouches-du-Rhône | SIM |
| PA00081326 | r (région) | Provence-Alpes-Côte d'Azur | Provence-Alpes-Côte d'Azur | SIM |
| PA00085783 | n (nome) | Bar-restaurant Au chien qui fume | Bar-restaurant Au chien qui fume | SIM |
| PA00085783 | m (commune) | Paris 1er Arrondissement | Paris 1er Arrondissement | SIM |
| PA00085783 | d (département) | 75 - Paris | 75 - Paris | SIM |
| PA00085783 | r (région) | Île-de-France | Île-de-France | SIM |

**multi-região (r com ';')** (1 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00116558 | n (nome) | Pont Saint-Laurent, sur la Saône | Pont Saint-Laurent, sur la Saône | SIM |
| PA00116558 | m (commune) | Saint-Laurent-sur-Saône;Mâcon | Saint-Laurent-sur-Saône;Mâcon | SIM |
| PA00116558 | d (département) | 01;71 - Ain;Saône-et-Loire | 01;71 - Ain;Saône-et-Loire | SIM |
| PA00116558 | r (région) | Auvergne-Rhône-Alpes;Bourgogne-Franche-Comté | Auvergne-Rhône-Alpes;Bourgogne-Franche-Comté | SIM |

**multi-département (d com ';')** (1 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00095650 | n (nome) | Viaduc du Viaur | Viaduc du Viaur | SIM |
| PA00095650 | m (commune) | Tauriac-de-Naucelle;Tanus | Tauriac-de-Naucelle;Tanus | SIM |
| PA00095650 | d (département) | 12;81 - Aveyron;Tarn | 12;81 - Aveyron;Tarn | SIM |
| PA00095650 | r (région) | Occitanie | Occitanie | SIM |

**região vazia ('' )** (1 registo(s))

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA77000043 | n (nome) | Clos des Ébats | Clos des Ébats | SIM |
| PA77000043 | m (commune) | Fontainebleau | Fontainebleau | SIM |
| PA77000043 | d (département) | 77 - Seine-et-Marne | 77 - Seine-et-Marne | SIM |
| PA77000043 | r (région) |  |  | SIM |


### Complemento (para completar 20 casos)

**commune com 'arrondissement' (complemento)**: PA00085784

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00085784 | n (nome) | Bourse de commerce | Bourse de commerce | SIM |
| PA00085784 | m (commune) | Paris 1er Arrondissement | Paris 1er Arrondissement | SIM |
| PA00085784 | d (département) | 75 - Paris | 75 - Paris | SIM |
| PA00085784 | r (région) | Île-de-France | Île-de-France | SIM |

**nome com apóstrofo reto + commune acentuada**: PA00078084

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00078084 | n (nome) | Église Notre-Dame-de-l'Assomption | Église Notre-Dame-de-l'Assomption | SIM |
| PA00078084 | m (commune) | Chessy-les-Prés | Chessy-les-Prés | SIM |
| PA00078084 | d (département) | 10 - Aube | 10 - Aube | SIM |
| PA00078084 | r (région) | Grand Est | Grand Est | SIM |


### 20.º caso

**nome com espaços duplos internos (prova de não-colapso de espaços)**: PA00088739

| ref | campo | CSV | site | igual? |
|---|---|---|---|---|
| PA00088739 | n (nome) | Hôtel de Sénecterre (ancien) , dit aussi de la Ferté Saint-Nectaire, actuellement  école et ministère de l'artisanat et du commerce | Hôtel de Sénecterre (ancien) , dit aussi de la Ferté Saint-Nectaire, actuellement  école et ministère de l'artisanat et du commerce | SIM |
| PA00088739 | m (commune) | Paris 7e Arrondissement | Paris 7e Arrondissement | SIM |
| PA00088739 | d (département) | 75 - Paris | 75 - Paris | SIM |
| PA00088739 | r (région) | Île-de-France | Île-de-France | SIM |

## Desvios encontrados

**Nenhum desvio de conteúdo.** Na população inteira (46.760 registos × 4 campos = 187.040 comparações) e nas 320 comparações da amostra + casos-limite, não se encontrou uma única diferença — nem de conteúdo, nem de espaços, nem de caixa [C].

Observações menores (sem caráter de desvio de fidelidade):

1. **`d` é composto** `código - nome` (ex.: `69 - Rhône`), não apenas `Departement_en_lettres`. Fiel ao CSV, mas quem assumir que `d` é só o nome verá um prefixo numérico [C].
2. **Valores "sujos" preservados verbatim**, como na fonte [C]: `r` vazio (registos sem região, ex. PA77000043), `r` multi-região `Auvergne-Rhône-Alpes;Bourgogne-Franche-Comté` (PA00116558), `d` multi-departamento `12;81 - Aveyron;Tarn` (PA00095650) e `01;71 - Ain;Saône-et-Loire`. Fidelidade correta; eventuais efeitos nos filtros do site são matéria de outra dimensão [I].
3. **`with_image = 38.857`** no JSON servido, enquanto o `build_dataset.py` (fase A) escreve `with_image: 0` — o ficheiro servido passou por uma fase posterior (imagens Commons) não coberta por este script. Não afeta `i/n/m/d/r` [C]/[I].
4. O `.strip()` das extremidades existe no pipeline mas **não alterou nenhum valor** neste CSV (0 diferenças de espaços) [C]. Espaços duplos internos em `n` (7 registos, ex. PA00088739) foram preservados — não há colapso de whitespace [C].

## Veredicto

**Conformidade: 100%** (população inteira, não amostral). Severidade: **nenhuma** — não há qualquer divergência em `i/n/m/d/r` entre o CSV-fonte e o dataset servido.

- Conjunto de refs: idêntico (46.760 = 46.760, sem duplicados, sem perdas) [C].
- `n`, `m`, `d`, `r`: igualdade de string exata em 100% dos registos, incluindo todos os casos-limite testados (apóstrofos tipográficos e retos, acentos, guillemets, nomes >120 chars, espaços duplos, DOM 971–976, Córsega 2A/2B, arrondissements, multi-região/multi-departamento) [C].
- Normalização: apenas `.strip()` declarado; sem lowercase, sem alteração de caixa, sem colapso de espaços internos — nenhuma perda de informação [C].
- Risco para o site: residual. Os únicos cuidados de apresentação (campo `d` composto, valores vazios/multi-valor em `r`) derivam da própria fonte e são fielmente transmitidos [I].

## Fontes

- CSV-fonte (verdade): `C:\Users\Atelier X\Nextcloud\Documents\00_Website\MonumentosFR\raw\merimee.csv` (delimitador `|`, 78 colunas, 46.760 registos, UTF-8) — lido integralmente em Python.
- Dataset servido: `C:\Users\Atelier X\Nextcloud\Documents\00_Website\MonumentosFR\www\explorer\merimee_data.json` ({total, with_image, with_coords, filters, records[]}) — lido integralmente em Python.
- Pipeline: `C:\Users\Atelier X\Nextcloud\Documents\00_Website\MonumentosFR\tools\build_dataset.py`.
- Dataset original (data.gouv.fr): <https://www.data.gouv.fr/api/1/datasets/r/3a52af4a-f9da-4dcc-8110-b07774dfb3bc> — Ministère de la Culture (France), base Mérimée, Licença Aberta 2.0.
- Nenhum ficheiro em `raw/` ou `www/` foi modificado; auditoria estritamente read-only.
