arquitetura (apps): auditoria + testes do modelo RiskJud (node --test) - #1
Merged
Merged
Conversation
Compara a arquitetura contra os 5 fundamentos de "Software Fundamentals Matter More Than Ever" (Matt Pocock), adaptados a um contexto estatico/no-build. Notas: linguagem ubiqua=forte; fatias verticais=forte; TDD=fraco; modulos profundos=forte; ocultacao de informacao=parcial. Achados-chave: matematica juridica calibrada em jurisprudencia (model.mjs) sem nenhum teste, sendo alvo ideal de node --test (puro, deterministico); calculos de dominio vazam da view (index.html) para dentro do modelo; constantes legais (teto ANPD, IBM) cravadas no .mjs em vez de data.json. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018qgnHZkTUK5SR4PRDfm3KA
…rídica calibrada) [A1] O model.mjs do RiskJud é matemática pura e determinística — analisar(params, data) — calibrada contra jurisprudência (675 acórdãos) e exportada a conselho via PDF. Era o alvo de teste mais fácil E mais perigoso do portfólio, e não tinha nenhum teste. Adiciona riskjud/model.test.mjs (7 casos) via o runner nativo do Node — zero deps, sem build, coerente com a filosofia estática do repo: determinismo, teto do Art. 52 (multa satura em R$ 50M), faturamento=0 => multa=0, monotonicidade (maturidade reduz P(vazamento); mais usuários aumenta litígio), efeito do investimento na exposição, e a âncora de calibração (taxa_procedencia sai do data.json). README ganha a seção 'Testes'. Verificado: node --test riskjud/model.test.mjs => 7/7 verde. Um número calibrado trocado por engano no data.json/model.mjs agora quebra o teste. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018qgnHZkTUK5SR4PRDfm3KA
Adiciona .github/workflows/ci.yml que executa 'node --test' — sem install, sem build, coerente com o repo estático. Faz o model.test.mjs do RiskJud virar gate de PR. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018qgnHZkTUK5SR4PRDfm3KA
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.
Auditoria de arquitetura (
AUDITORIA-ARQUITETURA.md) das ferramentas estáticas vs. os 5 fundamentos de Matt Pocock, "Software Fundamentals Matter More Than Ever" (https://www.youtube.com/watch?v=v4F1gFy-hqg), + remediação do achado P0.Remediação
A1 · Testa o
model.mjsdo RiskJud (P0)O
riskjud/model.mjsé matemática pura e determinística (analisar(params, data)), calibrada contra jurisprudência (675 acórdãos) e exportada a conselho via PDF — o alvo de teste mais fácil e mais perigoso do portfólio, e não tinha nenhum. Adicionariskjud/model.test.mjs(7 casos) pelo runner nativo do Node — zero deps, sem build, coerente com a filosofia estática do repo:Cobre: determinismo, teto do Art. 52 (multa satura em R$ 50M),
faturamento = 0 ⇒ multa = 0, monotonicidade (maturidade ↓ risco; mais usuários ↑ litígio), efeito do investimento, e a âncora de calibração (taxa_procedenciavem dodata.json). Um número calibrado trocado por engano agora quebra o teste.READMEganha a seção "Testes".Auditoria — placar
A natureza estática joga a favor de vários fundamentos: Linguagem ubíqua ✅ · Fatias verticais ✅ · TDD 🔴→🟡 · Módulos profundos ✅ · Ocultação 🟡. Cada pasta é uma fatia vertical quase-ideal e
analisar()é um módulo profundo puro. Evidências e checklist no documento.🤖 Generated with Claude Code
https://claude.ai/code/session_018qgnHZkTUK5SR4PRDfm3KA