Skip to content

Adaptadores de descoberta, estimativa de cobertura e exemplo do AtlasPen - #2

Merged
luccas-amorim merged 7 commits into
mainfrom
claude/busy-einstein-u4i274
Oct 4, 2026
Merged

luccas-amorim merged 7 commits into
mainfrom
claude/busy-einstein-u4i274

Conversation

@luccas-amorim

Copy link
Copy Markdown
Owner

O #1 foi mergeado logo depois de aberto; estes sete commits chegaram ao branch depois e ficaram de fora da main. Rebaseados sobre a main atual, sem outra mudança.

O que entra

Adaptadores

Fonte
lista tabela HTML que muda devagar (teses de repercussão geral, súmulas); linha alterada ganha id novo
wayback servidor CDX por domínio, filtro no endereço, paginação por resumeKey, texto da cópia arquivada
openalex produção acadêmica; chave por OPENALEX_API_KEY; decide por título e resumo, e diz isso
gdelt notícias na janela de 90 dias; dia cheio repartido em faixas de 6 h

argos estimar: captura e recaptura entre canais (Chapman par a par, Chao como piso) e curva de acumulação. Canal é o prefixo do id da fonte (domínios do Wayback são um canal só); só canais do mesmo estrato se comparam; --desde alinha no tempo.

Léxico: reticências nas formas. art. 121 … Código Penal casa art. 121, § 2º, inc. IV, do Código Penal: até 60 caracteres, sem atravessar ponto e vírgula nem quebra de linha, com fronteira de palavra nas pontas.

exemplos/atlaspen/: gerador de léxico a partir de crimes.json e diplomas.json e mapa de volta aos registros, como relatório. Lê um clone do AtlasPen e não escreve nele. Testes contra um recorte real dos dados (CC BY 4.0); com ATLASPEN_DIR, contra o catálogo inteiro (1.531 de 1.531 registros alcançáveis por citação).

Docs: docs/jurisprudencia.md e docs/stf.md (planos, com o AtlasPen só lido), docs/precatorios.md (cenários para decidir a expansão), docs/carandiru.md aponta para o observatory.

Como conferir

pip install -e ".[dev]"
ruff check . && ruff format --check . && pytest -q

🤖 Generated with Claude Code

https://claude.ai/code/session_01Nztke5ztyPC5aFNL3kqbsB


Generated by Claude Code

claude added 7 commits October 4, 2026 05:24
- lista: tabela HTML que muda devagar (teses de repercussão geral,
  súmulas). O id é o número mais o hash da linha: linha alterada volta a
  ser lida.
- wayback: servidor CDX por domínio, filtro por regex no endereço,
  paginação por resumeKey; texto da cópia arquivada (modo id_).
- openalex: busca acadêmica com cursor; decide por título e resumo, e diz
  isso. Chave por OPENALEX_API_KEY; nenhum dado de quem roda é enviado.
- gdelt: notícias, um dia por vez na janela móvel de 90 dias; dia cheio
  (250) é repartido em faixas de seis horas.
- estimar: captura e recaptura entre canais (Chapman par a par, Chao
  como piso) e curva de acumulação, a partir dos itens.jsonl das rodadas.
- documento_html e pagina_integra saem do rss para serem compartilhados.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nztke5ztyPC5aFNL3kqbsB
…tory

- estimar agrupa fontes pelo prefixo do id (wayback:folha e
  wayback:estadao são um canal só): domínios disjuntos tratados como
  canais separados inflavam a estimativa.
- Estratos: cada fonte declara "estrato" na configuração e só canais do
  mesmo estrato se comparam; --desde alinha no tempo (o GDELT só cobre
  três meses).
- docs/carandiru.md vira ponteiro para o repositório observatory.
- Fixture: a matéria sintética atribuía o indulto de 2022 a uma lei
  estadual; foi um decreto presidencial. Corrigido, e retirada a
  afirmação sobre o STF que não estava conferida.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nztke5ztyPC5aFNL3kqbsB
"art. 121 … Código Penal" casa "art. 121, § 2º, inc. IV, do Código
Penal": até 60 caracteres, sem atravessar ponto e vírgula nem quebra de
linha, com fronteira de palavra nas duas pontas (não casa "art. 1210").
Vale também nas exclusões, o que separa o CP do CPM.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nztke5ztyPC5aFNL3kqbsB
Quatro cenários (a fila do cliente, o ente que não paga, as planilhas
gigantes, a fila como mercado), com fonte, saída e o que exigiriam; o
quarto fica fora por política. Recomenda começar pelo menor de ponta a
ponta e deixar o domínio num repositório próprio.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nztke5ztyPC5aFNL3kqbsB
O AtlasPen é consultado, não editado. Os planos voltam para docs/, sem
links para arquivos que não vão existir lá, e dizem onde o gerador de
léxico está: escrito, testado e sem casa até a decisão de onde mora.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nztke5ztyPC5aFNL3kqbsB
exemplos/atlaspen/ lê um clone do AtlasPen (--atlaspen ou ATLASPEN_DIR)
e não escreve nele. lexico.py gera o léxico do Argos a partir de
crimes.json e diplomas.json; mapear.py leva a rodada de volta aos
registros, como relatório. Testes contra um recorte real dos dados
(CC BY 4.0) e, com ATLASPEN_DIR, contra o catálogo inteiro: 1.531 de
1.531 registros alcançáveis por citação.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nztke5ztyPC5aFNL3kqbsB
@luccas-amorim
luccas-amorim merged commit ee98e53 into main Oct 4, 2026
6 checks passed
@luccas-amorim
luccas-amorim deleted the claude/busy-einstein-u4i274 branch October 4, 2026 05:26
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