Skip to content

feat: usar TOON no contexto JSON injetado nos prompts de geração (precedent + skill_router) #85

Description

@wesleysimplicio

Contexto

Padrão do ecossistema: sempre que um payload JSON for enviado a qualquer LLM, converter para TOON (Token-Oriented Object Notation). TOON é lossless e reduz ~40% dos tokens em arrays uniformes de objetos, mantendo ou melhorando a acurácia de retrieval (benchmark oficial).

O dev-cli monta prompts afiados via precedent + skill_router e injeta contexto estruturado (payloads em simplicio/cli.py, cache em simplicio/_cache.py, fluxo simplicio-py task). Listas de precedentes, símbolos e arquivos são arrays uniformes — sweet spot do TOON.

Proposta

  • Helper to_toon(data) (lib Python do TOON ou implementação interna) com fallback para JSON compacto quando a estrutura for aninhada/não uniforme.
  • Migrar os pontos onde json.dumps alimenta conteúdo de prompt do executor (precedent index, contexto de task, resultados intermediários).
  • Saídas --json destinadas a parsing programático continuam JSON; apenas o que entra em prompt de LLM vira TOON.

Critérios de Aceitação

  • Contexto de precedent/skill_router embutido em prompt emitido em TOON com round-trip lossless testado
  • Fallback JSON compacto para estruturas não uniformes, decisão logada
  • Benchmark de tokens antes/depois em pelo menos 1 task real do bench/
  • Flag de configuração para desativar
  • ruff + unit tests verdes

Fora de escopo

  • Corpo wire dos requests HTTP às APIs de LLM (o protocolo continua JSON); TOON aplica-se ao conteúdo de dados dentro do prompt.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions