{
  "id": "AUD-R38-AC01",
  "created_utc": "2026-10-30T09:45:31.217834+00:00",
  "scope": "Auditoria cruzada de render/planta/modelo/carpintaria/instalações e publicação.",
  "new_finding_records": 4,
  "affected_current_images": 5,
  "findings": [
    {
      "id": "VIS-R38-001",
      "severity": "ALTA",
      "status": "ERRO_VISUAL_CONFIRMADO",
      "title": "VE6 foi apagado nas duas vistas do jantar",
      "assets": [
        "JA-R38-VG-D-001",
        "JA-R38-VG-N-001"
      ],
      "evidence": "As duas imagens mostram parede opaca na zona assinalada pelo proprietário, atrás da área das poltronas. O vão existe no contrato de arquitetura e não houve decisão para o retirar.",
      "reference": {
        "path": "dados/Dados_Coordenados_R38.json",
        "json_path": "openings[id=VE6]",
        "bbox_m": [
          4.235355338,
          -0.25,
          6.935355338,
          0
        ],
        "width_height_mm": [
          2700,
          2100
        ],
        "sill_mm": 0,
        "leafCount": 2
      },
      "action": "Reemitir dia/noite como v02, com vão de duas folhas restituído, mantendo P4/cristaleira e restantes elementos. Não alterar a planta para legitimar o erro do render.",
      "closure": "Confrontar as novas imagens com o alçado/planta/modelo e a posição do vão; conferir dia/noite, ID/versão e arquivo das v01.",
      "related_existing_findings": [
        "COORD38-09",
        "SITE38-04"
      ],
      "correction_status": "CORRIGIDO_NO_PACOTE_AC01; PUBLICACAO_PENDENTE",
      "technical_execution_closed": false
    },
    {
      "id": "VIS-R38-002",
      "severity": "ALTA",
      "status": "ERRO_VISUAL_CONFIRMADO",
      "title": "Banho comum visto da distribuição não corresponde à S2",
      "assets": [
        "DI-R38-VG-D-001",
        "DI-R38-VG-N-001"
      ],
      "evidence": "No primeiro plano à esquerda, pela porta do banho comum, há uma cuba oval pousada no tampo e frentes horizontais de gavetas. Nas três vistas atuais BC-R38 e no contrato S2 a cuba é sob/encastrada no tampo e o móvel inferior tem duas portas, drawerCount0. A contradição repete-se de dia e de noite.",
      "reference": {
        "path": "dados/Dados_Coordenados_R38.json",
        "json_path": "furniture.bathrooms[id=IS_C].basin",
        "bbox_m": [
          11.15,
          5.55,
          12.15,
          5.95
        ],
        "width_depth_mm": [
          1000,
          400
        ],
        "drawerCount": 0,
        "fronts": "duas portas de abrir",
        "basin_candidate": "Duravit0338490000 sob tampo; referência de estudo"
      },
      "action": "Reemitir as duas vistas da distribuição com o lavatório/móvel S2 visível pela porta, sem mudar os quartos, portas ou iluminação para resolver essa correção.",
      "closure": "A vista pela P8 deve corresponder à mesma peça/cuba das vistas BC e às fichas. Conferir as duas iluminações.",
      "related_existing_findings": [
        "COORD38-09",
        "SITE38-04",
        "COORD38-02"
      ],
      "correction_status": "CORRIGIDO_NO_PACOTE_AC01; PUBLICACAO_PENDENTE",
      "technical_execution_closed": false
    },
    {
      "id": "VIS-R38-003",
      "severity": "MEDIA",
      "status": "INCOERENCIA_DE_APRESENTACAO_CONFIRMADA",
      "title": "Pormenor preservado do hall mostra LED adicional sob a consola",
      "assets": [
        "HA-001"
      ],
      "evidence": "HA-001v4 permanece current/active_proposal e mostra um banho luminoso por baixo da consola no ripado. As novas vistas HA-R38-GAV-D/N não apresentam essa luz. hallStudyR33.mirror.lighting.underside_console_LED diz que esse LED não é incluído e só constitui alternativa após proposta.",
      "reference": {
        "path": "dados/Dados_Coordenados_R38.json",
        "json_path": "hallStudyR33.mirror.lighting.underside_console_LED",
        "text": "Não incluído como obrigatório; alternativa só se desejada após proposta."
      },
      "action": "Qualificar a imagem preservada como referência de acabamento com LED adicional não adotado, ou reemitir sem esse LED. Não alterar a decisão bicolor.",
      "closure": "Legenda/registo devem excluir a luz adicional do esquema atual; qualquer futura adoção exige comando/ponto/driver coordenado.",
      "related_existing_findings": [
        "ELE-13",
        "COORD38-09"
      ],
      "correction_status": "CORRIGIDO_NO_PACOTE_AC01; PUBLICACAO_PENDENTE",
      "technical_execution_closed": false
    },
    {
      "id": "AUD-R38-CARP-HALL-01",
      "severity": "ALTA_DOCUMENTAL",
      "status": "CONFIRMADO_POR_TEXTO_E_CONTRATOS",
      "title": "Nota B01-D1 mantém consola branca e espelho Ø800 incompatíveis com HC01/HM01 atuais",
      "new_specific_evidence": true,
      "existing_related_findings": [
        "COORD38-01",
        "COORD38-08"
      ],
      "type": "INSTRUCAO_DOCUMENTAL_CONTRADITORIA_SEM_ERRO_GEOMETRICO_NOVO",
      "evidence": [
        {
          "path": "dados/Modulos_Carpintaria_R38.json",
          "json_path": "modules[id=B01].notes[1:3]",
          "actual": [
            "Consola brancaHC01 atravessa o biombo e continua no pano sólido. Pequena planta e tabuleiro de chaves preservados.",
            "R26: espelhoHM01 redondo fixoØ800, não retangular nem visitável. Quadro e internet retirados deW33 e alojados no R05da parede oposta. Não repetir o antigo nicho técnico do espelho."
          ]
        },
        {
          "path": "dados/Modulos_Carpintaria_R38.json",
          "json_path": "modules[id=HC01].notes[0]",
          "correct": "Consola1200×280×240,base610/tampo850. G01/G02branco,G03carvalho; fronteira de materiais preservada."
        },
        {
          "path": "dados/Modulos_Carpintaria_R38.json",
          "json_path": "modules[id=HM01]",
          "diameter_mm": 750.0,
          "correct_notes": [
            "EspelhoØ750/centro1550/base1175/top1925. Não é porta nem oculta quadro."
          ]
        },
        {
          "path": "carpintaria/desenhos/svg/264_B01-D1.svg",
          "sheet_number": 264
        },
        {
          "path": "carpintaria/desenhos/Caderno_Carpintaria_Coordenada_R38.pdf",
          "PDF_page_1based": 270,
          "total_PDF_pages": 354
        }
      ],
      "affected_paths": [
        "dados/Modulos_Carpintaria_R38.json",
        "carpintaria/fontes/Modulos_Carpintaria_R38_Fonte.json",
        "carpintaria/desenhos/svg/264_B01-D1.svg",
        "carpintaria/desenhos/Caderno_Carpintaria_Coordenada_R38.pdf"
      ],
      "CAD_notes_present": false,
      "CAD_paths_checked": [
        "carpintaria/desenhos/Carpintarias_Coordenadas_R38_mm.dxf",
        "carpintaria/desenhos/cad_modulos/B01_R38_mm.dxf"
      ],
      "correction": "Reemitir nota B01-D1 para remeter a HC01 bicolor (G01/G02 branco; G03 carvalho) e HM01 Ø750, centro1550/base1175/top1925; preservar geometria e histórico R38.",
      "closure_criteria": "Fonte, cópia, SVG e folha PDF substitutiva consistentes; retirar nota contraditória da seleção atual. Sem libertar ferragens/fabrico por esta correção.",
      "correction_status": "CORRIGIDO_NO_PACOTE_AC01; PUBLICACAO_PENDENTE",
      "technical_execution_closed": false
    }
  ],
  "metadata_observations": [
    {
      "id": "META-PAN",
      "severity": "BAIXA_METADADOS",
      "actual": "floors[id=PAN].name=Despenseiro",
      "current_use": "Módulo PANTRY é Casacos e mochilas; plantaARQ01 mostra CASACOS.",
      "recommendation": "Atualizar o nome descritivo sem renumerar o ID histórico PAN/PANTRY; não é mudança geométrica."
    },
    {
      "id": "META-AREA-SU",
      "severity": "BAIXA_METADADOS_HISTORICOS",
      "actual_areasR32_m2": 4.617,
      "current_floor_m2": 4.5927,
      "explanation": "A área herdada R32 é4.617; a face húmida atualP5 emX1.84 dá4.5927. PlantaARQ02 mostra4.59 corretamente.",
      "recommendation": "Marcar areasR32 como histórico ou criar mapa corrente a partir dos polígonos, sem tratar este valor antigo como área de obra."
    }
  ],
  "coverage": {
    "current_images_visually_reviewed": 44,
    "individual_fullsize_views": 19,
    "all_image_records_metadata_checked": 94,
    "modules": 73,
    "fronts": 123,
    "openings": 19,
    "physical_points": 60,
    "program_points": 197,
    "circuits": 33,
    "groups": 37,
    "commands": 23,
    "DXF_native_dimensions_recomputed": 1322,
    "PDF_pages_text_extracted": 440,
    "technical_checks_passed": 298,
    "site_pages_read": 19,
    "current_public_WebP_hashes_checked": 44
  },
  "source_hashes": {
    "global_R38": "7bd57104fc7e83f44fd0456d4d6b47575b41f46cd67808b1fc02a70a5be9978b",
    "registry_R38": "ae597409e8265628db3ac80f1dc95523d1af492ba8b1419a97b502b6b337faf1",
    "modules_R38": "00dd33a20bb839c50f142491ba459daafedf35914412f7c526505fbcb56c097a"
  },
  "limits": [
    "Nenhum ficheiro originalR38/ZIP foi alterado.",
    "Não houve visita ao site pelo navegador nesta subauditoria.",
    "Os20contextos e30históricos só tiveram metadados verificados; não foram julgados como projeto atual.",
    "Renders gerados sem parâmetros de câmara não provam cotas, folgas, circulação, inclinações, ligação hidráulica, comportamento de ferragens, IP ou conformidade normativa.",
    "Produtos/marcas exatos não podem ser certificados por aparência nos renders; o contrato e manuais continuam autoridade.",
    "Registo de erro visual confirmado não fecha nenhum dos65achados técnicos.",
    "As 440 páginas foram percorridas por extração de texto em 3 ficheiros PDF; não é revisão visual de cada folha nem de toda a composição.",
    "Renders não foram auditados visualmente por este agente.",
    "Não constitui cálculo estrutural, levantamento métrico em obra, aprovação de fabricante, nem demonstração de conformidade legal.",
    "A correspondência dos ficheiros não prova exequibilidade; os65achados preexistentes continuam sujeitos às suas condições.",
    "Não foi feita publicação nem edição de dados ou de peças R38.",
    "A leitura HTML de19páginas e hashesWebP44 não é ensaio integral do browser ou de todos os links.",
    "Os65achados prévios mantêm os seus estados/condições. Estes4registos são detalhes ligados a interfaces já auditadas, não quatro defeitos independentes adicionais certificados.",
    "Não foi feita inspeção de obra, cálculo de especialidades nem revisão visual de todas as440páginas PDF."
  ],
  "false_positives_rejected": [
    {
      "assets": [
        "SA-R38-VG-D-001",
        "SA-R38-VG-N-001"
      ],
      "status": "SEM_ERRO_CONFIRMADO_DE_ORIENTACAO",
      "note": "A TV na parede S e o AC na parede E são perpendiculares no global e isso é compatível com as imagens. A ausência de VE6 no enquadramento SA não prova que foi removido: pode estar fora da câmara. Sem matriz/extrínsecos da câmara não se certifica toda a posição do sofá a partir desta perspetiva; não registar sofá rodado como erro confirmado."
    },
    {
      "assets": [
        "BS-R38-AR-001"
      ],
      "status": "SEM_ERRO_CONFIRMADO_DE_FERRAGEM",
      "note": "Há calhas superior/inferior visíveis e as frentes deslizantes estão removidas/afastadas para expor interior. Não são portas batentes comprovadas, ao contrário de uma primeira hipótese na prancha reduzida."
    },
    {
      "assets": [
        "LA-R38-DP-D-001"
      ],
      "status": "PROPORCOES_METRICAS_NAO_CERTIFICADAS_POR_IMAGEM",
      "note": "A altura aparente da gaveteira/janela exige render equivalente a partir do modelo, se for necessária prova visual de1500/1700mm. A perspetiva livre não permite declarar cota diferente por medição de pixels."
    }
  ],
  "existing65_still_require_validation": true,
  "publication_executed": false
}
