Back to the catalog

franklinbaldo/leizilla · docs/okf

Conhecimento operacional do pipeline Leizilla — regras, convenções e contratos entre módulos.

Open source Repository Open in the app JSON README (API)

About

Bundle de conhecimento do Leizilla. Cada arquivo descreve um conceito operacional.

## Pipeline

- [Visão geral do pipeline](pipeline/overview.md) — 6 etapas, entradas e saídas
- [Discover](pipeline/discover.md) — estratégias de descoberta de URLs
- [Scrape](pipeline/scrape.md) — download + upload raw para o IA
- [Parse](pipeline/parse.md) — OCR → LLM → Leizilla XML
- [Consolidate](pipeline/consolidate.md) — IA → DuckDB local
- [Release Dataset](pipeline/release-dataset.md) — DuckDB → Parquet no IA

## Storage

- [Internet Archive](storage/internet-archive.md) — pilar central de armazenamento
- [Range Buckets](storage/range-buckets.md) — agrupamento de PDFs em lotes de 1000
- [DuckDB local](storage/duckdb.md) — staging local; não é source of truth

## Convenções de Nomeação

- [Identificadores IA](naming/identifiers.md) — lógico vs. físico, padrões por tipo
- [Chaves de documento](naming/chaves.md) — mapeamento prefixo → tipo + chave
- [Resolução de URL](naming/url-resolution.md) — loo

Details

Kind
OKF bundles
Topic
Government & public data
Publisher
franklinbaldo
Origin
okf_github
Category
dados
Version
0.1
Stars
1
Open pull requests
5
Last push
2026-09-06T19:57:02Z
Repository state
ativo
Language
Python
License
MIT
Added
2026-09-09 05:03:59
Updated
2026-09-09 05:03:59
Origin id
franklinbaldo/leizilla:docs/okf/index.md

README

# 🦖 **Leizilla**

> **O dinossauro que devora PDFs jurídicos e cospe dados abertos.**

Leizilla é um projeto de indexação de legislação brasileira, começando por Rondônia. O objetivo é transformar fontes oficiais e documentos preservados em um acervo pesquisável, auditável e reutilizável — com publicação estática, sem backend de aplicação para manter.

## 🌐 Usar o Leizilla

- **Portal público:** https://franklinbaldo.github.io/leizilla/
- **Dataset Rondônia v0 no Internet Archive:** https://archive.org/details/leizilla-dataset-ro-v0
- **Parquet usado pelo próprio portal:** https://archive.org/download/leizilla-dataset-ro-v0/versoes.parquet
- **Metadados da release:** https://archive.org/download/leizilla-dataset-ro-v0/dataset_meta.json

O portal consulta o Parquet diretamente no navegador com DuckDB-WASM. A página de dados também mostra uma consulta mínima reproduzível para testar o mesmo artefato fora do site.

## ✅ Estado atual

O primeiro dataset público de Rondônia (**RO v0**) já foi publicado no Internet Archive e o frontend está apontando para esse artefato.

Isso significa **dataset publicado**, não **cobertura completa de Rondônia**. A cobertura ainda é incremental: o pipeline continua ampliando e conferindo as fontes, e o roadmap mantém como próximo marco a cobertura estadual mais completa e releases recorrentes.

Hoje o projeto já possui:

- portal Astro/Svelte estático com busca e navegação sobre o dataset;
- DuckDB-WASM no cliente, lendo o Parquet público diretamente;
- páginas de lei, cobertura e evidências/proveniência;
- pipeline de descoberta, coleta, parse/ETL e publicação;
- preservação de documentos e artefatos no Internet Archive;
- exportação de dados estruturados e metadados de release;
- CLI Python para operações locais e de desenvolvimento;
- workflows de CI, coleta, release e deploy.

## 🔄 Como os dados chegam ao portal

A cadeia pública é, em linhas gerais:

```text
fontes oficiais
    ↓
descoberta e coleta
    ↓
documentos preservados / evidências
    ↓
parse + ETL
    ↓
dataset versionado no Internet Archive
    ↓
Parquet + dataset_meta.json
    ↓
portal estático / DuckDB-WASM
```

O portal não mantém uma cópia privada dos dados: o Parquet público é o artefato consultado pela interface e pode ser reutilizado independentemente.

## 🔎 Consultar o dataset fora do site

Com DuckDB instalado, uma verificação mínima é:

```sql
SELECT count(*)
FROM read_parquet(
  'https://archive.org/download/leizilla-dataset-ro-v0/versoes.parquet'
);
```

Para conferir a release, compare o resultado e os demais dados do artefato com `dataset_meta.json`, que registra metadados como contagem, hash e revisão de origem quando disponíveis.

## 🛠️ Desenvolvimento local

O projeto usa Python 3.12+ e `uv`.

```bash
git clone https://github.com/franklinbaldo/leizilla.git
cd leizilla
uv sync --dev
uv run leizilla --help
```

Alguns comandos disponíveis no CLI:

```bash
# descobrir documentos
uv run leizilla discover --origem rondonia --start-coddoc 1 --end-coddoc 10

# baixar documentos descobertos
uv run leizilla download --origem rondonia --limit 5

# consultar estatísticas locais
uv run leizilla stats

# buscar no banco local
uv run leizilla search --text "lei complementar"
```

Para desenvolvimento e operação, leia também [CLAUDE.md](CLAUDE.md), [CONTRIBUTING.md](CONTRIBUTING.md) e as decisões em [`docs/`](docs/).

## 🧱 Stack

| Domínio | Ferramenta / serviço |
| --- | --- |
| Linguagem | Python 3.12 |
| Portal | Astro + Svelte |
| Consulta no navegador | DuckDB-WASM |
| ETL / armazenamento local | DuckDB |
| Coleta | Playwright + AnyIO |
| Preservação / distribuição | Internet Archive |
| Dados publicados | Parquet + metadados de release |
| Automação | GitHub Actions |
| Dependências Python | uv |
| Qualidade | Ruff + mypy + testes |

## 🗺 Roadmap

O roadmap foi re-baselineado pela [RFC-0004](docs/rfc/0004-go-live-rondonia.md); a governança documental está na [RFC-0002](docs/rfc/0002-governanca-documental.md).

| Período | Entregável | Estado |
| --- | --- | --- |
| **Q3 / 2026** | Go-live do dataset RO v0 + frontend apontando para ele | ✅ Publicado; cobertura segue incremental |
| **Q4 / 2026** | Cobertura RO mais completa + releases recorrentes | 📋 Planejado |
| **Q1 / 2027** | Federal (Planalto 1988–presente) | 📋 Planejado |
| **Q2 / 2027** | Busca semântica + novo ente | 📋 Planejado |

O estado de publicação e o estado de cobertura são coisas diferentes: uma release pública pode existir enquanto a coleta e a reconciliação das fontes continuam avançando.

## 🔗 Projeto-irmão

O [CausaGanha](https://github.com/franklinbaldo/causaganha) compartilha com o Leizilla interesses em preservação, dados públicos e infraestrutura verificável, mas os dois projetos têm domínios e produtos próprios.

## Licença

- **Código:** MIT
- **Dados legais:** domínio público

> _Leizilla saiu da fase filhote — já tem um dataset público para devorar junto._ 🦖⚖️

More