docs: revisao das adrs de decomposicao, painel web e escala a zero - #19
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
O que mudou
Por quê
O ADR-0028 terminava negando ser microsserviço. O projeto persegue a definição clássica de
forma pragmática: adota componentização por serviço, canos burros, automação de infraestrutura,
projeto para falha e design evolutivo, e declina organização por capacidade de negócio,
governança poliglota e banco por serviço. A consequência agora afirma a posição e nomeia o
custo, acoplamento pelo schema e migration coordenada entre os seis serviços que alcançam o
banco.
O painel web estava previsto como arquivo estático em CDN, sem processo. Passa a ser aplicação
Rails com processo próprio, cliente da API como qualquer outro, sem alcançar o PostgreSQL.
A escala a zero era promessa sem mecanismo. A documentação do Kubernetes define Job como tarefa
que roda até terminar e para, então alguém precisa criá-lo a cada lote, e nenhum ADR dizia quem.
O ADR-0018 rejeitou broker e o ADR-0021 rejeitou fila, os dois condicionando a entrada a medir
primeiro. KEDA lendo o cursor de revisão cabe nesse histórico, porque continua sendo o mesmo
polling, agora feito pela plataforma em vez da aplicação.
O que saiu deste PR
Havia aqui uma ADR fixando Go nos indexadores. Ela foi retirada porque suas premissas caíram
durante a própria revisão: a consequência "o CI segue rodando só Go" ficou falsa com a chegada
do Rails, e o argumento técnico principal era o ONNX via cgo, que depende do provedor de
embedding local continuar sendo o caminho do self-host.
A escolha de linguagem por serviço volta a ficar em aberto, registrada como tal no status do
ADR-0002.
Pendência que este PR não resolve
O ADR-0026 diz que o servidor MCP é cliente da API sem acesso privilegiado ao armazenamento, e
o ADR-0028 o põe compartilhando o banco. As duas leituras têm consequências opostas para
autenticação, tenant e auditoria, e a decisão fica para um ADR próprio.
Como testar
Auto-review (checklist)