Governança — Catálogo, Qualidade e Linhagem
Catálogo de dados (Unity Catalog)
Cada dataset registrado no Unity Catalog deve ter:
| Campo | Obrigatório | Exemplo |
|---|
name | Sim | silver.sps.purchase_orders |
description | Sim | ”Pedidos de compra normalizados do Sienge” |
domain | Sim | sps |
source_system | Sim | sienge |
source_of_truth | Sim | true / false — único por entidade |
owner | Sim | equipe responsável |
steward | Sim | pessoa responsável pela qualidade |
sensitivity | Sim | public / internal / confidential / restricted |
pii_fields | Se aplicável | lista de colunas PII |
sla_freshness | Sim | ex: “atualizado em até 2h após evento” |
retention_years | Sim | número |
tags | Recomendado | ex: lgpd, financeiro, sienge |
Regras de qualidade por domínio
D1 — SPS (Project Management)
| Entidade | Dimensão | Regra | Severidade |
|---|
purchase_orders | Completude | po_id IS NOT NULL | Erro |
purchase_orders | Completude | project_id IS NOT NULL | Erro |
purchase_orders | Validade | total_value > 0 | Aviso |
purchase_orders | Unicidade | COUNT(po_id) = COUNT(DISTINCT po_id) | Erro |
budget_baseline | Completude | project_id IS NOT NULL AND cost_center IS NOT NULL | Erro |
budget_vs_actual | Consistência | actual_cost <= budget_cost * 1.5 (desvio > 50% = alerta) | Aviso |
construction_reports | Temporalidade | MAX(report_date) > NOW() - INTERVAL 2 DAYS (por obra ativa) | Aviso |
suppliers | Completude | cnpj IS NOT NULL AND name IS NOT NULL | Erro |
D2 — REMS (Gestão Condominial)
| Entidade | Dimensão | Regra | Severidade |
|---|
buildings | Completude | building_id IS NOT NULL AND name IS NOT NULL | Erro |
financial_monthly | Completude | budgeted_amount IS NOT NULL AND actual_amount IS NOT NULL | Erro |
financial_monthly | Temporalidade | MAX(reference_month) >= DATE_TRUNC('month', NOW() - INTERVAL 1 MONTH) | Aviso |
service_orders | Completude | so_id IS NOT NULL AND status IS NOT NULL | Erro |
service_orders | Validade | status IN ('open', 'in_progress', 'completed', 'cancelled') | Erro |
delinquency | Consistência | Referential: unit_id existe em buildings | Erro |
D3 — IM (Inteligência de Mercado)
| Entidade | Dimensão | Regra | Severidade |
|---|
offices_market | Temporalidade | MAX(reference_quarter) >= DATE_TRUNC('quarter', NOW() - INTERVAL 3 MONTHS) | Aviso |
macro_indicators | Completude | incc_monthly IS NOT NULL AND cub_sp IS NOT NULL | Aviso |
offices_market | Validade | vacancy_rate BETWEEN 0 AND 1 | Erro |
offices_market | Validade | asking_price_sqm > 0 | Aviso |
D4 — CIVAS (Avaliação Imobiliária)
| Entidade | Dimensão | Regra | Severidade |
|---|
appraisals | Completude | appraisal_id IS NOT NULL AND property_id IS NOT NULL | Erro |
appraisals | Validade | appraisal_value > 0 | Erro |
pipeline | Consistência | status IN ('proposta', 'aceite', 'em_andamento', 'entregue', 'cancelado') | Erro |
Linhagem de dados (lineage)
Linhagens críticas de nível Gold
[Smart Colliers API] → bronze/rems/smart_colliers/financial_monthly
→ silver/rems/financial_monthly (normalização + dedup)
→ gold/rems/financial_dashboard (agregação mensal por empreendimento)
→ Power BI: Dashboard REMS
[Sienge BULK/Webhook] → bronze/sps/sienge/purchase_orders
→ silver/sps/purchase_orders (normalização + status tracking)
→ silver/sps/budget_vs_actual (join com budget_baseline)
→ gold/sps/project_performance (KPIs custo por projeto)
→ Power BI: Dashboard SPS
→ Agente King (aprovação financeira)
→ Agente Atlas (histórico de CPUs)
[SharePoint Graph API] → bronze/im/sharepoint/offices/
→ silver/im/offices_market (série histórica estruturada)
→ gold/im/market_dashboard (painel de mercado)
→ Power BI: Dashboard IM (publicado para clientes)
[Sienge Webhook SALES_CONTRACT_*] → bronze/sps/sienge/sales_contracts
→ silver/sps/contracts (enriquecido com dados de projeto)
→ gold/cross/ai_feature_store (features para Atlas + Sentinel)
→ Agente Atlas (modelo paramétrico de orçamento)
→ Agente Sentinel (auditoria legal de contratos)
Política de retenção
| Camada | Retenção padrão | Override regulatório |
|---|
| Bronze (estruturado) | 7 anos | LGPD: exclusão sob solicitação |
| Bronze (documentos/blobs) | 7 anos | NR-7: ASO/EPI mínimo 20 anos |
| Silver | 3 anos | CFC: laudos CIVAS 5 anos |
| Gold | 1–2 anos rolling | SOX: dados financeiros 7 anos |
| Dados externos (INCC, CUB) | 5 anos | — |
Checklist de governança — ações para V1
Catálogo de dados
Qualidade de dados
Linhagem
Controle de acesso
Compliance LGPD
Comitê de governança
| Papel | Responsável | Cadência |
|---|
| Data Steward — SPS | A definir (Colliers SPS) | Revisão mensal |
| Data Steward — REMS | A definir (Colliers REMS) | Revisão mensal |
| Data Steward — IM | A definir (Colliers Research) | Revisão trimestral |
| Data Owner — Plataforma | Gabriel Fernandes (Anouk) | Contínuo |
| LGPD Officer | A definir (Colliers Jurídico) | Revisão trimestral |
| Arquiteto de dados | Gabriel Fernandes (Anouk) | Contínuo |
Ver também