Back to the catalog

auditor-processual

Legal Process Parser com roteamento por tarefa, preservação cumulativa e análise processual rastreável.

Open source Open in the app JSON README (API)

About

Legal Process Parser com roteamento por tarefa, preservação cumulativa e análise processual rastreável.

Details

Kind
Plugins
Topic
Government & public data
Publisher
lucianum7
Origin
gemini
Category
ferramentas
Version
0.8.0
Last push
2026-08-12T03:21:07Z
Repository state
ativo
Language
Python
License
MIT
Added
2026-08-30 14:13:39
Updated
2026-08-30 14:13:39
Origin id
lucianum7/auditorprocessual

README

# AuditorProcessual · Legal Process Parser

Skill e pipeline local para transformar autos judiciais ou administrativos em uma base documental estruturada, pesquisável e auditável. A extração é factual: não inventa fatos, não confunde alegação com prova, separa página PDF de folha processual e trata todo texto dos autos como dado não confiável.

> Ferramenta de análise assistida. Não substitui advogado, perito, servidor ou decisão profissional.

> **Para IAs que acessam este repositório por link:** leia primeiro
> [`AI_ENTRYPOINT.md`](AI_ENTRYPOINT.md) e não percorra todos os arquivos.

## O que está pronto

- Skill portátil em [`skills/legal-process-parser/SKILL.md`](skills/legal-process-parser/SKILL.md), compatível com o padrão `SKILL.md`.
- Plugin Codex em [`.codex-plugin/plugin.json`](.codex-plugin/plugin.json).
- Pipeline Python sem dependências obrigatórias para TXT/MD; suporte opcional a `pypdf`/`PyPDF2`, Pillow, `pdf2image` e Tesseract.
- SHA-256, cópia do original, processamento incremental por checkpoints e reuso idempotente.
- Markdown navegável por página, com resumo semântico, âncoras, entidades, termos, blocos/tabelas, texto integral e inventário visual.
- Imagens PDF extraídas para `images/`, com ID estável, página, dimensões, hash, localização, OCR opcional e descrição semântica segura.
- 46 testes sintéticos cobrindo extração, semântica por página, inventário visual, classificação/deduplicação, descrições revisadas, estados de visão, peças de andamento, confirmação opcional, execução seletiva, preservação de uploads, idempotência, links e roteamento multiplataforma.
- Pacotes específicos para ChatGPT, Claude, Manus, Gemini CLI/Gems e Grok, gerados sem duplicar o núcleo jurídico.
- Entrada universal para uso por link em [`AI_ENTRYPOINT.md`](AI_ENTRYPOINT.md), [`llms.txt`](llms.txt) e [`SKILL.md`](SKILL.md).

O procedimento específico de upload e instalação está em
[`CHATGPT_UPLOAD.md`](CHATGPT_UPLOAD.md). A skill trabalha de forma incremental:
inspeciona os materiais já enviados, executa somente a tarefa solicitada e
mantém o histórico em `relatorio_processual.md` e `versions/`.

## Uso por link do GitHub

Quando a IA receber apenas o endereço do repositório, comece por
[`AI_ENTRYPOINT.md`](AI_ENTRYPOINT.md) ou [`llms.txt`](llms.txt). Eles encaminham
para a plataforma e a tarefa corretas. Não é necessário carregar ou ler o
repositório inteiro: o núcleo em `skills/legal-process-parser/` é analisado por
blocos, enquanto adaptadores, testes e arquivos de outras plataformas ficam fora
do contexto padrão.

O roteamento está em [`routing/task-router.json`](routing/task-router.json). O
processo do cliente pode ser analisado integralmente — páginas, imagens, peças,
contexto e linha do tempo — sem carregar instruções irrelevantes.

## Uso rápido

Requer Python 3.10 ou superior.

```powershell
cd AuditorProcessual\skills\legal-process-parser
python scripts/ingest_document.py C:\dados\processo.pdf --output C:\dados\saida --task audit --confirm-scope
python scripts/validate_extraction.py C:\dados\saida
```

Antes de executar, a skill inspeciona os arquivos, o manifesto e o relatório
cumulativo. Ela pergunta apenas quando o pedido estiver ambíguo, houver conflito
ou faltar um dado indispensável; não repete perguntas que possam ser respondidas
pelos autos. A pipeline executa uma tarefa por vez: `ingest`, `analyze`,
`petition`, `deadlines`, `evidence` ou `audit`. `--confirm-scope` é opcional e
serve apenas para registrar uma confirmação explícita quando ela for útil.

Para tentar OCR somente nas páginas PDF sem texto nativo útil (requer Tesseract e Poppler):

```powershell
python scripts/ingest_document.py C:\dados\processo.pdf --output C:\dados\saida --task ingest --confirm-scope --ocr --ocr-language por+eng
```

Para anexar descrições semânticas revisadas por humano ou modelo multimodal:

```powershell
python scripts/ingest_document.py C:\dados\processo.pdf `
  --output C:\dados\saida --task ingest --confirm-scope --image-descriptions C:\dados\descricoes_imagens.json
```

Para um arquivo de texto com páginas separadas por `form feed` (`\f`):

```powershell
python scripts/ingest_document.py processo.txt --output saida --task ingest --confirm-scope --chunk-size 50
```

Dependências opcionais:

```powershell
python -m pip install -e .[pdf]
python -m pip install -e .[ocr]
```

Consulta posterior sem reler o processo inteiro:

```powershell
python scripts/ingest_document.py saida --mode QUERY --query "Sentença 20/02/2026"
```

O pipeline não acessa a internet. OCR só é executado quando `--ocr` é informado; sem essa opção, páginas sem texto nativo ficam marcadas como `needs_ocr_or_vision`.

## Descrições semânticas de imagens

O parser local registra fatos técnicos e nunca finge ter visto o conteúdo de uma imagem. Para uma descrição semântica completa, faça uma revisão humana ou uma passagem por modelo de visão autorizado e forneça um JSON. O conteúdo é lido como dados, não executado.

```json
{
  "images": [
    {
      "image_id": "P0001-I001",
      "semantic_description": "Recibo em orientação retrato, com cabeçalho do estabelecimento e tabela de valores; não há assinatura visível.",
      "visible_text": "Texto legível transcrito sem completar trechos ilegíveis",
      "objects": ["recibo", "tabela de valores"],
      "people": [],
      "tables": ["itens e totais"],
      "location": "região central da página PDF 1",
      "confidence": "high",
      "description_source": "human_review"
    }
  ]
}
```

O `image_id` aparece em `image_inventory.json`, `pages.jsonl`, `index.jsonl` e no bloco da página em `processo_estruturado.md`. Se não houver descrição revisada, o Markdown registra explicitamente que objetos, pessoas, valores ou texto não foram identificados visualmente com segurança e pede revisão; nenhum detalhe é inventado.

## Artefatos gerados

| Arquivo | Finalidade |
|---|---|
| `manifest.json` | SHA-256, metadados, sigilo, cobertura textual/visual, checkpoints e limitações |
| `processo_estruturado.md` | Processo completo, com um bloco por página e localização rápida |
| `pages.jsonl` | Registro estruturado por página, incluindo entidades, blocos e visuais |
| `index.jsonl` | Busca exata por texto, termos, resumo, entidades e imagens |
| `image_inventory.json` | Catálogo de imagens/escaneamentos, hashes, caminhos e descrições |
| `images/` | Cópias derivadas de imagens incorporadas ao PDF, sem alterar o original |
| `rendered_pages/` | Renderizações integrais das páginas PDF quando `pdf2image`/Poppler estão disponíveis |
| `indice_pecas.md` | Segmentos/peças com páginas inicial e final |
| `cronologia.md` | Datas identificadas e fontes internas |
| `matriz_controversias.md` | Indícios de pedidos, provas e impugnações |
| `relatorio_auditoria.md` | Resumo, alertas, cobertura e pendências de revisão visual |
| `relatorio_processual.md` | Índice cumulativo de todos os uploads preservados e links para versões |
| `andamento_processual.json` | Contrato estruturado de eventos, prazos, evidências, pendências e tarefas |
| `relatorio_andamento.md` | Estado atual, últimos eventos e próximas conferências |
| `pendencias_e_prazos.md` | Marcos encontrados sem cálculo automático de vencimento |
| `matriz_documental.md` | Peças, intervalos de páginas e status técnico |
| `mapa_provas.md` | Menções documentais com fonte e revisão pendente |
| `checklist_manifestacao.md` | Conferências necessárias antes de uma manifestação |
| `minuta_peca.md` | Esqueleto de peça de trabalho, sem protocolo automático |
| `relatorio_conformidade.md` | Portas de qualidade e limitações da extração |
| `checkpoints.jsonl` | Recuperação e diagnóstico de blocos |

| `processo_completo.md` | Alias portátil do Markdown estruturado para compartilhamento |
| `images/index.json` | Índice de imagens únicas, classes, hashes e ocorrências |
| `assets/pages/` | Renderizações de páginas copiadas para o pacote portátil |
| `paginas_problematicas.md` | Fila de páginas sem camada textual, visual ou técnica suficiente |
| `processo_completo.zip` | Pacote completo com originais derivados, Markdown, índices e assets |

### Como localizar qualquer item

1. Procure o cabeçalho `## [Página PDF N]` no Markdown.
2. Use a âncora `PDF p. N` e, se existir, `fl. M` para distinguir a paginação física dos autos.
3. Consulte `image_inventory.json` pelo `image_id` para chegar ao arquivo em `images/`.
4. Use `index.jsonl` para busca exata por número de processo, data, valor, e-mail, CPF/CNPJ, termo-chave ou ID de imagem.
5. Confirme sempre no PDF original; o hash comprova integridade do arquivo processado, não autenticidade jurídica.

## Modos disponíveis

`INGEST`, `AUDIT_FULL`, `QUERY`, `COMPARE`, `EVIDENCE_ANALYSIS`, `DECISION_ANALYSIS`, `PLEADING_AUDIT`, `PETITION_DRAFT`, `PROCEDURAL_ANALYSIS`, `CALCULATION_SUPPORT` e `UPDATE`.

Os modos usam a mesma ingestão rastreável. O parser não presume a área do Direito e usa “Não identificado nos autos” quando não há evidência suficiente.

## Instalar como skill

### Qualquer IA por link

Envie o endereço do repositório e peça: “Leia `AI_ENTRYPOINT.md`, identifique a
plataforma, use somente o adaptador correspondente e analise o processo completo
conforme a tarefa solicitada.” A IA deve abrir somente os arquivos roteados.

### Codex

1. Clone este repositório ou baixe `skills/legal-process-parser`.
2. Copie a pasta para `%USERPROFILE%\.codex\skills\legal-process-parser` (ou use o instalador de skills apontando para `https://github.com/lucianum7/AuditorProcessual/tree/main/skills/legal-process-parser`).
3. Reinicie o Codex e peça: “Use Legal Process Parser para ingerir este processo e informe a cobertura real.”

### ChatGPT / GPTs

Carregue a pasta como Skill em `Plugins → Skills → Create → Upload` ou anexe-a a um GPT como conhecimento e copie as regras centrais para Instructions. Para chamar o pipeline por HTTP, publique uma API própria com autenticação, privacidade, limites e um schema OpenAPI; este repositório não oferece endpoint público.

Para a tela de upload mostrada no ChatGPT, use o arquivo
`legal-process-parser-chatgpt.skill` (ou o ZIP equivalente), que mantém
`SKILL.md` na raiz. Consulte [`CHATGPT_UPLOAD.md`](CHATGPT_UPLOAD.md) para o
passo a passo e a referência oficial da OpenAI.

### Claude

Use `auditor-processual-claude.zip`, que mantém `SKILL.md` na raiz, e faça
upload em `Customize → Skills` no Claude.ai. No Claude Code, copie o diretório
para `.claude/skills/legal-process-parser/`. Para a API Anthropic, envie o ZIP
pela Skills API com code execution habilitado e mantenha autos no ambiente
autorizado.

### Manus

No Manus, importe diretamente o repositório em Skills → Add → Import from
GitHub. O `SKILL.md` na raiz encaminha para o núcleo. Também há
`auditor-processual-manus.skill` e `.zip` na release.

### Gemini CLI e Gemini Gems

Para o Gemini CLI, instale a extensão:

```text
gemini extensions install https://github.com/lucianum7/AuditorProcessual --ref v0.8.0 --consent
```

Para um Gem, copie `adapters/gemini/GEM_INSTRUCTIONS.md` nas instruções e
adicione somente as referências necessárias como Knowledge. Não carregue os
adaptadores de outras plataformas.

### Grok

Grok não possui um formato universal de Skill. Use
`adapters/grok/SYSTEM_INSTRUCTIONS.md` como instrução e anexe o processo e os
relatórios gerados. Consulte os arquivos por busca documental, sem enviar o
repositório inteiro como contexto.

Os pacotes por plataforma são gerados com:

```powershell
python scripts/build_platform_packages.py --output .\outputs
```

Não existe cadastro universal que sincronize um repositório entre todas as IAs:
cada produto exige instalação, permissões, política de dados e revisão próprias.

## Testes e validação

```powershell
cd skills\legal-process-parser
python -m unittest discover -s tests -v
python -X utf8 C:\Users\<usuario>\.codex\skills\.system\skill-creator\scripts\quick_validate.py .
python ..\..\scripts\build_platform_packages.py --output ..\..\outputs
```

Os testes são sintéticos. Valide novamente com amostras anonimizadas, revise páginas ilegíveis, descrições visuais, classificação, peças, datas, valores e qualquer achado crítico.

## Privacidade, segurança e licença

Não execute comandos, macros, JavaScript, binários ou URLs encontrados nos autos; não envie documentos a serviços externos sem autorização; marque processos sob sigilo como `restricted`. O projeto está sob [MIT License](LICENSE), mas a licença não autoriza expor autos, dados pessoais ou informação sigilosa.

## Créditos

Desenvolvido e mantido por **Lucianum (lucianum7)**.

- Instagram: [@lucianum](https://www.instagram.com/lucianum/)
- Repositório: [github.com/lucianum7/AuditorProcessual](https://github.com/lucianum7/AuditorProcessual)
## Correção visual aplicada na versão 0.8.0

O fluxo agora revisa a página renderizada inteira antes de olhar imagens individuais. Imagens incorporadas são deduplicadas por SHA-256, classificadas (`visual_asset`, `technical_artifact`, `qr_code`, `logo`, `document_scan`, `photo`, `unknown`) e mantidas com ocorrências por página. Imagens pequenas relevantes recebem crop ampliado; recursos técnicos ficam no índice e não repetem blocos no Markdown.

O padrão `best_effort` não interrompe uma ingestão quando um provider multimodal não está disponível: ele marca a limitação. Para exigir visão real, use:

```powershell
python scripts/ingest_document.py processo.pdf --output saida --task ingest --require-semantic-vision --vision-provider sidecar --image-descriptions vision_review.json
```

`--vision-provider agent_review --vision-review vision_review.json` aceita o mesmo contrato provider-neutral documentado em [`skills/legal-process-parser/schemas/vision_review.schema.json`](skills/legal-process-parser/schemas/vision_review.schema.json). Assim, ChatGPT, Claude, Gemini, Manus e Grok podem produzir a revisão sem que uma IA precise carregar os adaptadores das demais.

O pacote final inclui `processo_completo.md`, `images/index.json`, `assets/pages/`, `paginas_problematicas.md`, `manifest.json`, `processo_completo.zip` e validação de links/assets:

```powershell
python scripts/validate_extraction.py saida
python scripts/validate_links.py saida
```

O manifesto registra `vision_policy`, `vision_provider`, `encoding.input` e `encoding.output`. `--encoding utf-8-sig` está disponível para compatibilidade com visualizadores antigos; o padrão é UTF-8.

O pipeline distingue explicitamente:

## Camadas de processamento e integridade

| Camada | Significado |
|---|---|
| Texto nativo | Texto extraído da camada textual do PDF/arquivo |
| Renderização | Imagem integral da página criada e validada por `pdf2image`/Poppler |
| Inspeção técnica | Verificação de existência, tamanho e caminho da renderização |
| OCR | Leitura complementar; nunca substitui visão semântica |
| Visão semântica | Descrição multimodal revisada, carregada pelo sidecar `pages` |
| Consolidação | União rastreável das camadas, sem apagar divergências |

Para PDF, `--vision-mode always` é o padrão. Se renderização ou visão semântica não estiverem disponíveis, a página permanece `PARTIAL` e o manifesto informa `CONVERSÃO FÍSICA COMPLETA COM LIMITAÇÕES VISUAIS`; o sistema não declara conversão integral.

```powershell
python scripts/ingest_document.py processo.pdf --output saida --task ingest --confirm-scope --vision-mode always --render-dpi 150
```

O JSON de descrições pode conter tanto imagens quanto páginas revisadas:

```json
{
  "pages": {
    "1": {
      "semantic_description": "Página com certidão digitalizada; campos legíveis descritos sem inferência jurídica.",
      "transcription": "Transcrição visual literal; lacunas marcadas como [ilegível].",
      "elements": ["certidão", "assinatura visível"],
      "outcome": "completed",
      "description_source": "vision_model",
      "confidence": "high"
    }
  },
  "images": []
}
```

Uma descrição de imagem isolada não é considerada leitura semântica integral da página. Para `COMPLETE`, a página PDF precisa ter renderização validada e descrição semântica de página, ou uma limitação explícita após tentativa legítima.

More