Pular para o conteúdo

Roadmap

Para onde o Douto esta indo — da estabilizacao do pipeline ate a integracao completa com o sens.legal.

O Douto sera o backend de conhecimento doutrinario do ecossistema sens.legal. Quando maduro, ele vai:

  • Processar livros juridicos de forma autonoma (PDF para chunks para embeddings)
  • Manter um skill graph navegavel organizado por area do direito
  • Expor conhecimento doutrinario via MCP/API para que Valter, Juca e Leci consultem em tempo real
  • Apoiar briefings, analises de risco e minutas com referencias doutrinarias autoritativas

O corpus atual contem ~50 livros e ~31.500 chunks nas areas de direito civil, processo civil e direito empresarial.

CategoriaQtdeDetalhes
Implementado18F01-F18: pipeline completo (PDF ate busca), skill graph, 4 MOCs, idempotencia, logging, dry-run
Em andamento3F19 (MOC Consumidor), F20 (padronizacao de env vars), F21 (notas atomicas)
Planejado11F22-F32: correcao de paths, utils.py, testes, MOCs, README, Makefile, linting, MCP
Ideias10F33-F42: integracao Neo4j, cross-references, Docker, CI/CD, eval set
Decisoes pendentes7D01-D07: protocolo de integracao, repo vs. modulo, tracking, escolha de modelo
Cobertura de testes0%Sem framework de testes, sem testes
  • Pipeline completo: process_books.py -> rechunk_v3.py -> enrich_chunks.py -> embed_doutrina.py -> search_doutrina_v2.py
  • Busca hibrida (semantica + BM25) com filtros de metadados
  • CLI interativo de busca com comandos /area, /filtro, /verbose
  • 4 MOCs populados: Civil (35 livros), Processual (8 livros), Empresarial (7 livros), Consumidor (placeholder)
  • Metadados de enriquecimento estruturados: instituto, tipo_conteudo, ramo, fase, fontes_normativas
  • O pipeline so roda na maquina do criador (paths hardcoded)
  • Sem testes automatizados
  • Sem integracao em tempo real com o ecossistema sens.legal (apenas arquivos JSON)
  • 4 dos 8 MOCs nao existem como arquivos (Tributario, Constitucional, Compliance, Sucessoes)
  • enrich_prompt.md esta ausente do repositorio (impossivel enriquecer novos chunks)
  • Versoes de dependencias nao estao pinadas
MilestoneNomeEntrega principalStatus
v0.2Pipeline EstavelRoda em qualquer maquinaPlanejado
v0.2.5Validacao de DadosQuality gate de metadados (>= 85%)Proposto (pos-PREMORTEM)
v0.3Qualidade & CoberturaTestes, MOCs, docs, lintingPlanejado
v0.3.5Sintese DoutrinariaMotor de SinteseProposto
v0.4Integracao sens.legalServidor MCPPlanejado
v0.5Knowledge Graph & AutomacaoNotas atomicas, eval set, CI/CDPlanejado
v0.6Ontologia JuridicaGrafo de conceitosProposto
v1.0Plataforma IntegradaIntegracao completa com ecossistemaPlanejado

Veja Milestones para o detalhamento de cada um.

v0.2 Pipeline Estavel
|
v
v0.2.5 Validacao de Dados <-- Checkpoint proposto
| - Validar 200 chunks
| - Criar eval set
| - Validacao de schema
| - Gate: precisao >= 85%?
v
v0.3 Qualidade & Cobertura (testes, MOCs, docs)
|
v
v0.3.5 Sintese Doutrinaria (se quality gate passou)
|
v
v0.4 Integracao sens.legal (servidor MCP)
|
v
v0.5 Knowledge Graph & Automacao
|
v
v0.6 Ontologia Juridica (proposto)
|
v
v1.0 Plataforma Integrada

Sete decisoes arquiteturais permanecem em aberto. Duas delas (D01 e D02) bloqueiam completamente o milestone v0.4.

#PerguntaImpactoBloqueia
D01Protocolo de integracao: MCP stdio, MCP HTTP/SSE, REST ou manter JSON files?Define a arquitetura de longo prazov0.4
D02Servico independente ou modulo do Valter?Identidade do Douto como servicov0.4
D03Notas atomicas: geradas automaticamente ou curadas manualmente?Trade-off volume vs. qualidadev0.5
D04Tracking de issues: Linear (SEN-XXX) ou GitHub Issues?Workflow de contribuicao
D05Schema doutrinario no Neo4j?Integracao com knowledge graphv1.0
D06Manter MiniMax M2.5 ou migrar modelo de enriquecimento?Custo, qualidade, dependencia
D07As prioridades inferidas estao corretas?O roadmap inteiro pode ser reordenadoTodos

Veja Decisoes de Arquitetura para analise detalhada de cada opcao.

Os 5 principais riscos da analise PREMORTEM, ordenados por probabilidade:

Probabilidade: Alta | Desenvolvedor solo mantendo 5 repositorios (Valter, Juca, Leci, Joseph, Douto). Valter e Juca atendem clientes e provavelmente tem prioridade. O Douto pode ficar 6+ meses sem commits, perdendo contexto e momentum.

Probabilidade: Alta | Os metadados de enriquecimento nunca foram validados contra julgamento humano. Se 30-40% das classificacoes de instituto e tipo_conteudo estiverem erradas, a busca filtrada retorna lixo e qualquer feature de sintese amplifica os erros. Nao existe eval set para medir isso.

Probabilidade: Alta | enrich_prompt.md esta ausente. Versoes de dependencias nao estao pinadas. Se o corpus precisar de reprocessamento (novo modelo, bug fix, novo dominio), o resultado sera diferente do original. Dois datasets inconsistentes sem como voltar ao estado anterior.

Probabilidade: Media | Se o Valter precisar de doutrina antes do v0.4, a equipe pode construir valter/stores/doutrina/ com Qdrant (ja disponivel). Uma vez que o Valter tenha um modulo de doutrina “bom o suficiente”, integrar o Douto fica mais dificil de justificar do que reescrever.

Probabilidade: Certa | Embeddings armazenados como JSON puro (~2 GB para 31.500 chunks). BM25 recalcula frequencias de documentos a cada consulta. Tempo de carga em segundos. Adicionar mais 50 livros dobra tudo. Inutilizavel como ferramenta MCP com essa latencia.

Para a analise completa incluindo 14 riscos tecnicos, 5 riscos de produto, 4 riscos de execucao e 7 edge cases, veja PREMORTEM.md na raiz do repositorio.

#FeatureScript/Arquivo
F01Extracao de PDF via LlamaParseprocess_books.py
F02Chunking juridico inteligente v3rechunk_v3.py
F03Enriquecimento de chunks via MiniMax M2.5enrich_chunks.py
F04Geracao de embeddings (Legal-BERTimbau 768-dim)embed_doutrina.py
F05Busca hibrida (semantica + BM25 + filtros)search_doutrina_v2.py
F06Suporte a busca multi-areasearch_doutrina_v2.py
F07CLI interativo de buscasearch_doutrina_v2.py
F08INDEX do skill graphINDEX_DOUTO.md
F09MOC Direito Civil (35 livros)MOC_CIVIL.md
F10MOC Processual Civil (8 livros)MOC_PROCESSUAL.md
F11MOC Empresarial (7 livros)MOC_EMPRESARIAL.md
F12Idempotencia do pipelineTodos os scripts
F13Logging estruturado (JSONL)Todos os scripts
F14Dry-run em todos os scriptsTodos os scripts
F15Frontmatter YAML padronizadoTodos os scripts
F16AGENTS.mdAGENTS.md
F17CLAUDE.mdCLAUDE.md
F18PROJECT_MAP.mdPROJECT_MAP.md

Veja Milestones para saber a qual milestone cada feature pertence.

#FeaturePrioridadeMilestone
F22Padronizar paths (eliminar hardcodes)P0v0.2
F23Extrair pipeline/utils.pyP1v0.2
F24Pinar versoes de dependenciasP1v0.2
F25Criar MOCs ausentes (4 MOCs)P1v0.3
F26Testes para rechunk_v3.pyP1v0.3
F27Testes para funcoes utilitariasP2v0.3
F28README completoP2v0.3
F29Protocolo de integracao Douto -> ValterP1v0.4
F30Servidor MCP para doutrinaP1v0.4
F31Makefile para orquestracao do pipelineP2v0.3
F32Linting com ruffP2v0.3