Pipeline local para inventariar, normalizar, identificar e converter em Markdown os documentos da pasta:
DRIVE DO EDUARDO BELISÁRIO - atualização em 24-07-2026/
└── Legislação Grifada e Anotada - atualiz. em 24-07-2026/
O ZIP inteiro é auditado, mas somente essa pasta entra no mapeamento e na conversão. No inventário atual, isso corresponde a 1.239 documentos elegíveis: 1.107 DOCX, 107 PDF, 22 DOC e 3 RTF. Dois arquivos TMP e 18 documentos elegíveis fora do escopo são excluídos da conversão.
Requisitos:
- Python 3.11+;
uv;- Node.js 20+ e
npx.
uv sync --locked
uv run pytest -qO conversor é a skill convert-documents-to-markdown, executada por:
npx -y @firecrawl/anydoc ARQUIVO_TEMPORARIO -o ARQUIVO_MARKDOWNNa primeira execução, o npx pode baixar o pacote anydoc. PDFs escaneados ou
somente imagem não recebem OCR no modo local.
Gere ou regenere os metadados com:
uv run python main.pyEsse comando não converte documentos. Ele valida o inventário contra o ZIP, cria as 18 pastas de área e gera:
mapeamento-belisario.json— registro completo dos 1.239 documentos em escopo;ids-belisario.json— visão compacta dos IDs e hashes;relatorio-inventario.json— contagens, divergências, exclusões e classificações.relatorio-falhas.md— motivo consolidado dos documentos que não foram convertidos; esses casos não são corrigidos automaticamente.
Cada documento tem um document_id estável, baseado no caminho interno
canônico do ZIP, e um content_sha256, que identifica a versão dos bytes. O
ID não depende do nome normalizado nem da área, para continuar válido quando a
organização evoluir.
O padrão converte apenas um documento como smoke test e não sobrescreve saída:
uv run python convert_belisario.py --limit 1Para testar uma área:
uv run python convert_belisario.py --area Administrativo --limit 3Para converter todos os 1.239 documentos em escopo:
uv run python convert_belisario.py --limit 0Use --force somente quando quiser substituir Markdown já existente. O
relatório incremental fica em relatorio-conversao.jsonl. Cada Markdown
recebe front matter com document_id, caminho original, nome normalizado, área
e content_sha256.
Na execução atual, os não-sucessos foram documentados sem reprocessamento:
quatro falhas do parser (max_xml_nodes ou trailer PDF inválido) e cinco PDFs
escaneados que exigem OCR.
- O pipeline não executa OCR.
- O pipeline não cria chunks, embeddings ou índice RAG ainda.
- Documentos fora da pasta
Legislação Grifada e Anotada - atualiz. em 24-07-2026permanecem no relatório comoout_of_scope. - Classificações ambíguas ficam em
17-Material-Apoioe são registradas no relatório.
Consulte docs/README.md para a operação reproduzível, o
contrato de dados/IDs e as falhas e decisões de escopo registradas.