Skip to content

arquitetura (apps): auditoria + testes do modelo RiskJud (node --test) - #1

Merged
Janilo merged 3 commits into
mainfrom
claude/website-architecture-audit-s5ml9o
Jul 1, 2026
Merged

Janilo merged 3 commits into
mainfrom
claude/website-architecture-audit-s5ml9o

Conversation

@Janilo

@Janilo Janilo commented Jul 1, 2026 •

Copy link
Copy Markdown
Owner

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.mjs do 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. Adiciona riskjud/model.test.mjs (7 casos) pelo runner nativo do Node — zero deps, sem build, coerente com a filosofia estática do repo:

node --test riskjud/model.test.mjs

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_procedencia vem do data.json). Um número calibrado trocado por engano agora quebra o teste. README ganha 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

claude added 2 commits July 1, 2026 04:20
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
@Janilo Janilo changed the title docs: auditoria de arquitetura vs. fundamentos de software (Matt Pocock) arquitetura (apps): auditoria + testes do modelo RiskJud (node --test) Jul 1, 2026
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
@Janilo
Janilo merged commit 987f267 into main Jul 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants