Skip to main content
Glama
README.md
# Atualização de créditos judiciais e não judiciais

Servidor MCP que atualiza um crédito pela régua normativa aplicável a **cada
trecho** do período e devolve a memória de cálculo mês a mês, com o índice-fonte
de cada linha e a data em que ele foi coletado. Serve para instruir cumprimento
de sentença e para impugná-lo.

## O risco que este acervo trata

Cada base tem um risco próprio: na jurisprudência é a proveniência; na
legislação, a vigência; no diário oficial, a republicação. **Aqui é o regime.**

Um crédito de 2010 cobrado hoje atravessa, no mínimo, cinco réguas: Lei
11.960/2009 → Tema 810/STF → EC 113/2021 → Lei 14.905/2024 → EC 136/2025. Um
cálculo com índice único do começo ao fim está errado por construção, e sai
impecável, formatado, com centavos.

Medido neste projeto, sobre R$ 100.000,00 de 31/01/2010 a 31/07/2026:

| conta | total | diferença |
|---|---:|---:|
| régua correta (condenação administrativa) | 544.048,06 | — |
| IPCA-E do começo ao fim, ignorando a EC 113 | 512.627,71 | −31.420,35 |
| TR mantida apesar do Tema 810 | 231.871,99 | −312.176,07 |
| crédito administrativo tratado como tributário | 322.628,28 | −221.419,78 |
| sem consolidar o débito na entrada da Selic | 460.951,33 | −83.096,73 |

## Fontes

**Com API.** Banco Central (SGS): Selic acumulada mensal (4390), Selic meta
(4189), IPCA (433), IPCA-15 (7478), INPC (188), TR (226), poupança regra nova
(195) e regra anterior (25), IGP-M (189). IBGE (SIDRA): IPCA (tabela 1737) e
IPCA-15 (3065), com variação mensal **e número-índice**.

O IBGE não é redundância do BCB: é a conferência independente dele. As duas
fontes são comparadas competência a competência, e a divergência é gravada como
dado. Hoje: **0 competências divergentes**.

**Sem API — espelhadas.** TJRJ (CGJ, PDF), TRF-2 (via CJF/SICOM, XLSX) e TRT-1
(via Tabela Única do CSJT, PDF) publicam os fatores acumulados. `coletar_tabelas.py`
baixa e interpreta as oito tabelas; `conferir_tabelas.py` compara o motor com
elas.

### Conferência contra as tabelas oficiais

| tribunal | correção monetária | Selic acumulada |
|---|---|---|
| CJF / TRF-2 | **0,0000%** | **0,0000 p.p.** |
| TJRJ | ±0,009% (arredondamento do fator publicado) | **0,0000 p.p.** |
| CSJT / TRT-1 | 0,0000% em 3 de 4 pares; −0,735% em um | — |
| CJF desapropriações | −0,14% a −1,08% | — |

Desapropriação tem regime próprio, ainda não implementado; a divergência ali é
esperada e está declarada.

### As convenções, medidas e não deduzidas

A lei é a mesma para todos; a convenção da tabela, não. O que foi apurado:

- **Defasagem de um mês.** Os três tribunais aplicam, no mês corrigido, o índice
  divulgado para o mês anterior. Com defasagem 1 o desvio cai de ~0,7% para
  0,000%; sem ela, todo cálculo sai sistematicamente alto.
- **O CJF inclui o mês da data-base; o TJRJ, não.** Com essa combinação a Selic
  acumulada do CJF é reproduzida com desvio zero em todas as competências.
- **Virada da Lei 11.960:** o TJRJ aplica IPCA-E a partir de 30/06/2009; o CJF,
  a partir de 07/2009.
- **Três recortes da mesma Selic**, todos reproduzidos com desvio zero: o CJF
  acumula de (C−1) ao penúltimo mês, inclusive; o CSJT, de C ao penúltimo mês,
  inclusive; o TJRJ, de (C+1) ao último mês. A norma é uma só; a conta, não.
- **EC 136/2025 — a divergência que muda o valor:** o CJF encerrou a Selic em
  08/2025 e **retomou o IPCA-E em 09/2025**; o TJRJ **manteve a Selic**, e o
  rodapé da tabela dele segue dizendo "a partir de 12/2021, taxa Selic". Para o
  mesmo crédito, hoje, os dois tribunais dão números diferentes. Por isso o
  parâmetro `tribunal` não é detalhe de forma.

## Armadilhas medidas, e o que se fez com elas

- **O SGS devolve HTTP 200 com página de erro XHTML** quando a janela é grande
  demais para série diária. O coletor detecta o corpo e bisseca a janela; quem
  só olhar o status perde a série inteira.
- **A série 195 da poupança começa em 04/05/2012**, e os juros da Lei
  11.960/2009 correm desde 2009. Por isso a série 25 (regra anterior) também é
  coletada, e a busca por competência não procura o dia 1º — que não existe no
  mês da virada.
- **O IBGE tem um "IPCA-E" próprio (agregado 117), série encerrada.** O que os
  tribunais chamam de IPCA-E é o IPCA-15. Coletar o 117 pelo nome é erro
  silencioso.
- **A EC 136/2025 substituiu o art. 3º da EC 113/2021**, que passou a tratar só
  de requisitórios federais. O critério das condenações a partir de 10/09/2025 é
  questão aberta, e o servidor a declara em vez de escolher.

## Uso

```bash
python coletar_bcb.py && python coletar_ibge.py && python construir_acervo.py
python -m pytest tests -q
python medir.py
```

Servidor: `python -m atualiza`.

Ferramentas: `regra_aplicavel` (chame antes de calcular), `atualizar_credito`,
`conferir_calculo`, `consultar_indice`, `cobertura_do_acervo`.

## Impugnação ao cumprimento de sentença

`conferir_calculo` recalcula o crédito e apura o excesso, mas o que interessa é
o passo seguinte: ela submete o número do exequente a **doze erros típicos** —
índice único ignorando a EC 113, TR depois do Tema 810, Selic somada a juros,
natureza do crédito trocada, convenção de outro tribunal, defasagem ausente — e
verifica qual deles reproduz aquele valor. Quando um reproduz, a impugnação
deixa de ser "o valor está alto" e passa a ser uma tese com prova aritmética.

Três recusas deliberadas, porque uma ferramenta que sempre encontra culpado não
serve para peça:

- se a conta apresentada coincide com a apurada, **não há causa a apontar**;
- se mais de uma hipótese reproduz o número, a causa **não está demonstrada** —
  hipóteses distintas convergem, e a resposta diz isso em vez de eleger a mais
  próxima;
- se nada reproduz, a resposta recomenda **pedir a memória discriminada** antes
  de afirmar excesso.

A saída traz sempre o `valor_que_se_entende_correto`, que é a exigência do
art. 525, § 4º, do CPC.

## Extensão do Claude (.mcpb)

```bash
python empacotar_mcpb.py
```

Gera `dist/atualizacao-monetaria.mcpb` (~46 MB), com o acervo e as dependências
para Python 3.12, 3.13 e 3.14 — o Claude Desktop não instala nada, só executa o
que está dentro, e `pydantic_core` é binário compilado que não atravessa
versões. Instala-se arrastando o arquivo para Configurações → Extensões.

Se o Python que o Claude encontrar primeiro não servir, fixe outro:

```bash
python empacotar_mcpb.py --python C:\Python313\python.exe
```

`tests/test_mcpb.py` não se contenta em conferir o zip: **sobe o servidor a
partir do build e fala MCP com ele** por stdio, listando as ferramentas e
chamando uma que lê o acervo embarcado. Um pacote com dependência faltando ou
com `mcp` na versão 2 compacta e instala igual, e só falha na primeira pergunta
do usuário.

Ressalva desta build: o validador oficial do manifesto **não pôde ser
executado** — o npm desta máquina está quebrado ("Could not determine Node.js
install directory"). O manifesto tem estrutura idêntica à de um pacote já
instalado com sucesso, mas isso é indício, não validação.

## Conector do ChatGPT

```bash
python -m atualiza --http --porta 8768
```

`Dockerfile` e `render.yaml` estão prontos; o passo a passo da publicação, com
as variáveis que só existem depois do primeiro deploy, está em
[HOSPEDAGEM.md](HOSPEDAGEM.md). O transporte remoto acrescenta OAuth e as
ferramentas `search`/`fetch` que o ChatGPT exige, **sem tocar** nas funções de
cálculo já testadas — `atualiza/remoto.py` registra as mesmas funções de
`servidor.py`.

## Limites declarados

- **Informe sempre o `tribunal`** quando o cálculo for para um processo. Sem
  ele, o motor usa as datas das normas, sem defasagem, e diverge da conta do
  juízo.
- No regime **trabalhista**, o motor aplica uma defasagem única a todos os
  índices, mas o CSJT usa defasagem de 1 mês na correção e nenhuma na Selic.
  Enquanto o modelo não separar as duas, a fase judicial pode divergir da
  tabela; a pré-judicial confere.
- **Desapropriação** tem regime próprio, ainda não implementado.
- O § 1º do art. 3º da EC 113 na redação da EC 136/2025 impõe a **Selic como
  teto** do período; o motor ainda não apura esse teto.
- A taxa legal do art. 406 do CC não está confirmada contra a divulgação oficial
  do BCB e **não alimenta cálculo algum**.
- Antes de 2000 o motor não reproduz a correção: IPCA-E e IPCA-15 não alcançam,
  e os indexadores antigos (ORTN, OTN, BTN, UFIR) só existem nas tabelas. Para
  crédito anterior, use o fator publicado.
- Marcos normativos conferidos na fonte primária, e tabelas coletadas, em
  05/08/2026.