{
  "authorship": {
    "methodology_credit": null,
    "note": "A metodologia e documentada e verificada computacionalmente no proprio projeto, sem atribuicao autoral individual a Said Tayar.",
    "public_credit": "Concepcao, visualizacao, design e desenvolvimento: Said Tayar / Ockam Design"
  },
  "counts": {
    "both_municipalities": 1094,
    "combined_municipalities": 3551,
    "ead_municipalities": 3524,
    "ead_pairs": 25137,
    "ibge_geocodes": 5573,
    "ibge_vertices": 17908882,
    "presencial_municipalities": 1121,
    "presencial_pairs": 3793
  },
  "dictionary_evidence": {
    "CO_MUNICIPIO": {
      "categories": "(.) Dados de Cursos a distância não calculados para esta dimensão geográfica e/ou Cursos a distância oferecidos por instituição de ensino brasileira no exterior",
      "description": "Código do IBGE do Município do local de oferta do curso",
      "note": ""
    },
    "CO_MUNICIPIO_IES": {
      "categories": "",
      "description": "Código do Município da sede administrativa ou reitoria da IES",
      "note": ""
    },
    "DS_ENDERECO_IES": {
      "categories": "",
      "description": "Endereço da sede administrativa/reitoria da IES",
      "note": ""
    },
    "TP_DIMENSAO": {
      "categories": "1. Cursos presenciais ofertados no Brasil\n2. Cursos a distância ofertados no Brasil\n3. Cursos a distância com dimensão de dados somente a nível Brasil\n4. Cursos a distância ofertados por instituições brasileiras no exterior",
      "description": "Tipo de dimensão geográfica dos cursos presenciais e a distância ofertados no Brasil e também por instituições brasileiras no exterior",
      "note": "Em virtude da estrutura da base da Educação Superior, para os cursos a distância não é possível quantificar o número de cursos, vagas e inscritos por Regiões Geográficas, Unidades da Federação e Municípios."
    },
    "TP_MODALIDADE_ENSINO": {
      "categories": "1. Presencial\n2. Curso a distância",
      "description": "Tipo de modalidade de ensino do curso",
      "note": ""
    }
  },
  "dimension_counts": {
    "modalidade_1_dimensao_1": 34824,
    "modalidade_2_dimensao_2": 673756,
    "modalidade_2_dimensao_3": 11319,
    "modalidade_2_dimensao_4": 450
  },
  "generated_at_utc": "2026-08-14T22:48:07.761013+00:00",
  "per_uf": [
    {
      "municipios_ambos": 6,
      "municipios_combinados": 20,
      "municipios_ead": 20,
      "municipios_presencial": 6,
      "pares_ead": 163,
      "pares_presencial": 16,
      "uf": "AC"
    },
    {
      "municipios_ambos": 15,
      "municipios_combinados": 70,
      "municipios_ead": 69,
      "municipios_presencial": 16,
      "pares_ead": 317,
      "pares_presencial": 50,
      "uf": "AL"
    },
    {
      "municipios_ambos": 37,
      "municipios_combinados": 60,
      "municipios_ead": 57,
      "municipios_presencial": 40,
      "pares_ead": 361,
      "pares_presencial": 84,
      "uf": "AM"
    },
    {
      "municipios_ambos": 6,
      "municipios_combinados": 10,
      "municipios_ead": 9,
      "municipios_presencial": 7,
      "pares_ead": 82,
      "pares_presencial": 23,
      "uf": "AP"
    },
    {
      "municipios_ambos": 56,
      "municipios_combinados": 322,
      "municipios_ead": 322,
      "municipios_presencial": 56,
      "pares_ead": 1638,
      "pares_presencial": 216,
      "uf": "BA"
    },
    {
      "municipios_ambos": 50,
      "municipios_combinados": 147,
      "municipios_ead": 147,
      "municipios_presencial": 50,
      "pares_ead": 936,
      "pares_presencial": 156,
      "uf": "CE"
    },
    {
      "municipios_ambos": 1,
      "municipios_combinados": 1,
      "municipios_ead": 1,
      "municipios_presencial": 1,
      "pares_ead": 121,
      "pares_presencial": 60,
      "uf": "DF"
    },
    {
      "municipios_ambos": 21,
      "municipios_combinados": 70,
      "municipios_ead": 70,
      "municipios_presencial": 21,
      "pares_ead": 605,
      "pares_presencial": 83,
      "uf": "ES"
    },
    {
      "municipios_ambos": 56,
      "municipios_combinados": 111,
      "municipios_ead": 111,
      "municipios_presencial": 56,
      "pares_ead": 881,
      "pares_presencial": 194,
      "uf": "GO"
    },
    {
      "municipios_ambos": 54,
      "municipios_combinados": 134,
      "municipios_ead": 133,
      "municipios_presencial": 55,
      "pares_ead": 731,
      "pares_presencial": 136,
      "uf": "MA"
    },
    {
      "municipios_ambos": 123,
      "municipios_combinados": 490,
      "municipios_ead": 487,
      "municipios_presencial": 126,
      "pares_ead": 2899,
      "pares_presencial": 404,
      "uf": "MG"
    },
    {
      "municipios_ambos": 23,
      "municipios_combinados": 69,
      "municipios_ead": 69,
      "municipios_presencial": 23,
      "pares_ead": 495,
      "pares_presencial": 65,
      "uf": "MS"
    },
    {
      "municipios_ambos": 43,
      "municipios_combinados": 104,
      "municipios_ead": 96,
      "municipios_presencial": 51,
      "pares_ead": 682,
      "pares_presencial": 132,
      "uf": "MT"
    },
    {
      "municipios_ambos": 42,
      "municipios_combinados": 117,
      "municipios_ead": 117,
      "municipios_presencial": 42,
      "pares_ead": 914,
      "pares_presencial": 140,
      "uf": "PA"
    },
    {
      "municipios_ambos": 23,
      "municipios_combinados": 106,
      "municipios_ead": 104,
      "municipios_presencial": 25,
      "pares_ead": 443,
      "pares_presencial": 79,
      "uf": "PB"
    },
    {
      "municipios_ambos": 35,
      "municipios_combinados": 130,
      "municipios_ead": 130,
      "municipios_presencial": 35,
      "pares_ead": 817,
      "pares_presencial": 156,
      "uf": "PE"
    },
    {
      "municipios_ambos": 23,
      "municipios_combinados": 89,
      "municipios_ead": 89,
      "municipios_presencial": 23,
      "pares_ead": 432,
      "pares_presencial": 81,
      "uf": "PI"
    },
    {
      "municipios_ambos": 70,
      "municipios_combinados": 280,
      "municipios_ead": 280,
      "municipios_presencial": 70,
      "pares_ead": 2135,
      "pares_presencial": 244,
      "uf": "PR"
    },
    {
      "municipios_ambos": 39,
      "municipios_combinados": 89,
      "municipios_ead": 89,
      "municipios_presencial": 39,
      "pares_ead": 1379,
      "pares_presencial": 188,
      "uf": "RJ"
    },
    {
      "municipios_ambos": 21,
      "municipios_combinados": 71,
      "municipios_ead": 70,
      "municipios_presencial": 22,
      "pares_ead": 341,
      "pares_presencial": 56,
      "uf": "RN"
    },
    {
      "municipios_ambos": 13,
      "municipios_combinados": 35,
      "municipios_ead": 34,
      "municipios_presencial": 14,
      "pares_ead": 261,
      "pares_presencial": 46,
      "uf": "RO"
    },
    {
      "municipios_ambos": 5,
      "municipios_combinados": 15,
      "municipios_ead": 15,
      "municipios_presencial": 5,
      "pares_ead": 98,
      "pares_presencial": 13,
      "uf": "RR"
    },
    {
      "municipios_ambos": 90,
      "municipios_combinados": 233,
      "municipios_ead": 231,
      "municipios_presencial": 92,
      "pares_ead": 1797,
      "pares_presencial": 229,
      "uf": "RS"
    },
    {
      "municipios_ambos": 60,
      "municipios_combinados": 161,
      "municipios_ead": 158,
      "municipios_presencial": 63,
      "pares_ead": 1158,
      "pares_presencial": 187,
      "uf": "SC"
    },
    {
      "municipios_ambos": 12,
      "municipios_combinados": 48,
      "municipios_ead": 48,
      "municipios_presencial": 12,
      "pares_ead": 222,
      "pares_presencial": 35,
      "uf": "SE"
    },
    {
      "municipios_ambos": 155,
      "municipios_combinados": 477,
      "municipios_ead": 476,
      "municipios_presencial": 156,
      "pares_ead": 4935,
      "pares_presencial": 678,
      "uf": "SP"
    },
    {
      "municipios_ambos": 15,
      "municipios_combinados": 92,
      "municipios_ead": 92,
      "municipios_presencial": 15,
      "pares_ead": 294,
      "pares_presencial": 42,
      "uf": "TO"
    }
  ],
  "point_sensitivity": {
    "centroid_distance_km": {
      "max": 124.29924543635563,
      "median": 4.33706884592145e-05,
      "p95": 6.587178749632522e-05
    },
    "exact_name_mismatches": [],
    "invalid_coordinates": [],
    "normalized_name_mismatches": [],
    "outside": [],
    "representative_point_distance_km": {
      "max": 120.17084490825987,
      "median": 1.9091710443265926,
      "p95": 11.324375886375133
    },
    "scanline_codes": [
      "1100015",
      "1100155",
      "1100320",
      "1101468",
      "1300680",
      "1304237",
      "1400282",
      "1508407",
      "1600303",
      "1600550",
      "1720655",
      "2100808",
      "2102408",
      "2103703",
      "2105351",
      "2201960",
      "2312908",
      "2313559",
      "2600054",
      "2603405",
      "2615805",
      "2901809",
      "2902807",
      "2910057",
      "2933257",
      "3107307",
      "3113404",
      "3130903",
      "3135209",
      "3136959",
      "3144300",
      "3157203",
      "3158003",
      "3203007",
      "3205309",
      "3300100",
      "3304102",
      "3518206",
      "3539202",
      "3547809",
      "4108304",
      "4216909",
      "4302709",
      "4306932",
      "4318507",
      "5003702",
      "5003801",
      "5107859",
      "5207352",
      "5211602",
      "5212600",
      "5213400",
      "5217401"
    ],
    "uf_mismatches": []
  },
  "prohibited_interpretations": [
    "ponto como instituicao, campus, unidade ou polo individual",
    "endereco fisico",
    "quantidade municipal de cursos, vagas ou inscritos EAD",
    "precisao inferior ao municipio"
  ],
  "projection_bounds": [
    -0.3413662378590249,
    -0.3759550995551265,
    0.4088704378273707,
    0.3002823824349205
  ],
  "schema_version": "1.0",
  "software": {
    "pyproj": "3.7.2",
    "pyshp": "3.1.6",
    "shapely": "2.1.2"
  },
  "source_hashes": {
    "course_csv": {
      "md5": "4ada15841c698a47ec19d6cb53ac2c13",
      "path": "/Users/Light/Downloads/microdados_censo_da_educacao_superior_2024/dados/MICRODADOS_CADASTRO_CURSOS_2024.CSV",
      "sha256": "e5033b7713560f199648ab18fd62b7afbf4a68d90bd70d79cc946906f0c0d228"
    },
    "dictionary_xlsx": {
      "path": "/Users/Light/Downloads/microdados_censo_da_educacao_superior_2024/Anexos/ANEXO I - Dicionário de Dados/dicionário_dados_educação_superior.xlsx",
      "sha256": "517023969de7d7387b2aaeb0965e0a84ee6ea6a2d0314e2f63015c9025c3b467"
    },
    "ibge_shapefile": {
      "path": "/private/tmp/esbr2024-science-audit/malha/BR_Municipios_2024.shp",
      "sha256": "679c58184f7dd37597be9da8af622c22c845e30fbfb05ce316d8b73529b8cfe4"
    },
    "ies_csv": {
      "md5": "dbe25e67857aa68b12beaeffa194f53f",
      "path": "/Users/Light/Downloads/microdados_censo_da_educacao_superior_2024/dados/MICRODADOS_ED_SUP_IES_2024.CSV",
      "sha256": "aaa37fb9433d005686616bb9e48c5d7083526fdcc171973e787eed35a2ee349d"
    },
    "municipal_points": {
      "path": "/Users/Light/Downloads/output/municipios_2024_pontos.csv",
      "sha256": "b657ae436061f2b2a9dd20ae5d11024d38e4f5ebb04455798d08820780f668ab"
    },
    "svg": {
      "path": "/private/tmp/esbr2024-v1.0.12-staging/04_mapa_final.svg",
      "sha256": "fcd03618920e4e3df171d28d36af83fe4da066187ac59c189795d0fff3dd5d51"
    }
  },
  "summary": {
    "failed": 0,
    "failed_ids": [],
    "passed": 50,
    "tests_total": 51,
    "warning_ids": [
      "GEO-02"
    ],
    "warnings": 1
  },
  "svg": {
    "marker_counts": {
      "ambos": 1094,
      "ead": 2430,
      "presencial": 27
    },
    "max_projection_delta_px": 0.007005510453320935,
    "modality_errors": [],
    "opacity_errors": [],
    "projection_delta_p95_px": 0.006031936733536766,
    "radius_errors": [],
    "style_errors": [],
    "transform_errors": []
  },
  "tests": [
    {
      "claim": "MD5 do CSV de cursos",
      "dimension": "proveniencia",
      "evidence": "Hash da copia local",
      "expected": "4ada15841c698a47ec19d6cb53ac2c13",
      "id": "HASH-01",
      "observed": "4ada15841c698a47ec19d6cb53ac2c13",
      "status": "pass"
    },
    {
      "claim": "MD5 do CSV de IES",
      "dimension": "proveniencia",
      "evidence": "Hash da copia local",
      "expected": "dbe25e67857aa68b12beaeffa194f53f",
      "id": "HASH-02",
      "observed": "dbe25e67857aa68b12beaeffa194f53f",
      "status": "pass"
    },
    {
      "claim": "Dicionario distingue sede da IES de local de oferta do curso",
      "dimension": "validade_do_construto",
      "evidence": "/Users/Light/Downloads/microdados_censo_da_educacao_superior_2024/Anexos/ANEXO I - Dicionário de Dados/dicionário_dados_educação_superior.xlsx",
      "expected": 5,
      "id": "DIC-01",
      "observed": 5,
      "status": "pass"
    },
    {
      "claim": "CO_MUNICIPIO identifica o municipio do local de oferta",
      "dimension": "validade_do_construto",
      "evidence": "cadastro_cursos/CO_MUNICIPIO",
      "expected": "Definicao explicita de local de oferta",
      "id": "DIC-02",
      "observed": "Código do IBGE do Município do local de oferta do curso",
      "status": "pass"
    },
    {
      "claim": "O dicionario proibe quantificar cursos, vagas e inscritos EAD por municipio",
      "dimension": "limite_de_inferencia",
      "evidence": "cadastro_cursos/TP_DIMENSAO",
      "expected": "Restricao explicita",
      "id": "DIC-03",
      "observed": "Em virtude da estrutura da base da Educação Superior, para os cursos a distância não é possível quantificar o número de cursos, vagas e inscritos por Regiões Geográficas, Unidades da Federação e Municípios.",
      "status": "pass"
    },
    {
      "claim": "Numero de registros da tabela de IES",
      "dimension": "integridade",
      "evidence": "/Users/Light/Downloads/microdados_censo_da_educacao_superior_2024/dados/MICRODADOS_ED_SUP_IES_2024.CSV",
      "expected": 2561,
      "id": "RAW-IES-01",
      "observed": 2561,
      "status": "pass"
    },
    {
      "claim": "CO_IES e unico na tabela de IES",
      "dimension": "integridade",
      "evidence": "Chave CO_IES",
      "expected": 2561,
      "id": "RAW-IES-02",
      "observed": 2561,
      "status": "pass"
    },
    {
      "claim": "Colunas necessarias presentes",
      "dimension": "integridade",
      "evidence": "Cabecalho do CSV de cursos",
      "expected": [],
      "id": "RAW-CUR-00",
      "observed": [],
      "status": "pass"
    },
    {
      "claim": "Numero de registros da tabela de cursos",
      "dimension": "integridade",
      "evidence": "/Users/Light/Downloads/microdados_censo_da_educacao_superior_2024/dados/MICRODADOS_CADASTRO_CURSOS_2024.CSV",
      "expected": 720349,
      "id": "RAW-CUR-01",
      "observed": 720349,
      "status": "pass"
    },
    {
      "claim": "Linhas presenciais: modalidade=1 e dimensao=1",
      "dimension": "reprodutibilidade",
      "evidence": "Recontagem separada",
      "expected": 34824,
      "id": "SEL-01",
      "observed": 34824,
      "status": "pass"
    },
    {
      "claim": "Linhas EAD: modalidade=2, dimensao=2 e municipio informado",
      "dimension": "reprodutibilidade",
      "evidence": "Recontagem separada",
      "expected": 673747,
      "id": "SEL-02",
      "observed": 673747,
      "status": "pass"
    },
    {
      "claim": "Linhas EAD da dimensao 2 sem municipio",
      "dimension": "integridade",
      "evidence": "Recontagem separada",
      "expected": 9,
      "id": "SEL-03",
      "observed": 9,
      "status": "pass"
    },
    {
      "claim": "Pares unicos IES-municipio presenciais",
      "dimension": "reprodutibilidade",
      "evidence": "Chave composta CO_IES+CO_MUNICIPIO",
      "expected": 3793,
      "id": "KEY-01",
      "observed": 3793,
      "status": "pass"
    },
    {
      "claim": "Pares unicos IES-municipio EAD",
      "dimension": "reprodutibilidade",
      "evidence": "Chave composta CO_IES+CO_MUNICIPIO",
      "expected": 25137,
      "id": "KEY-02",
      "observed": 25137,
      "status": "pass"
    },
    {
      "claim": "Municipios com oferta presencial",
      "dimension": "reprodutibilidade",
      "evidence": "Conjunto de CO_MUNICIPIO",
      "expected": 1121,
      "id": "MUN-01",
      "observed": 1121,
      "status": "pass"
    },
    {
      "claim": "Municipios com oferta EAD",
      "dimension": "reprodutibilidade",
      "evidence": "Conjunto de CO_MUNICIPIO",
      "expected": 3524,
      "id": "MUN-02",
      "observed": 3524,
      "status": "pass"
    },
    {
      "claim": "Municipios no mapa combinado",
      "dimension": "reprodutibilidade",
      "evidence": "Uniao dos conjuntos municipais",
      "expected": 3551,
      "id": "MUN-03",
      "observed": 3551,
      "status": "pass"
    },
    {
      "claim": "Municipios com ambas as modalidades",
      "dimension": "reprodutibilidade",
      "evidence": "Intersecao dos conjuntos municipais",
      "expected": 1094,
      "id": "MUN-04",
      "observed": 1094,
      "status": "pass"
    },
    {
      "claim": "Um nome por codigo municipal no CSV",
      "dimension": "integridade",
      "evidence": "Consistencia interna CO_MUNICIPIO-NO_MUNICIPIO",
      "expected": 0,
      "id": "MUN-05",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Uma UF por codigo municipal no CSV",
      "dimension": "integridade",
      "evidence": "Consistencia interna CO_MUNICIPIO-SG_UF",
      "expected": 0,
      "id": "MUN-06",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "QT_CURSO nao e usado como quantidade municipal EAD",
      "dimension": "limite_de_inferencia",
      "evidence": "Restricao do dicionario; o mapa usa somente presenca booleana",
      "expected": "Nao interpretar contagem de cursos por municipio",
      "id": "EAD-SEM-01",
      "observed": {
        "nonzero": 0,
        "rows": 673747,
        "zero": 673747
      },
      "status": "pass"
    },
    {
      "claim": "Conjunto de pares presencial coincide com a origem",
      "dimension": "reprodutibilidade",
      "evidence": "Comparacao de conjuntos, nao apenas de totais",
      "expected": {
        "extra": 0,
        "missing": 0
      },
      "id": "DER-presencial-01",
      "observed": {
        "extra": 0,
        "missing": 0
      },
      "status": "pass"
    },
    {
      "claim": "Quantidade de linhas por par presencial",
      "dimension": "reprodutibilidade",
      "evidence": "Agregacao separada",
      "expected": 0,
      "id": "DER-presencial-02",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Indicador auxiliar de matricula por par presencial",
      "dimension": "reprodutibilidade",
      "evidence": "Campo nao e usado para desenhar o mapa",
      "expected": 0,
      "id": "DER-presencial-03",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Uma coordenada municipal por codigo em presencial",
      "dimension": "integridade_geografica",
      "evidence": "Ausencia de jitter e deslocamentos por IES",
      "expected": 0,
      "id": "DER-presencial-04",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Conjunto de pares EAD coincide com a origem",
      "dimension": "reprodutibilidade",
      "evidence": "Comparacao de conjuntos, nao apenas de totais",
      "expected": {
        "extra": 0,
        "missing": 0
      },
      "id": "DER-EAD-01",
      "observed": {
        "extra": 0,
        "missing": 0
      },
      "status": "pass"
    },
    {
      "claim": "Quantidade de linhas por par EAD",
      "dimension": "reprodutibilidade",
      "evidence": "Agregacao separada",
      "expected": 0,
      "id": "DER-EAD-02",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Indicador auxiliar de matricula por par EAD",
      "dimension": "reprodutibilidade",
      "evidence": "Campo nao e usado para desenhar o mapa",
      "expected": 0,
      "id": "DER-EAD-03",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Uma coordenada municipal por codigo em EAD",
      "dimension": "integridade_geografica",
      "evidence": "Ausencia de jitter e deslocamentos por IES",
      "expected": 0,
      "id": "DER-EAD-04",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Todos os CO_IES derivados existem na tabela de IES",
      "dimension": "integridade",
      "evidence": "Relacionamento CO_IES",
      "expected": 0,
      "id": "KEY-03",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Geocodigos na Malha Municipal 2024",
      "dimension": "integridade_geografica",
      "evidence": "/private/tmp/esbr2024-science-audit/malha/BR_Municipios_2024.shp",
      "expected": 5573,
      "id": "GEO-01",
      "observed": 5573,
      "status": "pass"
    },
    {
      "claim": "Geometrias invalidas segundo OGC/Shapely sao explicitamente registradas",
      "dimension": "qualidade_da_fonte",
      "evidence": "Teste is_valid em implementacao separada sobre a malha oficial",
      "expected": "0 seria ideal; defeitos da fonte nao podem ser ocultados",
      "id": "GEO-02",
      "observed": [
        {
          "code": "5007802",
          "name": "Selvíria",
          "reason": "Hole lies outside shell[-52.1138987 -20.1245774]",
          "repaired_type": "MultiPolygon",
          "uf": "MS"
        }
      ],
      "status": "warning"
    },
    {
      "claim": "Geometrias invalidas admitem reparo topologico valido para a contraprova",
      "dimension": "integridade_geografica",
      "evidence": "Shapely make_valid, sem alterar os arquivos-fonte",
      "expected": 0,
      "id": "GEO-03",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Um ponto para cada geocodigo da malha",
      "dimension": "integridade_geografica",
      "evidence": "municipios_2024_pontos.csv",
      "expected": 5573,
      "id": "PNT-01",
      "observed": 5573,
      "status": "pass"
    },
    {
      "claim": "Correspondencia biunivoca ponto-geometria",
      "dimension": "integridade_geografica",
      "evidence": "Chave codigo IBGE",
      "expected": {
        "sem_geometria": 0,
        "sem_ponto": 0
      },
      "id": "PNT-02",
      "observed": {
        "sem_geometria": 0,
        "sem_ponto": 0
      },
      "status": "pass"
    },
    {
      "claim": "Coordenadas validas e diferentes de 0,0",
      "dimension": "integridade_geografica",
      "evidence": "Faixas geodesicas",
      "expected": 0,
      "id": "PNT-03",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Pontos cobertos pelo proprio poligono municipal",
      "dimension": "integridade_geografica",
      "evidence": "Shapely covers sobre malha oficial baixada novamente",
      "expected": 0,
      "id": "PNT-04",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "UF coerente entre pontos e malha",
      "dimension": "integridade_geografica",
      "evidence": "Comparacao SIGLA_UF",
      "expected": 0,
      "id": "PNT-05",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Nome municipal coerente apos normalizacao",
      "dimension": "integridade_geografica",
      "evidence": "Normalizacao apenas para acentos e pontuacao",
      "expected": 0,
      "id": "PNT-06",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Pontos internos por scanline",
      "dimension": "reprodutibilidade",
      "evidence": "Contagem do metodo declarado",
      "expected": 53,
      "id": "PNT-07",
      "observed": 53,
      "status": "pass"
    },
    {
      "claim": "Todos os municipios mapeados existem na malha",
      "dimension": "integridade_geografica",
      "evidence": "CO_MUNICIPIO versus CD_MUN",
      "expected": 0,
      "id": "PNT-08",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Municipio coerente entre microdados e malha",
      "dimension": "integridade_geografica",
      "evidence": "Comparacao normalizada de nomes",
      "expected": 0,
      "id": "PNT-09",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "UF coerente entre microdados e malha",
      "dimension": "integridade_geografica",
      "evidence": "Comparacao exata de siglas",
      "expected": 0,
      "id": "PNT-10",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Exatamente um marcador visual por municipio combinado",
      "dimension": "integridade_visual",
      "evidence": "/private/tmp/esbr2024-v1.0.12-staging/04_mapa_final.svg",
      "expected": {
        "duplicates": 0,
        "markers": 3551
      },
      "id": "SVG-01",
      "observed": {
        "duplicates": 0,
        "markers": 3551
      },
      "status": "pass"
    },
    {
      "claim": "Sem marcadores ausentes ou inesperados",
      "dimension": "integridade_visual",
      "evidence": "Comparacao com conjuntos rederivados",
      "expected": {
        "missing": 0,
        "unexpected": 0
      },
      "id": "SVG-02",
      "observed": {
        "missing": 0,
        "unexpected": 0
      },
      "status": "pass"
    },
    {
      "claim": "Cores amarela, branca e dividida corretas",
      "dimension": "integridade_visual",
      "evidence": "Inspecao da arvore SVG",
      "expected": 0,
      "id": "SVG-03",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Raio visual uniforme de 3 px",
      "dimension": "integridade_visual",
      "evidence": "Circulos simples",
      "expected": 0,
      "id": "SVG-04",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Sem transparencia nos marcadores",
      "dimension": "integridade_visual",
      "evidence": "fill-opacity ausente ou 1",
      "expected": 0,
      "id": "SVG-05",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Sem transformacoes ou jitter nos marcadores",
      "dimension": "integridade_visual",
      "evidence": "Atributos SVG e uma coordenada municipal",
      "expected": 0,
      "id": "SVG-06",
      "observed": 0,
      "status": "pass"
    },
    {
      "claim": "Projecao recalculada separadamente coincide com o SVG",
      "dimension": "reprodutibilidade",
      "evidence": "pyproj Albers esferico e ajuste recalculado da malha oficial",
      "expected": "<= 0.02 px",
      "id": "SVG-07",
      "observed": 0.007005510453320935,
      "status": "pass"
    },
    {
      "claim": "Classe visual coincide com as modalidades rederivadas",
      "dimension": "integridade_visual",
      "evidence": "presencial, EAD ou ambos",
      "expected": 0,
      "id": "SVG-08",
      "observed": 0,
      "status": "pass"
    }
  ],
  "validated_construct": "Presenca municipal booleana de oferta por modalidade.",
  "validation_scope": "Verificacao documental, computacional, topologica e visual desenvolvida no proprio projeto; nao e auditoria externa, revisao por pares nem certificacao institucional.",
  "verdict": "VALIDACAO COMPUTACIONAL CONCLUIDA COM LIMITES EXPLICITOS"
}