Registros de Decisão de Arquitetura (ADR)
Cada decisão relevante de dados vira um arquivo aqui, numerado em ordem.
Formato: NNNN-titulo-no-imperativo.md — ex.: 0001-adotar-postgres-como-banco-principal.md
Decisões em aberto
Levantadas na fase de entendimento do domínio, ainda sem ADR escrito:
| # | Decisão | Por que trava as outras |
|---|---|---|
| 2 | De onde vem o censo de conselhos | Sem denominador independente do DOU, o indicador de silêncio não fecha |
| 3 | Como classificar a tipologia automaticamente — regras, classificador clássico ou LLM local | É o valor científico do projeto; temos 215 exemplos rotulados para medir |
| 4 | Onde mora a camada analítica — Postgres+Parquet/DuckDB ou lakehouse completo | Critério de desempate é operacional: o que a pesquisadora consegue subir sozinha |
| 5 | Formato da camada de consumo | Define o que entregamos como produto final |
| 6 | Quais bases enriquecem o modelo analítico — cadastro de órgãos (SIORG), marcos legais e de governo, Brasil Participativo (proposta) | Sem elas, a E3 não tem as dimensões nem a dimensão de variação lenta que o checklist pede |
Índice
| # | Decisão | Status |
|---|---|---|
| 0001 | O OLTP do projeto é o sistema de curadoria, com classificação insert-only | proposto |
| 0002 | O OLTP de curadoria continua em PostgreSQL 16 | proposto |
| 0003 | A planilha da pesquisadora entra no OLTP como rótulo da curadoria, lida só com a biblioteca padrão | proposto |
| 0004 | A identidade de um conselho sai de uma chave normalizada mais decisões registradas, nunca de similaridade de texto | proposto |
| 0005 | Ingerir atos de conselho do DOU no OLTP e propagar ao Delta Lake por CDC lógico | proposto |
| 0006 | Armazenar a camada analítica em tabelas Delta particionadas por ano e comprimidas com zstd | proposto |
| 0007 | Propagar mudanças do OLTP ao Delta por slot de replicação lógica, sem Kafka | proposto |